cuex/occurtree.h: Caching of Variable Occurences
[cuex: Expressions]

Data Structures

struct  cuex_occurtree


cuex_occurtree_t cuex_folded_occurtree (cuex_t e, cu_bool_t force_comm)
cuex_occurtree_t cuex_unfolded_occurtree (cuex_t e, cu_bool_t force_comm)
cuex_t cuex_occurtree_expr (cuex_occurtree_t tree)
cuex_occurtree_t cuex_occurtree_at (cuex_occurtree_t tree, cu_rank_t i)
cu_bool_t cuex_occurtree_is_closed (cuex_occurtree_t tree)
cu_bool_t cuex_occurtree_is_muclosed (cuex_occurtree_t tree)
cucon_ucset_t cuex_occurtree_free_vars (cuex_occurtree_t tree)
cuex_occurtree_t cuex_occurtree_prune_mu (cuex_occurtree_t tree, cuex_opview_t view)
void cuex_occurtree_dump (cuex_occurtree_t tree, FILE *out)

Function Documentation

cuex_occurtree_t cuex_folded_occurtree ( cuex_t  e,
cu_bool_t  force_comm 

Returns an occurtree treating μ-variables like regular variables. If force_comm, then use commutative iteration for all compounds.

cuex_occurtree_t cuex_occurtree_at ( cuex_occurtree_t  tree,
cu_rank_t  i 

Returns occurtree for subexpression number i under tree.

void cuex_occurtree_dump ( cuex_occurtree_t  tree,
FILE *  out 

Debug printout of tree.

cuex_t cuex_occurtree_expr ( cuex_occurtree_t  tree  ) 

The expression from which tree was created.

cucon_ucset_t cuex_occurtree_free_vars ( cuex_occurtree_t  tree  ) 

Returns the set of free variables in tree.

cu_bool_t cuex_occurtree_is_closed ( cuex_occurtree_t  tree  ) 

True iff tree has no free variables.

cu_bool_t cuex_occurtree_is_muclosed ( cuex_occurtree_t  tree  ) 

True iff tree has no free μ-variables.

cuex_occurtree_t cuex_occurtree_prune_mu ( cuex_occurtree_t  tree,
cuex_opview_t  view 

Remove unused μ-binding sites from tree and return the new root. This destructs tree in the process.

cuex_occurtree_t cuex_unfolded_occurtree ( cuex_t  e,
cu_bool_t  force_comm 

Returns an occurtree where a free μ-variable also implies all variables which are free in the corresponding μ-bind. If force_comm, then use the commutative iteration for all compounds.

Generated 2009-11-23 for culibs-0.25 using Doxygen. Maintained by Petter Urkedal.