This module contains a set of components that can be assemble to build a compiler front-end for the ADL language of the Mind programming model.

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.