tree.hh File Reference

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


Detailed Description

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.


Generated on Sat Jul 25 12:28:16 2009 for FAUST compiler by  doxygen 1.5.9