What is lrc?
Lrc is a system for generating efficient incremental attribute evaluators.
Lrc can be used to generate language based editors and other advanced interactive
Features of lrc
The following features distinguish lrc from other attribute grammar systems.
A general introduction to lrc can be found in the paper
Incremental language based tools.
To construct an evaluator with lrc use the runlrc script.
- accepts higher order attribute grammars and normal attribute grammars
- processes attribute grammars that are written in the Synthesizer Specification Language
- generates purely functional evaluators
- generates evaluators that use function memoing to realise efficient
- generates editors with advanced interactive interfaces
- can bootstrap itself
Generating interactive applications
Lrc can generate advanced interactice applications.
Such applications can be
Tips and pitfalls
Lrc is still in development. If you encounter a problem then
you can have a look at
a list of tips and pitfalls.
Using interactive applications
The interactive systems that you can generate with lrc
offer a mix of text editing, structure editing and
See editor user manual
for more details.
Obtaining and installing lrc
Lrc is freely available for experimental use.
It is distributed as a
compressed tar file
To install lrc follow the instructions.
As an example you might study
the specification of an interface for the Unix find command.
an Lalr(1) grammar for the Java language.
Matthijs Kuiper (firstname.lastname@example.org)