A tree library with hashconsing and maximal sharing capabilities. More...
#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.
A tree library with hashconsing and maximal sharing capabilities.
API:
Useful conversions :
Pattern matching :
Accessors :
Attributs :
Properties:
If p and q are two CTree pointers : p != q <=> *p != *q
Definition in file tree.hh.