libfrontend-elements consists of the following elements:
Context is essentially a heterogeneous map of names to instances of arbitrary types. It is primarily used to allow arbitrary annotations of semantic graph nodes and edges, which are often useful during code generation.
Diagnostic framework allows to implement consistent and extensible compiler diagnostic without incurring significant notational burden.
TokenStream
is a generic interface which is usually
implemented by a lexical analyzer.
Traversal is a significant enhancement of a well-known visitor idiom which is often used to traverse semantic graphs.