kiama
A Scala library for language processing.
View the Project on GitHub
Documentation Home
User Manual
Context
Parsing
Rewriting
>
Attribution
Relations
Machines
Pretty Printing
Messages
Read-eval-print loops
Profiling
Examples
Research Reading
Installation
Releases
User Manual
Kiama’s context
Using case classes to define representations
Operating on collections
Define custom rewritable representations
Packrat parsing
The input used by parsers
Defining parsers using combinators
Term rewriting
Attribute grammars
Tree relations
Abstract state machines
Pretty printing
Messages
Read-eval-print loops
Profiling program execution
Examples
Dataflow analysis
Simple imperative language
Simple lambda calculus
More complex lambda calculus
Wirth’s teaching language
Research reading
Other
Installation
Releases
Style guide for developers