Language Definition
rascal-0.34.0
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.