Abstract
Considerate code selection is not another code selection technique. It is concerned with the integration of code selection with other subtasks of code generation, such as register allocation and scheduling. Considerate code selection allows to defer decisions between alternative encodings. This is achieved by means of a shared representation of the overall solution space. Subsequent phases are adapted to process all solutions simultaneously, again producing results in a shared representation. Decisions may be interspersed in this process whenever desired.
The paper introduces this technique in a framework where code selection in done by tree parsing, and later phases are described by attribute coupled grammars. Being a general technique rather than an algorithm, considerate code selection can be used with any of the current, pattern based approaches to code selection.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Balachandran A, Dhamdhere DM, Biswas S. Efficient Retargetable Code Generation Using Bottom-Up Tree Pattern Matching. Computer Languages, 15 (3): 127–140, 1990.
Chen H, Hsiang J. Logic Programming with Recurrence Domains. In Proceedings 18th International Colloquium on Automata, Languages and Programming, vol 510 of Lecture Notes in Computer Science (LNCS), pp 20–34. Springer, 1991.
Dershowitz N, Jouannaud JP. Rewrite Systems, vol B of Handbook of Theoretical Computer Science, chapter 15. North Holland, 1990.
Emmelmann H. Code Selection by Regularly Controlled Rewriting. In [10], 1992.
Ferdinand C, Seidl H, Wilhelm R. Tree Automata for Code Selection. In [10], 1992.
Ganzinger H, Giegerich R. Attribute Coupled Grammars. In Proceedings of the International Symposium on Compiler Construction, pp 70–80. Association for Computing Machinery (ACM), 1984. Issue 19(6), 1984 of SIGPLAN NOTICES.
Ganzinger H, Giegerich R, Vach M. MARVIN — A Tool for Applicative and Modular Compiler Specifications. Technical Report 220, University Dortmund, 1986.
Giegerich R. Code Selection by Inversion of Order-Sorted Derivors. TCS, 73: 177–211, 1990.
Giegerich R. On the Structure of Verifiable Code Generator Specifications. In Proceedings SIGPLAN `90 Conference on Programming Language Design and Implementation, pp 1–8, 1990. Issue 25(6),1990 of SIGPLAN NOTICES.
Giegerich R, Graham SL (eds). Code Generation — Concepts, Tools, Techniques. This vol of Workshops in Computing (WICS). Springer Verlag, 1992.
Giegerich R, Hogenkamp H. Semi-Formal Validation in Code Generator Development. Submitted, 1992.
Giegerich R, Schmal K. Code Selection Techniques: Pattern Matching, Tree Parsing and Inversion of Derivors. In Proceedings of the European Symposium on Programming 1988, vol 300 of Lecture Notes in Computer Science (LNCS), pp 247–268. Springer, 1988.
Hullot JM. Canonical Forms and Unification. In Proceedings of the 5th Conference on Automated Deduction, vol 87 of Lecture Notes in Computer Science (LNCS), pp 318–334. Springer, 1980.
Knuth DE. Semantics of Context-free Languages. Mathematical Systems Theory 2, pp 127–145, 1968.
Lang B. Towards a Uniform Framework for Parsing. In Tornita M (ed), Current issues in parsing technologies. Kluver Academic Press, 1990.
Pelegri-Llopart E. Rewrite Systems, Pattern Matching and Code Generation. PhD thesis, UC Berkeley, 1987. EECS-Report.
Reinold M. Transformations in Shared Forests. Master’s thesis, Universität Dortmund, 1991. in German.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1992 Springer-Verlag London
About this paper
Cite this paper
Giegerich, R. (1992). Considerate Code Selection. In: Giegerich, R., Graham, S.L. (eds) Code Generation — Concepts, Tools, Techniques. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3501-2_3
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3501-2_3
Publisher Name: Springer, London
Print ISBN: 978-3-540-19757-7
Online ISBN: 978-1-4471-3501-2
eBook Packages: Springer Book Archive