This library defines standard classes that allow the representation of any Common Lisp form as an abstract syntax tree (AST).
This library does not depend on any other library, but it uses standard classes and generic functions, so CLOS is required.
Currently maintained by Robert Strandh
AST classses contain information about the cardinality of its children, where "1" means a single AST child, "?" means either NIL or a single AST child, and "*" means a list of AST children. However, there are slots in AST classes that represent cross-links in the AST "tree", and there are cases where such links should not be traversed. One possible improvement would be to define a new cardinality, say "0", to indicate such links.