Lightweight language processing in Kiama

Research output: Chapter in Book/Report/Conference proceedingConference proceeding contributionpeer-review

49 Citations (Scopus)

Abstract

Kiama is a lightweight language processing library for the Scala programming language. It provides Scala programmers with embedded domain-specific languages for attribute grammars and strategy-based term rewriting. This paper provides an introduction to the use of Kiama to solve typical language processing problems by developing analysers and evaluators for a simply-typed lambda calculus. The embeddings of the attribute grammar and rewriting processing paradigms both rely on pattern matching from the base language and each add a simple functional interface that hides details such as attribute caching, circularity checking and strategy representation. The similarities between embeddings for the two processing paradigms show that they have more in common than is usually realised.

Original languageEnglish
Title of host publicationGenerative and Transformational Techniques in Software Engineering III - International Summer School, GTTSE 2009, Revised Papers
EditorsJoão M. Fernandes, Ralf Lämmel, Joost Visser, João Saraiva
Place of PublicationBerlin
PublisherSpringer, Springer Nature
Pages408-425
Number of pages18
Volume6491
ISBN (Electronic)9783642180231
ISBN (Print)3642180221, 9783642180224
DOIs
Publication statusPublished - 2011
Event3rd International Summer School on Generative and Transformational Techniques in Software Engineering, GTTSE 2009 - Braga, Portugal
Duration: 6 Jul 200911 Jul 2009

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume6491 LNCS
ISSN (Print)03029743
ISSN (Electronic)16113349

Other

Other3rd International Summer School on Generative and Transformational Techniques in Software Engineering, GTTSE 2009
Country/TerritoryPortugal
CityBraga
Period6/07/0911/07/09

Fingerprint

Dive into the research topics of 'Lightweight language processing in Kiama'. Together they form a unique fingerprint.

Cite this