Skip to main content

On Extracting Static Semantics

  • Chapter
  • First Online:
The Essence of Computation

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2566))

  • 584 Accesses

Abstract

We examine the problem of automatically extracting a static semantics from a languageā€™s semantic definition. Traditional approaches require manual construction of static and dynamic semantics, followed by a proof that the two are consistent. As languages become more complex, the static analyses also become more complex, and consistency proofs have typically been challenging. We need to find techniques for automatically constructing static analyses that are provably correct. We study the issues of developing such techniques and propose avenues of research in this area. We find that significant advances are required before realizing the practical extraction of static semantics from language definitions.

This work is supported in part by NSF Award #CCR-9900918.

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. Barbuti, R. and A. Martelli, A structured approach to static semantics correctness, Science of Computer Programming 3 (1983), pp. 279ā€“311.

    ArticleĀ  MATHĀ  MathSciNetĀ  Google ScholarĀ 

  2. Cousineau, G., P.-L. Curien and M. Mauny, The categorical abstract machine, The Science of Programming 8 (1987), pp. 173ā€“202.

    ArticleĀ  MATHĀ  MathSciNetĀ  Google ScholarĀ 

  3. Doh, K.-G. and D. A. Schmidt, Extraction of strong typing laws from action semantics definitions, in: European Symposium on Programming, Lecture Notes in Computer Science 582 (1992), pp. 151ā€“166.

    Google ScholarĀ 

  4. Hannan, J., Staging transformations for abstract machines, in: P. Hudak and N. Jones, editors, Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics Based Program Manipulation (1991), pp. 130ā€“141.

    Google ScholarĀ 

  5. Hannan, J. and D. Miller, From operational semantics to abstract machines, Mathematical Structures in Computer Science 2 (1992), pp. 415ā€“459, appears in a special issue devoted to the 1990 ACM Conference on Lisp and Functional Programming.

    ArticleĀ  MATHĀ  MathSciNetĀ  Google ScholarĀ 

  6. Jones, N., Static semantics, types, and binding time analysis, Theoretical Computer Science 90 (1991), pp. 95ā€“118, also appeared in Images of Programming, eds. D. BjĆørner and V. Kotov, North-Holland.

    ArticleĀ  MATHĀ  Google ScholarĀ 

  7. Jones, N. D., C. K. Gomard and P. Sestoft, ā€œPartial evaluation and automatic program generation,ā€ Prentice Hall,, 1993.

    Google ScholarĀ 

  8. JĆørring, U. and W. Scherlis, Compilers and staging transformations, in: Thirteenth ACM Symposium on Principles of Programming Languages, 1986, pp. 86ā€“96.3

    Google ScholarĀ 

  9. Landin, P. J., The mechanical evaluation of expressions, Computer Journal 6 (1964), pp. 308ā€“320.

    MATHĀ  Google ScholarĀ 

  10. Lee, P. and U. F. Pleban, A realistic compiler generator based on high-level semantics, in: Conference Record of the 14th ACM Symposium on the Principles of Programming Languages, 1987, pp. 284ā€“295.

    Google ScholarĀ 

  11. Milner, R., M. Tofte, R. Harper and D. MacQueen, ā€œThe Definition of Standard ML (Revised),ā€ MIT Press, 1997.

    Google ScholarĀ 

  12. Montenyohl, M. and M. Wand, Correct flow analysis in continuation semantics, in: Conf. Rec. of the 15th ACM Symposium on Principles of Programming Languages, 1988, pp. 204ā€“218.

    Google ScholarĀ 

  13. Mosses, P. D., Compiler generation using denotational semantics, in: Mathematical Foundations of Computer Science, number 45 in Lecture Notes in Computer Science (1976), pp. 436ā€“441.

    Google ScholarĀ 

  14. Mosses, P. D., ā€œAction Semantics,ā€ Tracts in Theoretical Computer Science, Cambridge University Press, 1992.

    Google ScholarĀ 

  15. Nielson, F. and H. R. Nielson, Two-level semantics and code generation, Theoretical Computer Science 56 (1988), pp. 59ā€“133.

    ArticleĀ  MATHĀ  MathSciNetĀ  Google ScholarĀ 

  16. Palsberg, J., A provably correct compiler generator, in: Proceedings of the European Symposium on Programming, Lecture Notes in Computer Science 582 (1992), pp. 418ā€“434.

    Google ScholarĀ 

  17. Pierce, B. C., ā€œTypes and Programming Languages,ā€ MIT Press, 2002.

    Google ScholarĀ 

  18. Tofte, M., ā€œCompiler Generators,ā€ Springer-Verlag, 1990.

    Google ScholarĀ 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

Ā© 2002 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Hannan, J. (2002). On Extracting Static Semantics. In: Mogensen, T.Ɔ., Schmidt, D.A., Sudborough, I.H. (eds) The Essence of Computation. Lecture Notes in Computer Science, vol 2566. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36377-7_8

Download citation

  • DOI: https://doi.org/10.1007/3-540-36377-7_8

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-00326-7

  • Online ISBN: 978-3-540-36377-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics