the FNC-2 attribute grammar system

Didier Parigot <>
20 Feb 1998 17:54:26 -0500

          From comp.compilers

Related articles
the FNC-2 attribute grammar system (Didier Parigot) (1998-02-20)
| List of all articles for this month |

From: Didier Parigot <>
Newsgroups: comp.compilers
Date: 20 Feb 1998 17:54:26 -0500
Organization: INRIA
Keywords: attribute, available

The new version 1.16 of the FNC-2 attribute grammar system is now
available via anonymous ftp. Complete system documentation is also
available in PostScript. This release has been tested on the
following machine/OS combinations (reported by "uname"):

      Sun workstation running SunOS 4.1.x using gcc version 2.7.2
      Sun workstation (Solaris) running SunOS 5 using gcc version 2.7.2
      HP 9000/715 running HP-UX Version A, Release A.09.05 using cc
      PC-i586 running Linux 1.3.59 using gcc version 2.7.2

FNC-2 is a modern attribute grammar processing system that aims at
production-quality by providing the following qualities:


The generated evaluators, based on the visit-sequence paradigm, are
completely deterministic; furthermore, this paradigm allows very
effective space optimization techniques to be performed. 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 Attribute Grammars (AGs) in the very broad class
of strongly non-circular AGs. Explore new formalisms allowing more
comfortable use of AGs (generic AGs ) or more expressive power
(Dynamic AGs, which subsume circular AGs and allow to work on DAGs and
maybe more general graphs).

Easiness of use:

OLGA, the input language of FNC-2, enforces a high degree of
programming safety, reliability and productivity. The input language
containt the following sub-languages:

                            attributed abstract syntaxes;
                            attribute grammars;
                            declaration and definition modules.

Flexibility and Portability:

The generated evaluators can be interfaced with many other tools and
produce in many variations:

Several attributes evaluators :
            exhaustive evaluator;
            incremental evaluator;
            parallel evaluator.

Several implementation languages :
            C version;
            Le_Lisp version on the Centaur system (a generic interactive
environment generator);
            fSDL version on the COSY Compiler system;
            ML version for Caml

In addition, FNC-2 comes with a number of companion processors that help
to build complete applications

- a generator of abstract tree constructors driven by parsers (ATC);
an instantiation of ATC have been implemented on top of SYNTAX system
(a power-full lexer and parser generator,

- a generator of unparsers of attributed abstract trees (PPAT),
based on the TeX-like notion of nested boxes of text;

- a tool for describing the modules composing an application
and managing their processing (MKFNC2)

- a interactive application descriptions (XFNC2)

- a interactive circularity trace system (XVISU)

- a descriptional composition of AGs, i.e. the construction,
from two ``piped'' AGs, of a third one that performs the same
computation without constructing the intermediate tree;
this allows to take full advantage of modularity without hampering

- Source-level optimizations of AGs resulting from descriptional

More information is available for World-Wide Web users via FNC-2's web


References related to the FNC-2 system follow:

Martin Jourdan, Didier Parigot, Catherine Juli, Olivier Durin, and
Carole Le Bellec. Design,
implementation and evaluation of the FNC-2 attribute grammar system. In
Conf. on Programming
Languages Design and Implementation, pages 209-222, White Plains, NY,
June 1990. Published as sl
ACM SIGPLAN Notices, 25(6).

Martin Jourdan, Carole Le Bellec, and Didier Parigot. The Olga Attribute
Grammar Description Language:
Design, Implementation and Evaluation. In Pierre Deransart and Martin
Jourdan, editors, Attribute
Grammars and their Applications (WAGA), volume 461 of Lect. Notes in
Comp. Sci., pages 222-237, Paris,
1990. Springer-Verlag.

Martin Jourdan and Didier Parigot. Internals and Externals of the FNC-2
Attribute Grammar System. In
Henk Alblas and Borivoj Melichar, editors, Attribute Grammars,
Applications and Systems, volume 545 of
Lect. Notes in Comp. Sci., pages 485-504. Springer-Verlag, Prague, 1991.

Carole Le Bellec, Martin Jourdan, Didier Parigot, and Gilles Roussel.
Specification and Implementation of
Grammar Coupling Using Attribute Grammars. In Maurice Bruynooghe and
Jaan Penjam, editors,
Programming Language Implementation and Logic Programming (PLILP '93),
volume 714 of Lect. Notes in
Comp. Sci., pages 123-136, Tallinn, August 1993. Springer-Verlag.

Gilles Roussel, Didier Parigot, and Martin Jourdan. Coupling Evaluators
for Attribute Coupled Grammars.
In Peter A. Fritzson, editor, 5th Int. Conf. on Compiler Construction
(CC' 94), volume 786 of Lect. Notes in
Comp. Sci., pages 52-67, Edinburgh, April 1994. Springer-Verlag.

Didier Parigot, Gilles Roussel, Martin Jourdan, and Etienne Duris.
Dynamic Attribute Grammars. In
Herbert Kuchen and S. Doaitse Swierstra, editors, Int. Symp. on Progr.
Languages, Implementations,
Logics and Programs (PLILP'96), volume 1140 of Lect. Notes in Comp.
Sci., pages 122-136, Aachen,
September 1996. Springer-Verlag.

The FNC-2 development team is contacted via the mail alias
"". We can also be reached individually:

Dr Didier Parigot
INRIA - Rocquencourt,
78153 Le Chesnay, France
Tel : (33-1) 39 63 55 46
Fax: (33-1) 39 63 58 84

Didier Parigot
      I.N.R.I.A. Domaine de Voluceau Email :
      Rocquencourt B.P.105 Phone : local : 01 39 63 55 46
International : 00 33 1 39 63 55 46
      78153 Le Chesnay Cedex Fax : 01 39 63 58 84
      FRANCE WWW :

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.