Intro
to LISA
is
a compiler-compiler, or a system that generates automatically a
compiler/interpreter from formal attribute grammar-based language
specifications. The LISA tool produces
highly efficient source code of scanner/parser/interpreter/compiler in
Java. The lexical and syntactical parts of a language specification use
well known formal
methods, such as regular expressions and BNF. The semantics are further
defined with
attribute grammars.
The
main features of
LISA are:
- LISA
is platform independent, since is written in Java.
- Developers
can work in a textual or a visual environment.
- Well-defined integrated development
environment (IDE)
where users can specify -- generate -- compile-on-the-fly -- execute
programs in newly specified language.
- Lexical,
syntax and semantic analysers can be different types and can operate
as standalone. The current version of LISA supports LL, SLR, LALR and
LR
parsers, tree-walk, parallel, L-attribute and Katayama evaluators.
- LISA supports visual
presentations of different structures, such as finite state automata,
BNF, syntax tree, dependency graph, etc.
- Animation
of syntax and semantic analysis is provided.
- Modular
and incremental language development:
- multiple
attribute grammar inheritance
- templates
- aspect-oriented
attribute grammar
- On-line
help
To
learn more about the tool and its concepts go to reference manual and tutorial.
Screenshots