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

A truly generative semantics-directed compiler generator

Published: 01 June 1982 Publication History

Abstract

This paper describes semantic processing in the compiler generating system MUG2. MUG2 accepts high-level descriptions of the semantics of a programming language including full runtime semantics, data flow analysis, and optimizing transformations. This distinguishes MUG2 from systems such as YACC [Joh75], HLP [HLP78], PQCC [PQC79], or its own former version [GRW77] with respect to expressive power and convenience. In this respect, MUG2 comes close to semantics-directed systems such as [Mos76], [JoS80], [Set81], [Pau82]. In contrast to these, MUG2 is not a universal translator system where program independent semantic properties have to be evaluated at compilation time. The description concepts of MUG2 allow a far reaching separation of language vs. program dependent semantics, thus constituting a truly generative approach to semantics-directed compiler generation.

References

[1]
Aho, A.V., Ullman, J.D.: Principles of compiler design. Addison-Wesley, 1977.
[2]
Babich, W.A., Jazayeri, M.: The method of attributes for data flow analyis, part I: Exhaustive analysis. Acta informatica 10 (1978) 245-264.
[3]
Bochmann, G.V.: Semantic evaluation from left to right. CACM 19 (1976).
[4]
Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. POPL 6, 1979, 269-282.
[5]
Cohen, R., Harry, E.: Automatic generation of near-optimal linear-time translators for non-circular attribute grammars. POPL 6, 1979, 121-134.
[6]
Chirica, L.M., Martin, D.F.: An algebraic formulation of Knuthian semantics. 17th IEEE Symp. on FOCS, 1977, 127-136.
[7]
Demers, A., Reps, T., Teitelbaum, T.: Incremental evaluation for attribute grammars with application to syntax-directed editors. POPL 8, 1981, 105-116.
[8]
Engelfriet, J., File, G.: Passes, sweeps, and visits. Lecture Notes in Comp. Sci. 115, Springer 1981, 193-207.
[9]
Ganzinger, H.: Transforming denotational semantics into practical attribute grammars. Lecture Notes in Comp. Sci. 94 (1980), 1-64.
[10]
Giegerich, R.: Introduction to the compiler generation system MUG2. Report TUM-INFO-7913, Techn. Univ. München, 1979.
[11]
Giegerich, R.: Automatic generation of machine-specific code optimizers. POPL 9, 1982, 75-81.
[12]
Glasner, I., Möncke, U., Wilhelm, R.: OPTRAN, a language for the specification of program transformations. Informatik-Fachberichte 34, Springer, March 1980, 125-142.
[13]
Giegerich, R., Möncke, U., Wilhelm, R.: Invariance of approximative semantics with respect to program transformations. Informatik-Fachberichte 50, Springer 1981, 1-10.
[14]
Ganzinger, H., Ripken, K., Wilhelm, R.: Automatic generation of optimizing multipass compilers. In: Gilchrist, B. (ed.): Information Processing 77, North-Holland Publ. Co., Amsterdam, New York, Oxford, 1977, 535-540.
[15]
Hecht, M.S., Ullman, J.D.: A simple algorithm for global data flow analysis programs. SIAM J. Comp. 4 (1975), 519-532.
[16]
Räihä, K.-J., Saarinen, M., Soisalon-Soininen, E. Tienari,M.: The compiler writing system HLP (Helsinki Language Processor). Dep't. of Comp. Science, Helsinki Univ., Report A-1978-2, 1978.
[17]
Jazayeri, M., Walter, K.G.: Alternating semantic evaluator, Proc. ACM Ann. Conf., 1975, 230-234.
[18]
Jazayeri, M., Pozefsky, D.: Space-efficient strorage management in an attribute evaluator. ACM TOPLAS 3, 4 (1981), 388-404.
[19]
Jochum G.: Automatische Konstruktion und einheitliche Darstellung von Attributaus-wertungsalgorithmen. TUM-18113, Techn. Univ. München, June 1981.
[20]
Johnson, S.C.: YACC: yet another compiler compiler. Techn. Rep. CSTR32, Bell Labs, Murray Hill, 1975.
[21]
Jones, N.D., Schmidt, D.A.: Compiler generation from denotational semantics. Lecture Notes in Comp. Sci. 94 (1980), 70-93.
[22]
Jochum, G., Willmertinger, W.: A tool for developing text processing systems: translator writing systems. Report TUM-18103, Techn. Univ. München, 1981.
[23]
Kam, J.B., Ullman, J.D.: Monotone data flow analysis frameworks. Acta Informatica 7 (1977), 305-317.
[24]
Kennedy, K., Warren, S.K.: Automatic generation of efficient evaluators for attribute grammars. POPL 3, 1976.
[25]
Kron, H.H.: Tree templates and subtree transformational grammars. PhD-thesis, Univ. of Cal., Santa Cruz, 1975.
[26]
Knuth, D.E.: Semantics of context-free languages. Math. Systems Theory 2, (1968), 127-145.
[27]
Leverett, B.W., Cattell, R.G.G., Hobbs, S.O., Newcomer, J.M., Reiner, A.H., Schatz, B.R., Wulf, W.A.: An overview of the production quality compiler-compiler project. Dept. of Comp. Science, Carnegie-Mellon University, CMU-CS-79-105, 1979.
[28]
Lewis, P.M., Rosenkrantz, D.J., Stearns, R.E.: Attributed translations. Proc. ACM 5th Annual Symp. on Theory of Comp. 1973.
[29]
Möncke, U.: Doctorial dissertation, Univ. Saarbrücken, forthcoming.
[30]
Mosses, P.: Compiler generation using denotational semantics. Proc. Symp. on Math. Found. of Comp. Sci., Lecture Notes in Comp. Sci., 45 (1976), 436-441.
[31]
Mosses, P.: SIS - Semantics implementation system. Reference Manual and user guide. Report DAIMI MD-30, Univ. Aarhus, 1979.
[32]
Paulson, L.: A semantics-directed compiler generator. POPL 9, 1982, 224-233.
[33]
Pozefsky, D.P.: Building efficient pass-oriented attribute grammar evaluators. Univ. North Carolina at Chapel Hill, UNC TR 79-006, 1979.
[34]
Räihä, K.-J.: Dynamic allocation of space for attribute instances in multipass evaluators of attribute grammars. Proc. SIGPLAN Symp. on Compiler Construction, Boulder, 1979, 26-38.
[35]
Reps, T.: Optimal time incremental semantic analysis for syntax-directed editors. POPL 9, 1982, 169-176.
[36]
Rosen, B.K.: High-level data flow analysis. CACM 20, 10 (1979), 712-724.
[37]
Sethi, R.: Circular expressions: elimination of static environments. 8th ICALP, Lecture Notes in Comp. Sci. 115 (1981), 378-392.
[38]
Tarjan, R.E.: Iterative algorithms for global data flow analysis. Report STAN-CS-76-547, Stanford Univ., 1976.
[39]
Wilhelm, R.: Computation and use of data flow information in optimizing compilers. Acta Informatica 12 (1979), 209-225.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 17, Issue 6
Proceedings of the 1982 SIGPLAN symposium on Compiler construction
June 1982
347 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/872726
Issue’s Table of Contents
  • cover image ACM Conferences
    SIGPLAN '82: Proceedings of the 1982 SIGPLAN symposium on Compiler construction
    June 1982
    357 pages
    ISBN:0897910745
    DOI:10.1145/800230

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 June 1982
Published in SIGPLAN Volume 17, Issue 6

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)113
  • Downloads (Last 6 weeks)22
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2013)A Generic Functional Representation of Sorted Trees Supporting AttributionProgramming Logics10.1007/978-3-642-37651-1_4(72-89)Online publication date: 2013
  • (2013)Harald Ganzinger’s Legacy: Contributions to Logics and ProgrammingProgramming Logics10.1007/978-3-642-37651-1_1(1-18)Online publication date: 2013
  • (2012)BibliographyEngineering a Compiler10.1016/B978-0-12-088478-0.00024-4(765-785)Online publication date: 2012
  • (2008)Die 70er JahreInformatikforschung in Deutschland10.1007/978-3-540-76550-9_5(133-150)Online publication date: 2008
  • (2007)Using Verified Data-Flow Analysis-based Optimizations in Attribute GrammarsElectronic Notes in Theoretical Computer Science (ENTCS)10.1016/j.entcs.2006.06.020176:3(109-122)Online publication date: 1-Jul-2007
  • (2006)Tool Integration with Triple Graph Grammars - A SurveyElectronic Notes in Theoretical Computer Science (ENTCS)10.1016/j.entcs.2005.12.015148:1(113-150)Online publication date: 1-Feb-2006
  • (2006)Lazy recursive descent parsing for modular language implementationSoftware: Practice and Experience10.1002/spe.438020080220:8(749-772)Online publication date: 30-Oct-2006
  • (2005)Rie and Jun: Towards the generation of all compiler phasesCompiler Compilers10.1007/3-540-53669-8_74(56-70)Online publication date: 4-Jun-2005
  • (2005)Attributed tree transformations with delayed and smart re-evaluationCompiler Compilers and High Speed Compilation10.1007/3-540-51364-7_13(160-174)Online publication date: 1-Jun-2005
  • (2005)Code generator generation based on template-driven target term rewritingRewriting Techniques and Applications10.1007/3-540-17220-3_10(105-120)Online publication date: 26-May-2005
  • 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