Skip to main content

Combining Semantics with Non-standard Interpreter Hierarchies

  • Conference paper
  • First Online:

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

Abstract

This paper reports on results concerning the combination of non-standard semantics via interpreters. We define what a semantics combination means and identify under which conditions a combination can be realized by computer programs (robustness, safely combinable). We develop the underlying mathematical theory and examine the meaning of several non-standard interpreter towers. Our results suggest a technique for the implementation of a certain class of programming language dialects by composing a hierarchy of non-standard interpreters.

On leave from DIKU, Department of Computer Science, University of Copenhagen.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. M. Abramov, R. Glück. From standard to non-standard semantics by semantics modifiers. International Journal of Foundations of Computer Science. to appear.

    Google Scholar 

  2. S. M. Abramov, R. Glück. The universal resolving algorithm: inverse computation in a functional language. In R. Backhouse, J. N. Oliveira (eds.), Mathematics of Program Construction. Proceedings, LNCS 1837, 187–212. Springer-Verlag, 2000.

    Chapter  Google Scholar 

  3. K. Apt, F. Turini. Meta-Logics and Logic Programming. MIT Press, 1995.

    Google Scholar 

  4. O. Danvy. Across the bridge between reflection and partial evaluation. In D. Bjørner, A. P. Ershov, N. D. Jones (eds.), PEMC, 83–116. North-Holland, 1988.

    Google Scholar 

  5. O. Danvy, R. Glück, P. Thiemann (eds.). Partial Evaluation. Proceedings, LNCS 1110. Springer-Verlag, 1996.

    Google Scholar 

  6. J. Earley, H. Sturgis. A formalism for translator interactions. CACM, 13(10):607–617, 1970.

    MATH  Google Scholar 

  7. Y. Futamura. Partial evaluation of computing process-an approach to a compilercompiler. Systems, Computers, Controls, 2(5):45–50, 1971.

    Google Scholar 

  8. S. Jefferson, D. P. Friedman. A simple reflective interpreter. Lisp and Symbolic Computation, 9(2/3):181–202, 1996.

    Article  Google Scholar 

  9. N. D. Jones, C. K. Gomard, P. Sestoft. Partial Evaluation and Automatic Program Generation. Prentice-Hall, 1993.

    Google Scholar 

  10. S. N. Kamin. Programming Languages: An Interpreter-Based Approach. Addison-Wesley, 1990.

    Google Scholar 

  11. A. Kishon, P. Hudak. Semantics directed program execution monitoring. Journal of Functional Programming, 5(4):501–547, 1995.

    Article  Google Scholar 

  12. P. Lucas, P. Lauer, H. Stigleitner. Method and notation for the formal definition of programming languages. Technical report, IBM Lab Vienna, 1968.

    Google Scholar 

  13. J. McCarthy. Recursive functions of symb. expressions. CACM, 3(4):184–195, 1960.

    MATH  MathSciNet  Google Scholar 

  14. F. G. Pagan. On interpreter-oriented definitions of programming languages. Computer Journal, 19(2):151–155, 1976.

    MATH  MathSciNet  Google Scholar 

  15. J. C. Reynolds. Definitional interpreters for higher-order programming languages. In ACM Annual Conference, 717–740. ACM, 1972.

    Google Scholar 

  16. B. J. Ross. Running programs backwards: the logical inversion of imperative computation. Formal Aspects of Computing, 9:331–348, 1997.

    Article  MATH  Google Scholar 

  17. B. C. Smith. Reflection and semantics in Lisp. In POPL, 23–35. ACM Press, 1984.

    Google Scholar 

  18. G. L. Steele. Building interpreters by composing monads. In POPL, 472–492. ACM Press, 1994.

    Google Scholar 

  19. G. L. Steele, G. J. Sussman. The art of the interpreter or, the modularity complex (parts zero, one, two). MIT AI Memo 453, MIT AI Laboratory, 1978.

    Google Scholar 

  20. L. Sterling, E. Shapiro. The Art of Prolog. MIT Press, 1986.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Abramov, S., Glück, R. (2000). Combining Semantics with Non-standard Interpreter Hierarchies. In: Kapoor, S., Prasad, S. (eds) FST TCS 2000: Foundations of Software Technology and Theoretical Computer Science. FSTTCS 2000. Lecture Notes in Computer Science, vol 1974. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44450-5_16

Download citation

  • DOI: https://doi.org/10.1007/3-540-44450-5_16

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41413-1

  • Online ISBN: 978-3-540-44450-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics