A compiler for conditional term rewriting systems

  • Stéphane Kaplan
Part of the Lecture Notes in Computer Science book series (LNCS, volume 256)


In this paper, we present a compiler for conditional term rewriting systems. With respect to traditional interpreters, the gain in execution time that we obtain is of several orders of magnitude. We discuss several optimizations, among which a method to share code in the premises of the conditional rules, well-adapted to algebraic specifications.


Normal Form Directed Acyclic Graph Logic Programming Language Conditional Rule Algebraic Specification 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. [Aff 81]
    R.Erickson, D.Thompson (eds.), AFFIRM Reference Manual, USC-ISI, Marina Del Rey (California), 1981.Google Scholar
  2. [Assp 86]
    M.Bidoit, F.Capy, C.Choppy, N.Choquet, C.Gresse, S.Kaplan, F.Schlienger, F.Voisin, ASSPRO: un environement de programmation interactif et intégré, to appear in T.S.I., 1986.Google Scholar
  3. [AU 77]
    J.Aho, D.Ullmann, Principles of Compiler Design, Addison Wesley Publishing Co., 1977.Google Scholar
  4. [Aug 85]
    L. Augustsson, Compiling Pattern Matching, Proc. of the Conf. on Functional Programming Languages and Computer Architectures, LNCS 201 (1985).Google Scholar
  5. [BT 86]
    J.Bergstra, J.Tucker, Algebraic Specifications of Computable and Semi-Computable Data Types, Report CS-R8619, CWI, Amsterdam (1986).Google Scholar
  6. [BC 85]
    M.Bidoit, C.Choppy, Asspegique: an Integrated Environment for Algebraic Specifications, Proc. of the TAPSOFT'85 Conf., LNCS 186 (1985).Google Scholar
  7. [BMS 80]
    R.Burstall, D.MacQueen, D.Sanella, HOPE: an Experimental Applicative Language, Conf. Record of the 1980 Lisp Conf., 1980.Google Scholar
  8. [Cohen 85]
    J. Cohen, describing Prolog by its Interpretation and its Compilation, CACM 28, 12, September 1985.Google Scholar
  9. [CGSA 85]
    D.Coleman, R.Gallimore, V.Stavridiou, F.Ali, the Design of a Rewrite Rule Interpreter for UMIST OBJ, UMIST Internal Report (Manchester), 1985.Google Scholar
  10. [Darl 86]
    J.Darlington, the Unification of Logic and Functional Languages, in Logic Programming: Relations, Functions and Equations, DeGroot and Lindstrom Eds., Prentice Hall, 1986.Google Scholar
  11. [FGJM 85]
    K.Futatsugi, J.Goguen, J.-P.Jouannaud, J.Meseguer, Principles of OBJ2, Proc. of the 12th ACM POPL Conf., New-Orleans, 1985.Google Scholar
  12. [GCAS 85]
    R.Gallimore, D.Coleman, F.Ali, V.Stavridiou, UMIST OBJ: A Language for Executable Specifications, UMIST Internal Report (Manchester), 1985.Google Scholar
  13. [GK 86]
    M.-C.Gaudel, S.Kaplan, How to Build Meaningful Algebraic Specifications, Esprit Meteor Project Report, University of Paris-South, 1986.Google Scholar
  14. [Hecht 77]
    M.Hecht, Flow Analysis of Computer Programs, North-Holland Publishing Company, 1977.Google Scholar
  15. [HO 80]
    G.Huet, D.C.Oppen, Equations and Rewrite Rules: a Survey, in Formal Languages: Perspective and Open Problems, R. Book Ed., Academic Press, 1980.Google Scholar
  16. [HS 86]
    A.Houri, E.Shapiro, A Sequential Abstract Machine for Flat Concurrent Prolog, Technical Report CS86-20, Weizmann Institute (Israel), 1986.Google Scholar
  17. [Huet 77]
    G.Huet, Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems, Proc. of the 18th FOCS Symposium, 1977.Google Scholar
  18. [JD 86]
    A.Josephson, N.Dershowitz, Efficient Implementations of Narrowing: the RITE Way, Internal Report, University of Illinois, 1986.Google Scholar
  19. [Jones 86]
    N.Jones, Flow Analysis of Lazy Higher-Order Functional Programs, Internal Report, University of Copenhagen, 1986.Google Scholar
  20. [Kaplan 84]
    S.Kaplan, Conditional Rewrite Rules, in Theoretical Computer Science 33, 1984.Google Scholar
  21. [Kaplan 86]
    S.Kaplan, Simplifying Conditional Term Rewriting Systems, Internal Report, Weizmann Institute (Israel), 1986.Google Scholar
  22. [MJ 86]
    A.Mycroft, N.Jones, A Relational Approach to Program Flow Analysis, in Programs as Data Objects, LNCS 217, 1985.Google Scholar
  23. [Stickel 86]
    M.Stickel, A Prolog Technology Theorem Prover: Implementation by an Extended Prolog Compiler, Proc. of the 8th CAD Conference, LNCS 230, 1986.Google Scholar
  24. [RZ 85]
    J.-L.Rémy, H.Zhang, Contextual Rewriting, Proc. of the 1st Conf. on Rewriting Techniques and Applications, LNCS 202, 1985.Google Scholar
  25. [Warren 80]
    D.Warren, Logic Programming and Computer Writing, in Software Practice and Experience 10, 1980.Google Scholar
  26. [Warren 83]
    D.Warren, An Abstract Prolog Instruction Set, A.I. Technical Report 309, SRI INternational, 1983.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Stéphane Kaplan
    • 1
  1. 1.L.R.I. U.A. 410 of the C.N.R.S. Bat. 490Université des SciencesOrsay CedexFrance

Personalised recommendations