Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Design, implementation and evaluation of the FNC-2 attribute grammar system

Published: 01 June 1990 Publication History
  • Get Citation Alerts
  • Abstract

    FNC-2 is a new attribute grammar processing system aiming at expressive power, efficiency, ease of use and versatility. Its development at INRIA started in 1986, and a first running prototype is available since early 1989. Its most important features are: efficient exhaustive and incremental visit-sequence-based evaluation of strongly (absolutely) non-circular AGs; extensive space optimizations; a specially-designed AG-description language, with provisions for true modularity; portability and versatility of the generated evaluators; complete environment for application development. This paper briefly describes the design and implementation of FNC-2 and its peripherals. Then preliminary experience with the system is reported.

    References

    [1]
    Alblas, H. Attribute Evaluation Methods. Memorandum iNF-89-20, Onderafdeling der Informatica, Tech. Hogeschool Twente, 1989.
    [2]
    Appel, A. W. A Runtime System. Draft, Princeton Univ., Feb. 1989.
    [3]
    Barbar, K. Classification des grammaires d'attributs ordonnees. Rapport 8412, Univ. de Bordeaux I, Apr. 1984.
    [4]
    Borras, P., Clement, D., Despeyroux, T., Incerpi, J., Hahn, G., Lang, B. and Pascual, V. CBN?AUR: the System. In A CM SIGSOFT/SIGPLAN Syrup. on Practical Software Development Environments (Boston, MA, Nov. 1988). SIGSOFT Software Eng. Notes 13, 5 (Nov. 1988), 14-24. Joint issue with ACM SfGPLAN Notices 24, 2 (Feb. 1959).
    [5]
    Boullier, P. and Deschamp, P. Le systhme SYNTAX-- Manuel d'utilisation et de mise ell oeuvre sous Unix. IN- RIA, Rocquencourt, Sept. 1988.
    [6]
    Courcelle, B. and Franchi*Zannettacci, P. Attribute Grammars and Recursive Program Schemes. Theoret. Comput. Sci. 17, 2 and 3 (1982), 163-191 and 235-257.
    [7]
    Deransart, P., Jourdan, M. and Lorho, B. Attribute Grammars: Definitions, Systems and Bibliography. Lect. Notes in Comp. Sci., vol. 323, Springer-Verlag, New York- Heidelberg-Berlin, Aug. 1988.
    [8]
    Despland, A., Mazaud, M. and Rakotozafy, R. Using Rewriting Techniques to Produce Code Generators and Proving them Correct. Rapport RR-1046, INRIA, Rocquencourt, June 1989. To appear in Sci. Comput. Programming.
    [9]
    Dueck, G. D. P. and Cormack, G. V. Modular Attribute Grammars. Research report CS-88-19, Univ. of Waterloo, May 1988.
    [10]
    Engelfriet, J. Attribute Grammars: Attribute Evaluation Methods. In Methods and Tools for Compiler Construction, B. Lorho, Ed. Cambridge Univ. Press, Cambridge, 1984, pp. 103-138.
    [11]
    Engelfriet, J. and File, G. Simple Multi-Visit Attribute Grammars. J. Comput. System Sci. 24, 3 (June 1982), 283-314.
    [12]
    Engelfriet, J. and de Jong, W. Attribute Storage Optimization by Stacks. Rapport 88-30, Vakgroep Informatica, R/jksuniv. te Leiden, Dec. 1988. To be published.
    [13]
    Farrow, R. Generating a Production Compiler from an Attribute Grammar. IEEE Software 1, 4 (Oct. 1984), 77-- 93.
    [14]
    Farrow, R. Sub-Protocol-Evaluators for Attribute Grammars. In ACM SIGPLAN'84 Syrup. on Compiler Construction (Montreal, June 1984). ACM SiGPLAN Notices 19, 6 (June 1984), 70-80.
    [15]
    Farrow, It. Automatic Generation of Fixed-point-finding EvaJuators for Circular, but Well-defined, Attribute Grammars. In ACM SIGPLAN'86 Syrup. on Compiler Construction (Palo Alto, CA, June 1986). ACM SIC- PLAN Notices 21, 7 (June 1986), 85-98.
    [16]
    Farrow, R. The Linguist Translator-writing System-- User's Manual version 6.25. Declarative Systems Inc., Palo Alto, CA, June 1989.
    [17]
    Farrow, R. and Yellin, D. M. A Comparison of Storage Optimlzations in Automatically-Generated Attribute Evaluators. Acta Inform. 23, 4 (1986), 393-427.
    [18]
    File, G. Classical and Incremental Attribute Evaluation by Means of Recursive Procedures. Theoret. Comput. Sci. 53, 1 (Jan. 1987), 25-65.
    [19]
    Franchi-Zannettacci, P. Attribute Specifications for Graphical Interface Generation. In Information ProcessinS '89 (San Francisco, CA, Aug. 1989), G. X. Ritter, Ed. North-Holland, Amsterdam, pp. 149-155.
    [20]
    Ganzinger, H. and Giegerich, R. Attribute Coupled Grammars. In ACM SIGPLAN'84 Syrup. on Compiler Construction (Montreal, June 1984). ACId SIGPLAN Notices 19, 6 (June 1984), 157-170.
    [21]
    Ganzinger, H., Giegerich, R. and Vach, M. MARVIN: a Tool for Applicative and Modular Compiler Specifications. Forschungsbericht 220, Fachbereich Informatik, Univ. Dortmund, July 1986.
    [22]
    Garcia, J., Jourdan, M. and Rizk, A. An Implementation of PARLOG Using High-Level Tools. In ESPRIT '87: Achievements and Impact (Brussels, Sept. 1987), Commission of the European Communities--DG XIII, Ed. North-Holland, Amsterdam, pp. 1265-1275.
    [23]
    Giegerich, R. On the Relation between Descriptional Composition and Evaluation of Attribute Coupled Grammars. Forschungsbericht 221, Fachbereich Informatik, Univ. Dortmund, July 1986.
    [24]
    Jourdan, M., Le Bellec, C. and Parigot, D. The Olga Attribute Grammar Description Language: Design, iraplementation and Evaluation. In Workshop on Attribute Grammars and their Applications (WAGA) (Paris, Sept. 1990). Lect. Notes in Comp. Sci., Springer-Verlag, New York-Heidelberg-B erli n.
    [25]
    Jourdan, M. and Parigot, D. The FNC-2 System User's GaMe and Reference ManuM. INRIA, Rocquencourt, Feb. 1989. This manual is periodically updated.
    [26]
    Jourdan, M. and Parlgot, D. Techniques for Improving Grammar Flow Analysis. in ESOP '90 (Copenhagen, May 1990).
    [27]
    Julie, C. Optimisation de l'espace memoire pour Evaluation des grammaires attributes. These, Dept. d'Informatique, Univ. d'Orl4ans, Sept. 1989.
    [28]
    Julia, C. and Parigot, D. Space Optimization in the FNC- 2 Attribute Grammar System. In Workshop on Attribute Grammars and their Applications (WAGA) (Paris, Sept. 1990). Lect. Notes in Comp. Sci., Springer-Verlag, New York- Heidelberg- Berlin.
    [29]
    Kastens, U. Ordered Attribute Grammars. Acta Inform. 13, 3 (1980), 229-256.
    [30]
    Kastens, U. The GAG-System--A Tool for Compiler Construction. In Methods and Tools for Compiler Construciion, B. Lorho, Ed. Cambridge Univ. Press, Cambridge, 1984, pp. 165-182.
    [31]
    Kastens, U. Lifetime Analysis for Attributes. Acta Inform. 24, 6 (Nov. 1987), 633-652.
    [32]
    Kastens, U., Hurt, B. and Zimmermann, E. GAG: A Practical Compiler Generator. Leer. Notes in Comp. Sci., vol. 141, SpringeroVerlag, New York-Heidelberg-Berlin, 1982.
    [33]
    Kildall, G. A unified approach to global program optimization. In 1st ACM Syrup. on Principles of Progr. Languages. ACM Press, New York, NY, San. 1973, pp. 194- 206.
    [34]
    Knuth, D. E. Semantics of Context-free Languages. Math. Systems Theory 2, 2 (June 1968), 127-145.
    [35]
    Le Bellec, C. Sp4cification de regles semantiques manqnantes. Rapport de DEA, D4pt. d'Informatique, Univ. d'Orleans, Sept. 1989.
    [36]
    Lipps, P., MSncke, U. and Wilhelm, R. O PTRAN - A Language/System for the Specification of Program Transformations: System Overview and Experiences. In Cornprier Compilers and High Speed Compilation (Berlin, Oct. 1988), D. Hammer, Ed. Lect. Notes in Comp. Sci., vol. 371, Springer-Verlag, New York-Heidelberg-Berlin, pp. 52-65.
    [37]
    Lorho, B. and Pair, C. Algorithms for Checking Consistency of Attribute Grammars. In Proving and Improving Programs (Arc et Senans, July 1975), G. Huet and G. Kahn, Eds. INRIA, Rocquencourt, pp. 29-54.
    [38]
    M6ncke, U. Grammar Flow Analysis. ESPKIT PROSPECTRA Project report S.1.3.-K-2.2, Univ. des Saarlandes, Saarbrficken, Mar. 1986, revised Jan. 1987. To appear in ACM Trans. Progr. Languages and Systems.
    [39]
    Parigot, D. Un systeme interactif de trace des circularites duns une grammaJre attribute et optimisation du test de circularit& Rapport de DEA, Univ. de Paris-Sud, Orsay, Sept. 1985.
    [40]
    Parigot, D. Mise en oeuvre des grammaires attribu4es: transformation, Evaluation incrementale, optimisations. These de 3eme cycle, Univ. de Paris-Sud, Orsay, Sept. 1987.
    [41]
    Reiss, S. P. Generation of Compiler Symbol Processing Mechanisms from Specifications. ACM Trans. Progr. Languages and Systems 5, 2 (1983), 127-163.
    [42]
    Reps, T. Generating Language-based Environments. MIT Press, Cambridge, MA, 1984.
    [43]
    Reps, T. and Teitelbaum, T. The Synthesizer Generator Reference ManuM 3rd edition. Springer-Verlag, New York-Heidelberg-Berlin, 1989.
    [44]
    Reps, T. and Teitelbaum, T. The Synthesizer Generator. Springer-Verlag, New York-Heidelberg-Berlin, 1989.
    [45]
    Riis-Nielson, H. Computation Sequences: A Way to Characterize Subclasses of Attribute Grammars. Acta Inform. 19 (1983), 255-268.
    [46]
    Sagiv, S., Edelstein, O., Francez, N. and Rodeh, M. Resolving Circularity in Attribute Grammars with Applications to Data Flow Analysis. In 16th ACM Syrup. on Principles of Progr. Languages (Austin, TX, Jan. 1989). ACM Press, New York, NY, pp. 36-48.
    [47]
    Tiemann, M. D. Removing Redundancy in Attribute Grammars. Manuscript, Parallel Processing Program, Microelectronic and Computer Technology Corp., Austin, TX, July 1987.
    [48]
    Uhl, J., Drossopoulos, S., Persch, G., Goos, G., Daussmann, M., Winterstein, G. and Kirchgitlner, W. An Attributed Grammar for the Semantic Analysis o~ ADA. Leer. Notes in Comp. Sci., vol. 139, Springer-Verlag, New York-Heidelberg-Berlin, 1982.
    [49]
    Yeh, D. On Incremental Evaluation of Ordered Attrlbuted Grammars. BIT 23 (1983), 308-320.
    [50]
    Yeh, D. and Kastens, U. Improvements of an Incremental Evaluation Algorithm for Ordered Attributed Grammars. ACM SIGPLAN Notices 23, 12 (Dec. 1988), 45-50.

    Cited By

    View all

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 25, Issue 6
    Jun. 1990
    343 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/93548
    Issue’s Table of Contents
    • cover image ACM Conferences
      PLDI '90: Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
      June 1990
      351 pages
      ISBN:0897913647
      DOI:10.1145/93542
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 June 1990
    Published in SIGPLAN Volume 25, Issue 6

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)84
    • Downloads (Last 6 weeks)11
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2014)Streamlining Control Flow Graph Construction with DCFlowSoftware Language Engineering10.1007/978-3-319-11245-9_18(322-341)Online publication date: 2014
    • (2009)Implementation of Programming Languages Syntax and SemanticsEncyclopedia of Information Science and Technology, Second Edition10.4018/978-1-60566-026-4.ch293(1863-1869)Online publication date: 2009
    • (2008)Universal Regular Path QueriesAutomatic Program Development10.1007/978-1-4020-6585-9_11(114-129)Online publication date: 2008
    • (2006)AspectLISA: An Aspect-oriented Compiler Construction System Based on Attribute GrammarsElectronic Notes in Theoretical Computer Science10.1016/j.entcs.2006.10.003164:2(37-53)Online publication date: Oct-2006
    • (2005)Dynamic Attribute GrammarsProgramming Languages: Implementations, Logics, and Programs10.1007/3-540-61756-6_81(122-136)Online publication date: 7-Jun-2005
    • (2005)Specification and implementation of grammar couplings using attribute grammarsProgamming Language Implementation and Logic Programming10.1007/3-540-57186-8_75(123-136)Online publication date: 1-Jun-2005
    • (2005)Internals and externals of the FNC-2 attribute grammar systemAttribute Grammars, Applications and Systems10.1007/3-540-54572-7_20(485-504)Online publication date: 29-May-2005
    • (2005)PAGODE: A back end generator using attribute abstract syntaxes and term rewritingsCompiler Compilers10.1007/3-540-53669-8_76(86-105)Online publication date: 4-Jun-2005
    • (2005)Space optimization in the FNC-2 attribute grammar systemAttribute Grammars and their Applications10.1007/3-540-53101-7_3(29-45)Online publication date: 31-May-2005
    • (2003)Universal Regular Path QueriesHigher-Order and Symbolic Computation10.1023/A:102306391957416:1-2(15-35)Online publication date: 1-Mar-2003
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media