[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/582153.582165acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free access

Description-driven code generation using attribute grammars

Published: 25 January 1982 Publication History

Abstract

The instruction-set of a target architecture is represented as a set of attribute-grammar productions. A code generator is obtained automatically for any compiler using attributed parsing techniques. A compiler built on this model can automatically perform most popular machine-dependent optimizations, including peephole optimizations. The code generator is also easily retargetable to different machine architectures.

References

[1]
{Aho 77} A.V. Aho and J.D. Ullman, "Principles of Compiler Design", Addison-Wesley publishing Co., 1977.
[2]
{Cattell 80} R.G.G. Cattell, "Automatic Derivation of Code Generators from Machine Descriptions", ACM Trans. Programming Languages and Systems, Vol. 2 No. 2 pp. 173--190, April 1980.
[3]
{Dijkstra 60} E.W. Dijkstra, "Algol 60 Translation", Supplement, Algol 60 Bulletin 10, 1960.
[4]
{Fraser 77} C.W. Fraser, "Automatic Generation of Code Generators", PhD thesis, Computer Science Dept., Yale University, New Haven, Conn., 1977.
[5]
{Fraser 79} C.W. Fraser, "A Compact Machine Independent Peephole Optimizer", Principles Of Programming Languages, 1979.
[6]
{Fraser 80} C.W. Fraser and J.W. Davidson, "The Design and Application of a Retargetable Peephole Optimizer", ACM Transactions on Programming Languages and Systems, Vol. 2 No. 2, 1980.
[7]
{Ganapathi 80} M. Ganapathi, "Retargetable Code Generation and Optimization using Attribute Grammars", PhD dissertation, Technical Report #406, Computer Sciences Department, University of Wisconsin --- Madison, 1980.
[8]
{Ganapathi 81a} M. Ganapathi and C.N. Fischer, "A Review of Automatic Code Generation Techniques", Technical Report #407, Computer Sciences Department, University of Wisconsin --- Madison, 1981.
[9]
{Ganapathi 81b} M. Ganapathi, C.N. Fischer, S.J. Scalpone and K.C. Thompson, "Linear Intermediate Representation for Portable Code Generation", Technical Report #435. Computer Sciences Department, University of Wisconsin --- Madison, 1981.
[10]
{Ganapathi 81c} M. Ganapathi and J.R. Goodman, "Compiler and Operating System requirements for 16-bit Microcomputer Architectures: Intel 8086, Zilog Z8000 and Motorola MC68000", Technical Report #452, Computer Sciences Department, University of Wisconsin --- Madison, 1981.
[11]
{Glanville 78} R.S. Glanville and S.L. Graham, "A New Method for Compiler Code Generation", Conf. Record Fifth ACM Symp. Principles of Programming Languages, Jan. 1978.
[12]
{Graham 80} S.L. Graham, "Table-Driven Code Generation", IEEE Computer, Vol. 13 No. 8 pp. 25--34, Aug. 1980.
[13]
{Gries 71} D. Gries, "Compiler Construction for Digital Computers", John Wiley & Sons, 1971.
[14]
{Ichbiah 79} J. Ichbiah et al., "Preliminary Ada Reference Manual", SIGPLAN Notices, Vol. 14 No. 6, June 1979.
[15]
{Johnson 75} S.C. Johnson "YACC --- Yet Another Compiler Compiler". C.S. Tech Report #32, Bell Telephone Laboratories, Murray Hill, New Jersey, 1975.
[16]
{Knuth 68} D.E. Knuth, "Semantics of Context-Free Languages", Math. Systems Theory, Vol. 2 No. 2 pp. 127--145, June 1968.
[17]
{Koster 74} C.H.A. Koster, "Using the CDL Compiler-Compiler", in Compiler Construction: An Advanced Course, F.L. Bauer and J. Eickel, eds., Springer-Verlag, pp. 366--426, Berlin 1974.
[18]
{Lewis 76} P.M. Lewis, II, D.J. Rosenkrantz and R.E. Stearns, Compiler Design Theory, Addison-Wesley, Reading, Mass., 1976.
[19]
{McKeeman 65} W.M. McKeeman, "Peephole Optimization", CACM, Vol 8. No. 7, 1965.
[20]
{Milton 77} D.R. Milton, "Syntactic Specification and Analysis with Attribute Grammars", PhD thesis, University of Wisconsin-Madison, 1977.
[21]
{Milton 79} D.R. Milton et al., "An ALL (1) Compiler Generator", ACM Sigplan Symp. Compiler Construction, Boulder, Colo., Aug. 1979.
[22]
{Newell 69} A. Newell and G.W. Ernst, "GPS: A Case Study in Generality and Problem Solving", Academic Press, 1969.
[23]
{Raiha 80} K.J. Raiha, "Bibliography on Attribute Grammars", ACM Sigplan Notices, Vol. 15 No. 3 pp. 35--44, Mar 1980.
[24]
{Ripken 77} K. Ripken, "Formale Beschreibun von Maschinen, Implementierungen und Optimierender Maschinen-codeerzeugung aus Attributierten Programmgraphe", Technische Univer. Munchen, Munich, Germany, July 1977.
[25]
{Ritchie 78} D.M. Ritchie and B.W. Kernighan, "The C Programming Language", Prentice-Hall, Englewood Cliffs, New Jersey, 1978.
[26]
{Robertson 77} E.L. Robertson, "Code Generation for Short/Long Address Machines", Tech. Report, Computer Sciences Dept., University of Wisconsin-Madison, 1977.
[27]
{Szymanski 78} T.G. Szymanski, "Assembling Code for Machines with Span-Dependent Instructions", CACM, Vol. 21 No. 4 pp. 300--308, April 1978.
[28]
{Szymanski 80} T.G. Szymanski and B. Leverett, "Chaining Span-Dependent Jump Instructions", ACM Transactions on Programming Languages and Systems, Vol. 2 No. 3, 1980.
[29]
{Watt 74} D.A. Watt, "L.R. Parsing of Affix Grammars", PhD thesis, University of Glasgow, Report #7, 1974.
[30]
{Watt 77} D.A. Watt, "The Parsing Problem for Affix Grammars", Acta Informatica, Springer Verlag, 1977.
[31]
{Wulf 75} W. Wulf et al. "The Design of an Optimizing Compiler", American Elsevier Publishing Co., 1975.
[32]
{Wulf 80} W. Wulf et al., "An Overview of the Production-Quality Compiler-Compiler Project", IEEE Computer Vol. 13 No. 8 pp. 38--49, Aug. 1980.
[33]
{Wulf 81a} W. Wulf, personal communication.
[34]
{Wulf 81b} W. Wulf, "Compilers and Computer Architecture", IEEE Computer, July 1981.

Cited By

View all
  1. Description-driven code generation using attribute grammars

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    POPL '82: Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
    January 1982
    378 pages
    ISBN:0897910656
    DOI:10.1145/582153
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 25 January 1982

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    POPL '82 Paper Acceptance Rate 38 of 121 submissions, 31%;
    Overall Acceptance Rate 824 of 4,130 submissions, 20%

    Upcoming Conference

    POPL '25

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)67
    • Downloads (Last 6 weeks)4
    Reflects downloads up to 27 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2017)Code GenerationA Practical Approach to Compiler Construction10.1007/978-3-319-52789-5_8(205-234)Online publication date: 23-Mar-2017
    • (2008)Towards universal code generator generation2008 IEEE International Symposium on Parallel and Distributed Processing10.1109/IPDPS.2008.4536404(1-8)Online publication date: Apr-2008
    • (2006)Simple code optimizationsSoftware: Practice and Experience10.1002/spe.438013080813:8(745-763)Online publication date: 30-Oct-2006
    • (2005)Concept Assignment as a Debugging Technique for Code GeneratorsProceedings of the Fifth IEEE International Workshop on Source Code Analysis and Manipulation10.1109/SCAM.2005.4(75-86)Online publication date: 30-Sep-2005
    • (2005)Global code selection for directed acyclic graphsCompiler Construction10.1007/3-540-57877-3_9(128-142)Online publication date: 30-May-2005
    • (2005)Two tree pattern matchers for code selectionCompiler Compilers and High Speed Compilation10.1007/3-540-51364-7_17(215-229)Online publication date: 1-Jun-2005
    • (2005)Automatic retargetable code generation: A new techniqueFoundations of Software Technology and Theoretical Computer Science10.1007/3-540-17179-7_4(57-80)Online publication date: 28-May-2005
    • (2003)Engineering a CompilerundefinedOnline publication date: 11-Dec-2003
    • (1990)A retargetable compiler for the generation of control routines of a microprocessor-based digital systemNinth Annual International Phoenix Conference on Computers and Communications. 1990 Conference Proceedings10.1109/PCCC.1990.101658(469-476)Online publication date: 1990
    • (1988)Integrating code generation and peephole optimizationActa Informatica10.1007/BF0026884625:1(85-109)Online publication date: 1-Jan-1988
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media