* Bottomup rewrite function.

This commit is contained in:
Eelco Dolstra 2003-10-30 16:11:24 +00:00
parent 442b09ea33
commit e537844f4e
2 changed files with 60 additions and 0 deletions

27
src/fix-ng/fix-expr.hh Normal file
View file

@ -0,0 +1,27 @@
#ifndef __FIXEXPR_H
#define __FIXEXPR_H
#include <aterm2.h>
#include "util.hh"
/* Fix expressions are represented as ATerms. The maximal sharing
property of the ATerm library allows us to implement caching of
normals forms efficiently. */
typedef ATerm Expr;
/* Generic bottomup traversal over ATerms. The traversal first
recursively descends into subterms, and then applies the given term
function to the resulting term. */
struct TermFun
{
virtual ATerm operator () (ATerm e) = 0;
};
ATerm bottomupRewrite(TermFun & f, ATerm e);
#endif /* !__FIXEXPR_H */