Language specifications

First we specify the syntax of Exp with the Metal formalism. Compiling this specification produces an abstract syntax (formalism) definition, a parser, and tree building functions which the parser uses to construct Vtp abstract syntax trees from syntactically correct programs. All parsers generated from Metal specifications are external processes that communicate with Centaur.

Next we specify the pretty printer with Ppml, which we compile to produce an incremental tree formatter.

Finally, we specify an evaluator for Exp in Typol, which is compiled into a prolog program. The evaluator reads an Exp program and evaluates it in an environment consisting of variable-value pairs. The evaluator returns a modified environment.


Tutorial