kiama

A Scala library for language processing.

View the Project on GitHub

Documentation Home

User Manual Examples
Research Reading
Installation
Releases

Kiama Language Processing Library

Up: Documentation, Next: Examples

Kiama is a Scala library for language processing. “Language” in this context refers to any structured information, usually the text of programming languages, data formats or natural languages, but it could come from any source.

Kiama can be used to write a variety of language processors. Typical applications include:

A number of high-level processing paradigms have been developed in the research field of language processing. The aim of the Kiama project is to make these paradigms available to Scala programmers in a way that integrates smoothly with normal Scala code. Standard Scala tools such as compilers and integrated development environments can be used to develop Kiama programs. The barriers to using the supported processing paradigms via Kiama are therefore lower than approaches that require separate tools.

The User Manual

This user manual provides an overview of Kiama’s capabilities. Familiarity with Scala is assumed. For more information on Scala and implementation downloads, see the Scala web site. The book Programming in Scala by Odersky, Spoon and Venners is highly recommended.

The rest of this user manual contains the following sections:

Examples are also available, ranging from simple illustrations of usage to more complex language implementations and processing tasks. New users should read the user manual and then consult the examples for more detail.

More research-oriented material in the form of papers, talks and slides can be found on the Research page.

API documentation can be found by searching for Kiama on javadoc.io. Alternatively, links to the API documentation for specific releases can be found on the Releases page.

Up: Documentation, Next: Examples