Advertisement

Modular compiler descriptions based on abstract semantic data types (Extended Abstract)

  • Harald Ganzinger
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 154)

Abstract

In this paper we introduce a method for modularizing descriptions of compilers. Modules correspond to basic language concepts such as binding of identifiers, control constructs, type concept. This allows compiler descriptions to be more easily adapted to different but related languages. The formal treatment of the method is by extending known models of abstract data type theory.

Keywords

Parse Tree Relation Symbol Forgetful Functor Terminal Symbol Abstract Data Type 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [ADJ78a]
    Goguen, J.A., Thatcher, J.W., and Wagner, E.G.: An initial algebra approach to the specification, correctness, and implementation of abstract types. Current trends in Programming Methodology, IV: Data Structuring (R.T. Yeh, ed.), Prentice Hall, 1978, pp. 80–149.Google Scholar
  2. [ADJ78b]
    Thatcher, J.W., Wagner, E.G., and Wright, J.B.: Data type specification: parameterization and the power of specification techniques. Proc. SIGACT 10th Annual Symp. on Theory of Comp., May 1978, pp. 119–132.Google Scholar
  3. [ADJ79]
    Thatcher, J.W., Wagner, E.G., and Wright, J.B.: More on advice on structuring compilers and proving them correct. Proc. ICALP 1979, LNCS 71, 1979.Google Scholar
  4. [ADJ80]
    Ehrig, H., Kreowski, H.-J., Thatcher, J.W., Wagner, E.G., and Wright, J.B.: Parameter passing in algebraic specification languages. Proc. ICALP 1980, LNCS 85, 1980.Google Scholar
  5. [BG80]
    Burstall, R.M., and Goguen, J.A.: The semantics of CLEAR, a specification language. Version of Feb. 80. Proc. 1979 Copenhagen Winter School in Abstract Software Specifications.Google Scholar
  6. [BW80]
    Broy, M., and Wirsing, M.: Algebraic definition of a functional programming language and its semantic models. Techn. Univ. München, Rep. TUM-I8008, 1980.Google Scholar
  7. [CM77]
    Chirica, L.M., Martin, D.F.: An algebraic formulation of Knuthian semantics. Proc. 17th IEEE Symp. on FOCS, 1977, pp.127–136.Google Scholar
  8. [CP67]
    McCarthy, J., Painter, J.: Correctness of a compiler for arthmetic expressions. Math. Aspects of Comp. Sci., Proc. Symp. in Appl. Math., 19 (1967), pp.33–41.Google Scholar
  9. [Gan83]
    Ganzinger, H.: Increasing modularity and language-independency in automatically generated compilers. Report TUM-I83., TU München, 1983, in print.Google Scholar
  10. [Gau82]
    Gaudel, M.-C.: Correctness proof of programming language translation. In D. BjØrner (ed.): Proc. IFIP TC2 Work. Conf. on Formal Description of Programming Concepts II, Garmisch-Partenkirchen 1982, to be published by North-Holland Publ. Co.Google Scholar
  11. [GHM78]
    Guttag, J., Horowitz, W., and Musser, D.: Abstract data types and software validation. Com. ACM, 21, 12 (1978), 1043–1064.Google Scholar
  12. [Gog78]
    Goguen, J.A.: Some design principles and theory for OBJ-O. Proc. Int. Conf. on Math. Studies of Inf. Proc, Kyoto, 1978.Google Scholar
  13. [GP81]
    Goguen, J.A., Parsay-Ghomi, K.: Algebraic denotational semantics using parameterized abstract modules. LNCS 107, Springer 1981, 292–309.Google Scholar
  14. [Knu68]
    Knuth, D.E.: Semantics of context-free languages. Math. Systems Theory 2, (1968), 127–145.Google Scholar
  15. [Lip82]
    Lipeck, U.: An algebraic calculus for structured design of data abstractions (in German). PhD-Thesis, Univ. Dortmund, 1982.Google Scholar
  16. [Mor73]
    Morris, F.L.: Advice on structuring compilers and proving them correct. Proc. POPL, Boston 1973, pp. 144–152.Google Scholar
  17. [Mos80]
    Mosses, P.: A constructive approach to compiler correctness. LNCS 94, Springer 1980.Google Scholar
  18. [Mos82]
    Mosses, P.: Abstract semantic algebras! In D. BjØrner (ed.): Proc. IFIP TC2 Work. Conf. on Formal Description of Programming Concepts II, Garmisch-Partenkirchen 1982, to be published by North-Holland Publ. Co.Google Scholar
  19. [RS82]
    Raoult, J.-C., Sethi, R.: On metalanguages for a compiler generator. Proc. ICALP 1982, Aarhus.Google Scholar
  20. [Wan79]
    Wand, M.: First-order identities as a defining language. Techn. Rep. 29, Comp. Sci. Dept., Indiana Univ., Bloomington, Indiana, 1979.Google Scholar
  21. [Wan82]
    Wand, M.: Semantics-directed machine architecture. Proc. POPL 1982.Google Scholar
  22. [Zil75]
    Zilles, S.N.: An introduction to data algebras. Working draft paper. IBM Research, San Jose, 1975.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1983

Authors and Affiliations

  • Harald Ganzinger
    • 1
  1. 1.Institut für InformatikTechnische Universität MünchenMünchen 2Fed. Rep. of Germany

Personalised recommendations