Application development with the FNC-2 attribute grammar system

  • Martin Jourdan
  • Didier Parigot
Invited Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 477)


FNC-2 is an advanced attribute grammar system aiming at production-quality, currently under development at INRIA. After a brief tour through its internals and a short presentation of its input language Olga, the talk will concentrate on how FNC-2 and its companions can be used to develop large language-processing applications. The key feature for enhancing programmers' productivity and supporting teamwork is FNC-2 constructs for modularity. This will be exemplified by the development of FNC-2 itself. Finally we'll present how FNC-2 can be combined with other tools under development at INRIA to form a complete, high-quality compiler production workbench.


  1. [ASU86]
    A. V. Aho, R. Sethi & J. D. Ullman, Compilers: Principles, Techniques and Tools, Addison Wesley, Reading, MA, 1986.Google Scholar
  2. [Bou84]
    P. Boullier, “Contribution à la construction automatique d'analyseurs lexicographiques et syntaxiques,” thèse d'État, Univ. d'Orléans, Dec. 1984.Google Scholar
  3. [BoD88]
    P. Boullier & P. Deschamp, Le système SYNTAX—Manuel d'utilisation et de mise en œuvre sous Unix, INRIA, Rocquencourt, Sept. 1988.Google Scholar
  4. [BoJ87]
    P. Boullier & M. Jourdan, “A new Error Repair and Recovery Scheme for Lexical and Syntactic Analysis,” Sci. Comput. Programming 9, 4 (Dec. 1987), 271–286.Google Scholar
  5. [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.Google Scholar
  6. [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
  7. [DMR89]
    A. Despland, M. Mazaud & R. Rakotozafy, “Using Rewriting Techniques to Produce Code Generators and Proving them Correct,” Rapport RR-1046, INRIA, Rocquencourt, June 1989. To appear in Sci. Comput. Programming.Google Scholar
  8. [DMR90]
    “Pagode: A Back-end Generator using Attributed Abstract Syntaxes and Term Rewritings,” in this volume, Oct. 1990.Google Scholar
  9. [EnJ90]
    J. Engelfriet & W. de Jong, “Attribute Storage Optimization by Stacks,” Acta Inform. (1990).Google Scholar
  10. [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
  11. [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
  12. [GGV86]
    H. Ganzinger, R. Giegerich & M. Vach, “MARVIN: a Tool for Applicative and Modular Compiler Specifications,” Forschungsbericht 220, Fachbereich Informatik, Univ. Dortmund, July 1986.Google Scholar
  13. [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
  14. [Jou84]
    M. Jourdan, “Les grammaires attribuées: implantation, applications, optimisations,” thèse de Docteur-Ingénieur, Univ. Paris VII, May 1984.Google Scholar
  15. [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., Springer-Verlag, New York-Heidelberg-Berlin, Sept. 1990.Google Scholar
  16. [JoP89]
    M. Jourdan & D. Parigot, The FNC-2 System User's Guide and Reference Manual, INRIA, Rocquencourt, Feb. 1989. This manual is periodically updated.Google Scholar
  17. [JPJ90]
    M. Jourdan, D. Parigot, C. Julié, O. Durin & C. Le Bellec, “Design, Implementation and Evaluation of the FNC-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
  18. [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., Springer-Verlag, New York-Heidelberg-Berlin, Sept. 1990.Google Scholar
  19. [KLM83]
    G. Kahn, B. Lang, B. Mélèse & É. Marcos, “Metal: a Formalism to Specify Formalisms”, Sci. Comput. Programming 3 (1983), 151–188.Google Scholar
  20. [Kas80]
    U. Kastens, “Ordered Attribute Grammars,” Acta Inform. 13, 3 (1980), 229–256.Google Scholar
  21. [Kas84]
    —, “The GAG-System—A Tool for Compiler Construction,” in Methods and Tools for Compiler Construction, B. Lorho, ed., 165–182, Cambridge Univ. Press, Cambridge, 1984.Google Scholar
  22. [Kil73]
    G. Kildall, “A unified approach to global program optimization,” in 1st ACM Symp. on Principles of Progr. Languages, 194–206, Jan. 1973.Google Scholar
  23. [Knu68]
    D. E. Knuth, “Semantics of Context-free Languages,” Math. Systems Theory 2, 2 (June 1968), 127–145. Correction: Math. Systems Theory 5, 1 (Mar. 1971), 95–96.Google Scholar
  24. [LMW88]
    P. Lipps, U. Möncke & R. Wilhelm, “OPTRAN — A Language/System for the Specification of Program Transformations: System Overview and Experiences”, in Compiler Compilers and High Speed Compilation, Berlin, D. Hammer, ed., 52–65, Lect. Notes in Comp. Sci. #371, Springer-Verlag, New York-Heidelberg-Berlin, Oct. 1988.Google Scholar
  25. [Lor77]
    B. Lorho, “Semantic Attributes Processing in the System DELTA,” in Methods of Algorithmic Language Implementation, A. Ershov & C. H. A. Koster, eds., 21–40, Lect. Notes in Comp. Sci. #47, Springer-Verlag, New York-Heidelberg-Berlin, 1977.Google Scholar
  26. [Par88]
    D. Parigot, “Transformations, é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
  27. [Rei83]
    S. P. Reiss, “Generation of Compiler Symbol Processing Mechanisms from Specifications,” ACM Trans. Progr. Languages and Systems 5, 2 (1983), 127–163.Google Scholar
  28. [ReT89]
    T. Reps & T. Teitelbaum, The Synthesizer Generator, Springer-Verlag, New York-Heidelberg-Berlin, 1989.Google Scholar
  29. [Sou90]
    A. Souah, “Contribution à la sémantique déclarative des systèmes de transformation d'arbres attribués,” thèse, Univ. d'Orléans, Sept. 1990.Google Scholar
  30. [UDP82]
    J. Uhl, S. Drossopoulos, G. Persch, G. Goos, M. Daussmann, G. Winterstein & W. Kirchgäßner, An Attributed Grammar for the Semantic Analysis of ADA, Lect. Notes in Comp. Sci. #139, Springer-Verlag, New York-Heidelberg-Berlin, 1982.Google Scholar
  31. [VoM82]
    A. O. Vooglaid & M. B. Méristé, “Abstract Attribute Grammars,” Progr. and Computer Software 8, 5 (Sept. 1982), 242–251.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Martin Jourdan
    • 1
  • Didier Parigot
    • 1
  1. 1.Domaine de VoluceauINRIALe Chesnay CedexFrance

Personalised recommendations