The SLANG Semantics-Based Language Generator

Wolfgang Schreiner, William Steingartner

Research output: Working paper and reportsPreprint

Abstract

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 languageEnglish
Place of PublicationHagenberg, Linz
PublisherRISC, JKU
Number of pages59
Publication statusPublished - Sept 2023

Publication series

NameRISC Report Series
No.23-13
ISSN (Print)2791-4267

Fields of science

  • 101 Mathematics
  • 101001 Algebra
  • 101005 Computer algebra
  • 101009 Geometry
  • 101012 Combinatorics
  • 101013 Mathematical logic
  • 101020 Technical mathematics

JKU Focus areas

  • Digital Transformation

Cite this