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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
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.
C. M. Hoffmann and M. J. O'Donnell. Pattern matching in trees. Journal of the ACM, 29(1):68–95, 1982.
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.
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.
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.
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.
N. Martì-Oliet and J. Meseguer. Rewriting logic as a logical and semantical framework. Technical report, SRI International, May 1993.
M. Meier, J. Schimpf, et al. ECLiPSe User Manual. Technical report ECRC-93-6, ECRC, Munich (Germany), 1993.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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