Code selection techniques: Pattern matching, tree parsing, and inversion of derivors

  • Robert Giegerich
  • Karl Schmal
5. Implementation Of Programming Languages
Part of the Lecture Notes in Computer Science book series (LNCS, volume 300)


Code Generation Tree Parsing Tree Language Register Allocation Intermediate Language 
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.


  1. [ACK83]
    A. Tanenbaum, H. van Staveren, E. Keizer, J. Stevenson: A Practical tool Kit for making Portable Compilers. CACM 26(9), pp. 654–660, 1983]Google Scholar
  2. [ADJ78]
    J.A. Goguen, J.W. Thatcher, E.G. Wagner: An initial algebra approach to the specification, correctness and implementation of abstract data types. In R. Yeh (ed.): Current trends in programming methodology, Vol. IV, Prentice Hall, 1978.Google Scholar
  3. [AhGa85]
    A.V. Aho, M. Ganapathi: Efficient tree pattern matching: an aid to code generation. Proceedings POPL 12, pp.334–340, 1985.Google Scholar
  4. [AGT86]
    A.V. Aho, M. Ganapathi, S.W.K. Tjiang: Code Generation Using Tree Matching and Dynamic Programming. Report, Bell Laboratories, Murray Hill, 1986.Google Scholar
  5. [AhJo76]
    A.V. Aho, S.C. Johnson: Optimal Code Generation for Expression Trees. JACM 23(3), pp. 488–501, 1976.Google Scholar
  6. [Benk85]
    M. Benk: Tree grammars as a pattern matching mechanism for code generation. Report TUM-I8524, Technical University München, 1985.Google Scholar
  7. [Brai69]
    M.S. Brainerd: Tree generating regular systems. Information and Control 14, pp. 217–231, 1969.CrossRefGoogle Scholar
  8. [Catt77]
    R.G.G. Cattell: Formalization and Automatic Derivation of Code Generators. Dissertation, Report CMU-CS-78-117, Carnegie-Mellon-University, Pittsburgh 1978.Google Scholar
  9. [Chas87]
    D.R. Chase: An improvement to bottom-up tree pattern matching. Proceedings POPL 14, 1987.Google Scholar
  10. [CHK84]
    Th.W. Christopher, Ph.J. Hatcher, R.C. Kukuk: Using dynamic programming to generate optimized code in a Graham-Glanville style code generator. Proceedings SIGPLAN ′84 Symposium on Compiler Construction, SIGPLAN Notices 19, 6, 1984.Google Scholar
  11. [GaGi84]
    H. Ganzinger, R. Giegerich: Attribute coupled grammars. Proceedings 2nd SIGPLAN Symposium on Compiler Construction, SIGPLAN Notices 19 (6), pp.70–80, 1984.Google Scholar
  12. [Gieg84]
    R. Giegerich: Code generation phase models based on abstract machine descriptions. Report TUM-I8412, Technical University München, 1984.Google Scholar
  13. [Gieg85]
    R. Giegerich: Logic specification of code generation techniques. In: H. Ganzinger, N.D. Jones (Eds.): Programs as data objects. LNCS 217, Springer Verlag, 1985.Google Scholar
  14. [Glan77]
    R.S. Glanville: A Machine Independent Algorithm for Code Generation and its Use in Retargetable Compilers. Dissertation, Report UCB-CS-78-01, University of California, Berkeley 1977.Google Scholar
  15. [GrGl77]
    R.S. Glanville, S.L. Graham: A new method for compiler code generation. Proceedings 5th ACM Symposium on Principles of Programming Languages, pp. 231–240, 1977.Google Scholar
  16. [HaCh86]
    Ph. J. Hatcher, Th. W. Christopher: High quality code generation via bottom-up tree pattern matching. Proceedings SIGPLAN 86 Symposium on Compiler Construction, SIGPLAN Notices 21, 6, 1986.Google Scholar
  17. [Henr84]
    R.R. Henry: Graham-Glanville code generators. Dissertation, Report UCB-CSD-84-184, Berkeley 1984.Google Scholar
  18. [HoOD82]
    Ch. Hoffman, M. O'Donnell: Pattern matching in trees. JACM, pp.68–95, 1982.Google Scholar
  19. [Hors87]
    N. Horspool: An alternative to the Graham-Glanville code-generation method. IEEE Software, pp. 33–39, May 1987.Google Scholar
  20. [HuHu80]
    G. Huet, J.-M. Hullot: Proofs by induction in equational theories with constructors. Proceedings 21st SFCS, Lake Placid, pp 96–107, 1980.Google Scholar
  21. [HuOp80]
    G. Huet, D.C. Oppen: Equations and rewrite rules: A survey. In R. Book (ed.): Formal language theory: Perspectives and open problems. Academic Press, 1980.Google Scholar
  22. [Kron75]
    H. Kron: Tree templates and subtree transformational grammars. Dissertation, UC Santa Cruz, 1975.Google Scholar
  23. [MRSD86]
    M. Mazaud, R. Rakatozafy, A. Szumachowski-Despland: Code Generation Based on Template-Driven Target Term Rewriting; Rapport de Recherche, INRIA, 1986.Google Scholar
  24. [Ripk77]
    K. Ripken: Formale Beschreibung von Maschinen, Implementierungen und optimierender Maschinencodeerzeugung aus attributuerten Programmgraphen. Dissertation, TUM-INFO-7731, Institut für Informatik, TU München, 1977.Google Scholar
  25. [RKKL85]
    P. Rety, C. Kirchner, H. Kirchner, P. Lescanne: NARROWER: a new algorithm for unification and its application to logic programming. Proc. 1st Conference on Rewriting Techniques and Applications, LNCS 202, Springer Verlag, pp. 141–157, 1985.Google Scholar
  26. [Turn86]
    P.K. Turner: Up-down parsing with prefix grammars. SIGPLAN Notices 21, (12), 1986.Google Scholar
  27. [Weis87]
    B. Weisgerber: Private communication.Google Scholar
  28. [WeWi86]
    B. Weisgerber, R. Wilhelm: Two tree pattern matchers for code generation. Internal Report, University Saarbrücken, 1986.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Robert Giegerich
    • 1
  • Karl Schmal
    • 1
  1. 1.FB Informatik - Lehrstuhl VUniversität DortmundDortmund

Personalised recommendations