Language Definitions in Lightning
Languages defined using Lightning consist of:
- An abstract syntax model defining the set of valid language models (instances of the language).
- A concrete syntax definition specifying how language models should be visualised. It is expressed as a transformation from the abstract syntax model to a built-in visual language model (in which the set of shapes and layout Lightning can render are defined).
- An operational semantics definition consisting of :
- a semantic domain model defining, given the abstract syntax model, what a state of the operational semantics corresponds to.
- a semantics step transformation defining how to go from state to state.