Canonical Abstract Syntax Trees
<|reference_start|>Canonical Abstract Syntax Trees: This paper presents Gom, a language for describing abstract syntax trees and generating a Java implementation for those trees. Gom includes features allowing the user to specify and modify the interface of the data structure. These features provide in particular the capability to maintain the internal representation of data in canonical form with respect to a rewrite system. This explicitly guarantees that the client program only manipulates normal forms for this rewrite system, a feature which is only implicitly used in many implementations.<|reference_end|>
@article{reilles2006canonical,
    title={Canonical Abstract Syntax Trees},
    author={Antoine Reilles (INRIA Lorraine - LORIA)},
    journal={Dans Workshop on Rewriting Techniques and Applications (2006)},
    year={2006},
    archivePrefix={arXiv},
    eprint={cs/0601019},
    primaryClass={cs.PL}
}