Freon Documentation (version 0.5.0)

The Editor Definition

The editor definition is the definition of the concrete syntax of the language. It is used for the generation of the editor, as well as the generation of the parser and unparser. The concrete syntax given in the editor definition is also used to produce better readable error messages by the validator.

Three-level definition

As explained in Three Levels of Customization the generated editor can be defined at three levels. For each concept in the AST the editor will

  1. use the hand-made projection, when this is present. Otherwise, the editor will
  2. use to the projection generated from the editor definition, when this definition is present. Finally, the editor will
  3. use the default projection.

The rest of this tutorial explains the second level: how to write an editor definition (.edit file). For making more adjustments to the projection by adding hand-made projections on the third level, see the tutorial on using the framework.