#include "symbol.hh"
#include "node.hh"
#include <vector>
#include <map>
#include <assert.h>
Go to the source code of this file.
Classes | |
| class | CTree |
| A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches. More... | |
Functions | |
| int | tree2int (Tree t) |
| if t has a node of type int, return it otherwise error | |
| float | tree2float (Tree t) |
| if t has a node of type float, return it otherwise error | |
| const char * | tree2str (Tree t) |
| if t has a node of type symbol, return its name otherwise error | |
| void * | tree2ptr (Tree t) |
| if t has a node of type ptr, return it otherwise error | |
| void * | getUserData (Tree t) |
| if t has a node of type symbol, return the associated user data | |
| Tree | rec (Tree body) |
| create a de Bruijn recursive tree | |
| Tree | rec (Tree id, Tree body) |
| create a symbolic recursive tree | |
| bool | isRec (Tree t, Tree &body) |
| is t a de Bruijn recursive tree | |
| bool | isRec (Tree t, Tree &id, Tree &body) |
| is t a symbolic recursive tree | |
| Tree | ref (int level) |
| create a de Bruijn recursive reference | |
| Tree | ref (Tree id) |
| create a symbolic recursive reference | |
| bool | isRef (Tree t, int &level) |
| is t a de Bruijn recursive reference | |
| bool | isRef (Tree t, Tree &id) |
| is t a symbolic recursive reference | |
| bool | isOpen (Tree t) |
| t contains free de Bruijn references | |
| bool | isClosed (Tree t) |
| t dont contain free de Bruijn ref | |
A tree library with hashconsing and maximal sharing capabilities.
API:
If p and q are two CTree pointers : p != q <=> *p != *q
Definition in file tree.hh.
1.5.9