summaryrefslogtreecommitdiff
path: root/books/workshops/2004/ruiz-et-al/support/dag-quadratic-C/dags.h
blob: 082139fb8d1c5a5803f5d347545ef2949196038a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/// C implementation of the Q-dag-unification algorithm
/// Author: ChesKo (fjesus@us.es)
///****************************************************************************

#include <stdio.h>
#include "lists.h"
#include "terms.h"

///****************************************************************************
/// DAG
///****************************************************************************

typedef struct dagcell {
  int stamp;
  int dagcelltype;    // 0 - direction, 1 - variable, 2 - function
  int direction;
  char symbol[5];
  Intlist *args;
} DagCell;

///****************************************************************************
/// Print function
///****************************************************************************

void print_dag (DagCell *, int);

///****************************************************************************
/// Terms to DAG representation
///****************************************************************************

int term_as_dag_st_aux (Term *, DagCell *, int, Varlist **);

///****************************************************************************