Language Definition
rascal-0.40.17
Synopsis
Description of all aspects of a language.
Description
A language definition defines all relevant aspects of a programming language or Domain Specific Language and includes:
- A Grammar (including lexical and context-free syntax).
 - Rules to describe the textual formatting of a language. These rules are sufficient to generate a Prettyprinter for it.
 - Rules that describe the Static Semantics of a language. These rules are sufficient to generate a Typechecker.
 - Rules that describe the Dynamic Semantics of a language. These rules are sufficient to generate an Interpreter for it.
 - Rules that describe how to generate code.
 
Other aspects of a language definition may include editor behaviour, highlighting, debugging, outlining, auto-completion and more.