tool: The FNC-2 Attribute Grammar System
-
Language:
|
Attribute Grammars
|
|---|
-
Version:
|
1.14
|
|---|
-
Parts:
|
FNC-2: the Olga compiler and attribute evaluator generator;
ATC: a generator of abstract tree constructors driven by
bottom-up parsers, with two flavours, one on top of
SYNTAX, and one on top of Lex and Yacc;
PPAT: a generator of unparsers of attributed abstract
trees, based on the TeX-like notion of nested boxes
of text.
|
|---|
-
Author:
|
Martin Jourdan, Didier Parigot and students
|
|---|
-
Location:
|
http://www-rocq.inria.fr/charme/FNC-2/index.html
ftp://ftp.inria.fr/INRIA/Projects/ChLoE/FNC-2/
|
|---|
-
Description:
|
The FNC-2 system is a modern AG-processing system that
aims at production-quality by providing the following
qualities:
- Efficiency:
The generated evaluators, based on the visit-sequence
paradigm, are completely deterministic; furthermore,
this paradigm allows to apply very effective space
optimization techniques. The evaluators are hence
basically as efficient in time and space as hand-written
programs using a tree as internal data structure.
- Expressive power:
This efficiency is not achieved at the expense of
expressive power since FNC-2 accepts AGs in the very
broad class of strongly non-circular AGs.
- Easiness of use:
Olga, the input language of FNC-2, enforces a high degree
of programming safety, reliability and productivity.
It provides powerful constructions for modularity and
reusability.
- It contains the following sub-languages:
attributed abstract syntaxes ASX;
attribute grammars;
declaration and definition modules.
- Versatility:
The generated evaluators can be interfaced with many
other tools and produced in many variations:
Several modes of attribute evaluation:
exhaustive; incremental; concurrent (on shared-memory
multiprocessor machines).
|
|---|
-
Compilation plat
|
form);
ML (Caml).
In addition, FNC-2 is the testbed for an active research team.
|
|---|
-
Ports:
|
Unix
|
|---|
-
Status:
|
active
|
|---|
-
Contact:
|
<Didier.Parigot@inria.fr> or <Martin.Jourdan@inria.fr>
|
|---|
-
Updated:
|
1995
|
|---|
category: compiler generators and related tools
summary, or
expanded.
category: text manipulation
summary, or
expanded.
|
|