Skip to main content

Minimal Adaptive Pattern-Matching Automata for Efficient Term Rewriting

  • Conference paper
  • First Online:
Implementation and Application of Automata (CIAA 2001)

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

Included in the following conference series:

  • 269 Accesses

Abstract

In term rewriting systems, pattern-matching is performed according to a prescribed traversal order. By adapting the traversal order to suit the patterns of the rewriting system, it is often possible to obtain better matching automata in the sense that they have a smaller size and allow term matching in shorter time, compared with the left-to-right automaton. They may improve termination properties too. Space requirement is reduced further using a directed acyclic graph automaton that shares all the equivalent subautomata. This is done without altering either the matching time or termination properties. Isomorphic subautomata are duplicated in the tree-based automata. We discuss and develop an efficient approach to space requirement optimisation, matching time and termination properties improvement.

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. Augustsson, A Compiler for Lazy ML, Proceedings ACM Conference on Lisp and Functional Programming, ACM, pp. 218–227, 1984.

    Google Scholar 

  2. J. Christian, Flatterms, Discrimination Nets and Fast Term Rewriting, Journal of Automated Reasoning, vol. 10, pp. 95–113, 1993.

    Article  MathSciNet  Google Scholar 

  3. N. Dershowitz and J.P. Jouannaud, Rewrite Systems, Handbook of Theoretical Computer Science, vol. 2, chap. 6, Elsevier Science Publishers, 1990.

    Google Scholar 

  4. A.J. Field and P.G. Harrison, Functional Programming, International Computer Science Series, 1988.

    Google Scholar 

  5. Gräf, Left-to-Right Tree Pattern-Matching, Proceedings Conference on Rewriting Techniques and Applications, Lecture Notes in Computer Science, vol. 488, pp. 323–334, 1991.

    Google Scholar 

  6. CM. Hoffman and M.J. O’Donnell, Pattern-Matching in Trees, Journal of ACM, 29(1):68–95, 1982.

    Article  Google Scholar 

  7. P. Hudak and al., Report on the Programming Language Haskell: a Non-Strict, Purely Functional Language, Sigplan Notices, Section S, May 1992.

    Google Scholar 

  8. Laville, Comparison of Priority Rules in Pattern Matching and Term Rewriting, Journal of Symbolic Computation, 11:321–347, 1991.

    Article  MATH  MathSciNet  Google Scholar 

  9. N. Nedjah, Pattern-Matching Automata for Efficient Evaluation in Equational Programming, Ph.D. Thesis, University of Manchester-Institute of Science and Technology, Manchester, UK, (Abstract and Contents in the Bulletin of the European Association of Computer Science, vol. 60, November 1997.)

    Google Scholar 

  10. N. Nedjah, C.D. Walter and S.E. Eldridge, Optimal Left-to-Right Pattern-Matching Automata, Proceedings of the Sixth International Conference on Algebraic and Logic Programming, Southampton, UK, Lecture Notes in Computer Science, M. Hanus, J. Heering and K. Meinke Editors, Springer-Verlag, vol. 1298, pp. 273–285, 1997.

    Chapter  Google Scholar 

  11. N. Nedjah, CD. Walter and S.E. Eldridge, Efficient Automata-Driven Pattern-Matching for Equational programs, Software-Practice and Experience, 29(9):793–813, John Wiley, 1999.

    Article  Google Scholar 

  12. N. Nedjah and L.M. Mourelle, Improving Time, Space and Termination in Term Rewriting-Based Programming, Proc. International Conference on Industrial & Engineering Applications of Artificial Intelligence & Expert Systems, Budapest, Hungary, Lecture Notes in Computer Science, Springer-Verlag, vol. 2070, pp. 880–890, June 2001.

    Google Scholar 

  13. M.J. O’Donnell, Equational Logic as Programming Language, MIT Press, 1985.

    Google Scholar 

  14. R.C. Sekar, R. Ramesh and I.V. Ramakrishnan, Adaptive Pattern-Matching, SIAM Journal, 24(6): 1207–1234, 1995.

    Article  MATH  MathSciNet  Google Scholar 

  15. D.A. Turner, Miranda: a Non Strict Functional Language with Polymorphic Types, Proceedings of Conference on Lisp and Functional Languages, ACM press, pp. 1–16, 1985.

    Google Scholar 

  16. P. Wadler, Efficient Compilation of Pattern-Matching, In “The Implementation of Functional Programming Languages”, S. L. Peyton-Jones, Prentice-Hall International, pp. 78–103, 1987.

    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 paper

Cite this paper

Nedjah, N., de Macedo Mourelle, L. (2002). Minimal Adaptive Pattern-Matching Automata for Efficient Term Rewriting. In: Watson, B.W., Wood, D. (eds) Implementation and Application of Automata. CIAA 2001. Lecture Notes in Computer Science, vol 2494. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36390-4_19

Download citation

  • DOI: https://doi.org/10.1007/3-540-36390-4_19

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-00400-4

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics