Abstract
We deal with the generation of code selectors in compiler backends. The fundamental concepts are systematically derived from the theory of regular tree grammars and finite tree automata. We use this general approach to construct algorithms that generalize and improve existing methods.
Similar content being viewed by others
References
Aho, A.V., Ganapathi, M.: Efficient tree pattern matching: an aid to code generation. In: Proc. of the 12th ACM Symp. on Principles of Programming Languages, 1985, pp. 334–340
Börstler, J., Möncke, U., Wilhelm R.: Table compression for free automata. In: ACM Trans. Programm. Lang. Syst.13(3), 295–314 (1991)
Chase, D.R.: An improvement to bottom-up tree pattern matching. In: Proc. of 14th ACM Symposium on Principles of Programming Languages, 1987, pp. 168–177
Dauchet, M., Deruyver, A.: Compilation of ground term rewriting systems and applications. In: Dershowitz (ed.) Proceedings of the Conference: Rewriting Techniques and Applications. (Lect. Notes Comput. Sci., vol. 355, pp. 556–558) Berlin, Heidelberg, New York: Springer 1989
Downey, P.J., Sethi, R., Tarjan, E.R.: Variations on the common subexpression problem. In: J. ACM27, 758–771 (1980)
Emmelmann, H.: Code selection by regularly controlled term rewriting. In: Giegerich, R., Graham, S.L. (eds.) Code generation-concepts, tools, techniques. (Workshops in Computing Series), pp. 3–29) Berlin, Heidelberg, New York: Springer 1991
Ferdinand, C.: Pattern matching in a functional transformation language using treeparsing. In: Deransart, P., Maluszyński J. (eds.) Proceedings of the Workshop: Programming Language Implementation and Logic Programming (Lect. Notes Comput Sci., vol. 465, pp. 358–371) Berlin, Heidelberg, New York: Springer 1990
Gecseg, F., Steinby, M.: Tree automata. Budapest: Akademiai Kiado 1984)
Giegerich, R.: Code selection by inversion of order-sorted derivors. Theor. Comput. Sci.73, 177–211
Giegerich, R., Schmal, K.: Code selection techniques: pattern matching, tree parsing, and inversion of derivors. In: Ganzinger, H. (ed.) ESOP 88 (Lect. Notes Comput. Sci., vol. 300, pp. 247–268) Berlin, Heidelberg, New York, Springer 1988
Glanville, R.S.: A machine independent algorithm for code generation and its use in retargetable compilers. Ph.D. Thesis, University of California, Berkeley, 1977
Glanville, R.S., Graham, S.L.: A new method for compiler code generation. In: Proceedings of the 5th ACM Symposium on Principles of Programming Languages, 1978, pp. 231–240
Gräf, A.: Left-to-right tree pattern matching. In: Book, R.V. (ed.) Rewriting techniques and applications (Lect. Notes Comput. Sci., vol. 488, pp. 323–334) Berlin, Heidelberg, New York: Springer 1991
Henry, R.R.: Graham-Glanville code generators. Ph.D. Thesis, University of California, Berkeley, 1984
Henry, R.R., Damron, P.C.: Algorithms for table-driven code generators using tree-pattern matching. Technical Report #89-02-03. University of Washington, Seattle, 1989
Henry, R.R., Damron, P.C.: Encoding optimal pattern selection in a table driven bottom-up tree-pattern matcher. Technical Report #89-02-04, University of Washington, Seattle, 1989
Hoffmann, D.M., O'Donnell, M.J.: Pattern matching in trees. J. ACM29(1), 68–95 (1982)
Kron, H.: Tree templates and subtree transformational grammars. Ph.D. Thesis, University of California, Santa Cruz, 1975
Mathis, N.: Weiterentwicklung eines Codeselektorgenerators und Anwendung auf den NSC32000. Diplomarbeit, Universität des Saarlandes, 1990
Möncke, U.: Simulating automata for weighted tree reductions. Technischer Bericht Nr. A10/87, Universität des Saarlandes, 1987
Nivat, M., Podelski, A. (eds.) Tree automata and languages. Amsterdam: Elsevier 1992
Möncke, U., Weisgerber, B., Wilhelm, R.: Generative support for transformational programming. In: ESPRIT: Status Report of Continuing Work. Brussels: Elsevier 1986
Pelegri-Llopart, E.: Rewrite systems, pattern matching, and code generation. Ph.D. Thesis, University of California, Berkeley, 1988
Pelegri-Llopart, E., Graham, S.L.: Optimal code generation for expression trees: an application of BURS theory. In: Proceedings of the 15th ACM Symposium on Principles of Programming Languages, 1988, San Diego, CA, pp. 294–308
Peper, C.: Generische Baumanalysatoren-Generatoren. Diplomarbeit Universität des Saarlandes, 1994
Ripken, K.: Formale Beschreibungen von Maschinen, Implementierungen und optimierender Maschinencode-Erzeugung aus attributierten Programmgraphen. Dissertation, TU München, 1977
Weisgerber, B., Wilhelm, R.: Two tree pattern matchers for code selection. In: Hammer, D. (ed.) Compiler compilers and high speed compilation (Lect. Notes Comput. Sci., vol. 371, pp. 215–229) Berlin, Heidelberg, New York: Springer, 1988
Author information
Authors and Affiliations
Additional information
Funded by the ESPRIT Project #5399 (COMPARE)
Funded by DFG SFB #124 VLSI-Design and Parallelism
Rights and permissions
About this article
Cite this article
Ferdinand, C., Seidl, H. & Wilhelm, R. Tree automata for code selection. Acta Informatica 31, 741–760 (1994). https://doi.org/10.1007/BF01178733
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF01178733