Skip to main content

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Balachandran A, Dhamdhere DM, Biswas S. Efficient Retargetable Code Generation Using Bottom-Up Tree Pattern Matching. Computer Languages, 15 (3): 127–140, 1990.

    Article  Google Scholar 

  2. 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.

    Google Scholar 

  3. Dershowitz N, Jouannaud JP. Rewrite Systems, vol B of Handbook of Theoretical Computer Science, chapter 15. North Holland, 1990.

    Google Scholar 

  4. Emmelmann H. Code Selection by Regularly Controlled Rewriting. In [10], 1992.

    Google Scholar 

  5. Ferdinand C, Seidl H, Wilhelm R. Tree Automata for Code Selection. In [10], 1992.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. Ganzinger H, Giegerich R, Vach M. MARVIN — A Tool for Applicative and Modular Compiler Specifications. Technical Report 220, University Dortmund, 1986.

    Google Scholar 

  8. Giegerich R. Code Selection by Inversion of Order-Sorted Derivors. TCS, 73: 177–211, 1990.

    Article  MathSciNet  MATH  Google Scholar 

  9. 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.

    Google Scholar 

  10. Giegerich R, Graham SL (eds). Code Generation — Concepts, Tools, Techniques. This vol of Workshops in Computing (WICS). Springer Verlag, 1992.

    Google Scholar 

  11. Giegerich R, Hogenkamp H. Semi-Formal Validation in Code Generator Development. Submitted, 1992.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. Knuth DE. Semantics of Context-free Languages. Mathematical Systems Theory 2, pp 127–145, 1968.

    Article  MathSciNet  MATH  Google Scholar 

  15. Lang B. Towards a Uniform Framework for Parsing. In Tornita M (ed), Current issues in parsing technologies. Kluver Academic Press, 1990.

    Google Scholar 

  16. Pelegri-Llopart E. Rewrite Systems, Pattern Matching and Code Generation. PhD thesis, UC Berkeley, 1987. EECS-Report.

    Google Scholar 

  17. Reinold M. Transformations in Shared Forests. Master’s thesis, Universität Dortmund, 1991. in German.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics