Oberon-0 in Kiama

Anthony M. Sloane*, Matthew Roberts

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

8 Citations (Scopus)


The Kiama language processing library is a collection of domain-specific languages for software language processing embedded in the Scala programming language. The standard Scala parsing library is augmented by Kiama's facilities for defining attribute grammars, strategy-based rewriting rules and combinator-based pretty-printing. We describe how we used Kiama to implement an Oberon-0 compiler as part of the 2011 LDTA Tool Challenge. In addition, we explain how Scala enabled a modular approach to the challenge. Traits were used to define components that addressed the processing tasks for each Oberon-0 sub-language. Combining the traits as mixins yielded the challenge artefacts. We conclude by reflecting on the strengths and weaknesses of Kiama that were revealed by the challenge and point to some future directions.

Original languageEnglish
Pages (from-to)20-32
Number of pages13
JournalScience of Computer Programming
Publication statusPublished - 15 Dec 2015


Dive into the research topics of 'Oberon-0 in Kiama'. Together they form a unique fingerprint.

Cite this