RISC JKU

The SLANG Semantics-Based Language Generator

September 20, 2023: SLANG 1.0 (first release)

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.

 
Click to enlarge screenshots.

Download SLANG
See the files README, CHANGES, and COPYING.
Manual [PDF]
This is the user documentation of the software.
Subversion Repository
This is a web interface to the Subversion repository that holds the source code of the program. The repository can be read anonymously by any Subversion client from the URL
svn://svn.risc.jku.at/schreine/SLANG
Publications, Reports, Talks
Further material on SLANG.

Wolfgang Schreiner
Last modified: November 9, 2023