This report documents the SLANG semantics-based language generator. SLANG is a software for generating rapid prototype implementations of programming languages from their formal specifications. Its input is a text file that describes the abstract syntax of a language and its concrete text representation; from this, a parser is generated (utilizing the ANTLR4 tool) that transforms the text representation of a program into its abstract syntax tree and a printer that generates from the abstract syntax tree its text representation. Furthermore, one can equip the language with a formal type system (by logical inference rules) from which a type checker is generated. Finally, one can give the language a formal semantics, in the denotational style (by function equations) and/or in the big-step operational style (by transition steps); from this, a language interpreter is generated. SLANG is implemented in Java and produces Java source code; it should be easy to extend the software also to other target languages.
Original language | English |
---|
Place of Publication | Hagenberg, Linz |
---|
Publisher | RISC, JKU |
---|
Number of pages | 59 |
---|
Publication status | Published - Sept 2023 |
---|
Name | RISC Report Series |
---|
No. | 23-13 |
---|
ISSN (Print) | 2791-4267 |
---|
- 101 Mathematics
- 101001 Algebra
- 101005 Computer algebra
- 101009 Geometry
- 101012 Combinatorics
- 101013 Mathematical logic
- 101020 Technical mathematics