Skip to main content

A compiler for nondeterministic term rewriting systems

  • Regular Papers
  • Conference paper
  • First Online:
Rewriting Techniques and Applications (RTA 1996)

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

Included in the following conference series:

Abstract

This work presents the design and the implementation of a compiler for the ELAN specification language. The language is based on rewriting logic and permits, in particular, the combination of computations where deterministic evaluations are mixed with a nondeterministic search for solutions. The implementation combines compilation methods of term rewriting systems, functional and logic programming languages, and some new original techniques producing, in summary, an efficient code in an imperative language. The efficiency of the compiler is demonstrated on experimental results.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. W. Appel and D. B. MacQueen. A Standard ML Compiler. In Proceedings of the Conference on Functional Programming Languages and Computer Architecture, volume 274 of Lecture Notes in Computer Science, pages 301–324, Portland, Oregon, USA, September 14–16, 1987. Springer-Verlag.

    Google Scholar 

  2. L. Augustsson. Compiling pattern matching. In Proceedings 2nd Conference on Functional Programming Languages and Computer Architecture, Nancy (France), volume 201 of Lecture Notes in Computer Science, Nancy (France), 1985. Springer-Verlag.

    Google Scholar 

  3. K. Didrich, A. Fett, C. Gerke, W. Grieskamp, and P. Pepper. OPAL: Design and implementation of an algebraic programming language. In J. Gutknecht, editor, Programming Languages and System Architectures PLSA '94, volume 782 of Lecture Notes in Computer Science, pages 228–244. Springer-Verlag, March 1994.

    Google Scholar 

  4. T. Frühwirth. Constraint handling rules. In A. Podelski, editor, Constraint Programming: Basics and Trends, volume 910 of Lecture Notes in Computer Science. Springer-Verlag, March 1995.

    Google Scholar 

  5. C. M. Hoffmann and M. J. O'Donnell. Pattern matching in trees. Journal of the ACM, 29(1):68–95, 1982.

    Article  Google Scholar 

  6. J.-P. Jouannaud and C. Kirchner. Solving equations in abstract algebras: a rule-based survey of unification. In J.-L. Lassez and G. Plotkin, editors, Computational Logic. Essays in honor of Alan Robinson, chapter 8, pages 257–321. The MIT press, Cambridge (MA, USA), 1991.

    Google Scholar 

  7. S. Kaplan. A compiler for conditional term rewriting system. In P. Lescanne, editor, Proceedings 2nd Conference on Rewriting Techniques and Applications, Bordeaux (France), volume 256 of Lecture Notes in Computer Science, pages 25–41, Bordeaux (France), May 1987. Springer-Verlag.

    Google Scholar 

  8. C. Kirchner, H. Kirchner, and M. Vittek. Designing constraint logic programming languages using computational systems. In P. Van Hentenryck and V. Saraswat, editors, Principles and Practice of Constraint Programming. The Newport Papers., pages 131–158. The MIT press, 1995.

    Google Scholar 

  9. E. Kounalis and D. Lugiez. Compilation of pattern matching with associative commutative functions. In 16th Colloquium on Trees in Algebra and Programming, volume 493 of Lecture Notes in Computer Science, pages 57–73. Springer-Verlag, 1991.

    Google Scholar 

  10. N. Martì-Oliet and J. Meseguer. Rewriting logic as a logical and semantical framework. Technical report, SRI International, May 1993.

    Google Scholar 

  11. M. Meier, J. Schimpf, et al. ECLiPSe User Manual. Technical report ECRC-93-6, ECRC, Munich (Germany), 1993.

    Google Scholar 

  12. M. Vittek. An efficient many-to-one unification algorithm for linear terms. (in Slovak language). In Proceedings of the First Czechoslovak Logic Programming Conference, 1990.

    Google Scholar 

  13. M. Vittek. ELAN: Un cadre logique pour le prototypage de langages de programmation avec contraintes. Thèse de Doctorat d'Université, Université Henri Poincaré-Nancy 1, October 1994.

    Google Scholar 

  14. D. H. D. Warren. An Abstract PROLOG Instruction Set. Technical Report 309, Artificial Intelligence Center, Computer Science and Technology Division, SRI International, Menlo Park, CA, October 1983.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Harald Ganzinger

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Vittek, M. (1996). A compiler for nondeterministic term rewriting systems. In: Ganzinger, H. (eds) Rewriting Techniques and Applications. RTA 1996. Lecture Notes in Computer Science, vol 1103. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61464-8_50

Download citation

  • DOI: https://doi.org/10.1007/3-540-61464-8_50

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-68596-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics