It reuses and adapts some concepts and libraries from FractalADL. In particular, the intermediate representation (AST) is build with the ast-core tool, while the structure of the AST is slightly different with the classical AST structure used in FractalADL.
The architecture of the front-end is based on a chain of Loader components that derive on sub-chains to handle particular aspects of the language.
An original feature of this front-end is the support for binary ADL. It allows to store checked ADL in a binary file (using the serialization of the AST) and to increase load performances of already checked definition.
The overall architecture of the ADL front-end is depicted in the following figure [pdf]:
Instances of the ADL front-end can be retrieved using the Factory utility class.