Internals and externals of the FNC-2 attribute grammar system

  • Martin Jourdan
  • Didier Parigot
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 545)


Fnc-2 is a modern attribute grammar processing system aiming at expressive power, efficiency, ease of use and versatility. This paper provides the reader with a brief tour inside Fnc-2, presenting the most important features of its “engine”: efficient sequential exhaustive, parallel exhaustive and sequential incremental evaluation of strongly non-circular AGs. These methods are based on the visit-sequence paradigm; the first one makes use of extensive space optimizations. Then we describe the external features of the system—attribute coupled grammar view of an AG, specially-designed AG-description language, with provisions for true modularity, and complete environment—that make it really usable for developing large-scale applications. Experience with the system is briefly reported.


Expressive Power Space Optimization Semantic Rule Attribute Evaluator Attribute Grammar 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ASU86]
    A. V. Aho, R. Sethi & J. D. Ullman, Compilers: Principles, Techniques and Tools, Addison Wesley, Reading, MA, 1986.Google Scholar
  2. [Alb91a]
    H. Alblas, “Incremental Attribute Evaluation,” in this volume, 1991.Google Scholar
  3. [Alb91b]
    -, “Attribute Evaluation Methods,” in this volume, 1991.Google Scholar
  4. [Bar84]
    K. Barbar, “Classification des grammaires d'attributs ordonnées,” Rapport 8412, Univ. de Bordeaux I, Apr. 1984.Google Scholar
  5. [BCD88]
    P. Borras, D. Clément, T. Despeyroux, J. Incerpi, G. Kahn, B. Lang & V. Pascual, “CENTAUR: the System,” in ACM SIGSOFT/SIGPLAN Symp. on Practical Software Development Environments, Boston, MA, published as SIGSOFT Software Eng. Notes 13, 5 (Nov. 1988), 14–24. Joint issue with ACM SIGPLAN Notices 24, 2 (Feb. 1989).CrossRefGoogle Scholar
  6. [CoF82]
    B. Courcelle & P. Franchi-Zannettacci, “Attribute Grammars and Recursive Program Schemes,” Theoret. Comput. Sci. 17, 2 and 3 (1982), 163–191 and 235–257.CrossRefGoogle Scholar
  7. [DJL88]
    P. Deransart, M. Jourdan & B. Lorho, Attribute Grammars: Definitions, Systems and Bibliography, Lect. Notes in Comp. Sci. #323, Springer-Verlag, New York-Heidelberg-Berlin, Aug. 1988.Google Scholar
  8. [DMR90]
    A. Despland, M. Mazaud & R. Rakotozafy, “Pagode: A Back-end Generator using Attributed Abstract Syntaxes and Term Rewritings,” in Compiler Compilers '90, Schwerin, D. Hammer, ed., 86–105, Lect. Notes in Comp. Sci. #477, Springer-Verlag, New York-Heidelberg-Berlin, Oct. 1990.Google Scholar
  9. [Eng84]
    J. Engelfriet, “Attribute Grammars: Attribute Evaluation Methods,” in Methods and Tools for Compiler Construction, B. Lorho, ed., 103–138, Cambridge Univ. Press, Cambridge, 1984Google Scholar
  10. [EnF82]
    J. Engelfriet & G. Filè, “Simple Multi-Visit Attribute Grammars,” J. Comput. System Sci. 24, 3 (June 1982), 283–314.CrossRefGoogle Scholar
  11. [Fil87]
    G. Filè, “Classical and Incremental Attribute Evaluation by Means of Recursive Procedures,” Theoret. Comput. Sci. 53, 1 (Jan. 1987), 25–65.CrossRefGoogle Scholar
  12. [Fra89]
    P. Franchi-Zannettacci, “Attribute Specifications for Graphical Interface Generation,” in Information Processing '89, San Francisco, CA, G. X. Ritter, ed., 149–155, North-Holland, Amsterdam, Aug. 1989.Google Scholar
  13. [GaG84]
    H. Ganzinger & R. Giegerich, “Attribute Coupled Grammars,” in ACM SIGPLAN '84 Symp. on Compiler Construction, Montréal, published as ACM SIGPLAN Notices 19, 6 (June 1984), 157–170.Google Scholar
  14. [GJR87]
    J. Garcia, M. Jourdan & A. Rizk, “An Implementation of PARLOG Using High-Level Tools,” in ESPRIT '87: Achievements and Impact, Brussels, Commission of the European Communities—DG XIII, ed., 1265–1275, North-Holland, Amsterdam, Sept. 1987.Google Scholar
  15. [Jou91]
    M. Jourdan, “A Survey of Parallel Attribute Evaluation Methods,” in this volume, 1991.Google Scholar
  16. [JLP90]
    M. Jourdan, C. Le Bellec & D. Parigot, “The Olga Attribute Grammar Description Language: Design, Implementation and Evaluation,” in Attribute Grammars and their Applications (WAGA), Paris, P. Deransart & M. Jourdan, eds., 222–237, Lect. Notes in Comp. Sci. #461, Springer-Verlag, New York-Heidelberg-Berlin, Sept. 1990.Google Scholar
  17. [JoP89]
    M. Jourdan & D. Parigot, The FNC-2 System User's Guide and Reference Manual release 0.4, INRIA, Rocquencourt, Feb. 1989. This manual is periodically updated.Google Scholar
  18. [JoP90]
    -, “Techniques for Improving Grammar Flow Analysis,” in European Symp. on Programming (ESOP '90), Copenhagen, N. Jones, ed., 240–255, Lect. Notes in Comp. Sci. #432, Springer-Verlag, New York-Heidelberg-Berlin, May 1990.Google Scholar
  19. [JPJ90]
    M. Jourdan, D. Paxigot, C. Julié, O. Durin & C. Le Bellec, “Design, Implementation and Evaluation of the PNC-2 Attribute Grammar System,” in ACM SIGPLAN '90 Conf. on Programming Languages Design and Implementation, White Plains, NY, published as ACM SIGPLAN Notices 25, 6 (June 1990), 209–222.Google Scholar
  20. [JuP90]
    C. Julié & D. Parigot, “Space Optimization in the FNC-2 Attribute Grammar System,” in Attribute Grammars and their Applications (WAGA), Paris, P. Deransart &: M. Jourdan, eds., 29–45, Lect. Notes in Comp. Sci. #461, Springer-Verlag, New York-Heidelberg-Berlin, Sept. 1990.Google Scholar
  21. [KLM83]
    G. Kahn, B. Lang, B. Mélèse & É. Marcos, “Metal: a Formalism to Specify Formalisms,” Sci. Comput. Programming 3 (1983), 151–188.CrossRefGoogle Scholar
  22. [Kas80]
    U. Kastens, “Ordered Attribute Grammars,” Acta Inform. 13, 3 (1980), 229–256.CrossRefGoogle Scholar
  23. [Kas91]
    -, “Implementation of Visit-Oriented Attribute Evaluators,” in this volume, 1991.Google Scholar
  24. [KeW76]
    K. Kennedy & S. K. Warren, “Automatic Generation of Efficient Evaluators for Attribute Grammars,” in 3rd ACM Symp. on Principles of Progr. Languages, Atlanta, Ge, 32–49, Jan. 1976.Google Scholar
  25. [Knu68]
    D. E. Knuth, “Semantics of Context-free Languages,” Math. Systems Theory 2, 2 (June 1968), 127–145.CrossRefGoogle Scholar
  26. [LoP75]
    B. Lorho & C. Pair, “Algorithms for Checking Consistency of Attribute Grammars,” in Proving and improving Programs, Arc et Senans, G. Huet & G. Kahn, eds., 29–54, INRIA, Rocquencourt, July 1975.Google Scholar
  27. [Mar90]
    B. Marmol, “Évaluateurs d'attributs parallèles sur multi-processeurs à mémoire partagée,” rapport de DEA, Univ. d'Orléans, Sept. 1990.Google Scholar
  28. [MöW91]
    U. Möncke & R. Wilhelm, “Grammar Flow Analysis,” in this volume, 1991.Google Scholar
  29. [Par85]
    D. Parigot, “Un système interactif de trace des circularités dans une grammaire attribuée et optimisation du test de circularité,” rapport de DEA, Univ. de Paris-Sud, Orsay, Sept. 1985.Google Scholar
  30. [Par-88]
    -, “Transformation, évaluation incrémentale et optimisations des grammaires attribuées: le système FNC-2,” thèse, Univ. de Paris-Sud, Orsay, May 1988.Google Scholar
  31. [Rep84]
    T. Reps, Generating Language-based Environments, MIT Press, Cambridge, MA, 1984.Google Scholar
  32. [Rii83]
    H. Riis-Nielson, “Computation Sequences: A Way to Characterize Subclasses of Attribute Grammars,” Acta Inform. 19 (1983), 255–268.Google Scholar
  33. [SwV91]
    S. D. Swierstra & H. H. Vogt, “Higher Order Attribute Grammars,” in this volume, 1991.Google Scholar
  34. [UDP82]
    J. Uhl, S. Drossopoulos, G. Persch, G. Goos, M. Daussmann, G. Winterstein & W. Kirchgäßner, An Attributed Grammar for tie Semantic Analysis of ADA, Lect. Notes in Comp. Sci. #139, Springer-Verlag, New York-Heidelberg-Berlin, 1982.Google Scholar
  35. [VoM82]
    A. O. Vooglaid & M. B. Méristé, “Abstract Attribute Grammars,” Progr. and Computer Software 8, 5 (Sept. 1982), 242–251.Google Scholar
  36. [Yeh83]
    D. Yeh, “On Incremental Evaluation of Ordered Attributed Grammars,” BIT 23 (1983), 308–320.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  1. 1.INRIA, Projet ChLoÉLe Chesnay CedexFrance

Personalised recommendations