Skip to main content

Non Strict Confluent Rewrite Systems for Data-Structures with Pointers

  • Conference paper
Book cover Term Rewriting and Applications (RTA 2007)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4533))

Included in the following conference series:

Abstract

We introduce a notion of rewrite rules operating on a particular class of data-structures, represented as (cyclic) term-graphs. All basic transformations are available: node creation/deletion, node relabeling and edge redirections (including global redirections). This allows one to write algorithms handling pointers that cannot be efficiently specified using existing declarative languages. Such rewrite systems are not confluent in general, even if we stick to orthogonal, left-linear rules. In order to ensure unique normal forms, we introduce a notion of priority ordering between the nodes, which allows the programmer to control the normalization of a graph if needed. The use of total priority orderings makes rewriting purely deterministic, which is not always efficient in practice. To overcome this issue, we then show how to define more flexible strategies, which yield shorter derivations and avoid useless rewriting steps (lazy rewriting).

This work has been partly funded by the project ARROWS of the French Agence Nationale de la Recherche.

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. Aït-Kaci, H., Podelski, A.: Towards a Meaning of LIFE. J. Log. Program 16(3), 195–234 (1993)

    Article  MATH  Google Scholar 

  2. Ariola, Z.M., Klop, J.W., Plump, D.: Bisimilarity in term graph rewriting. Inf. Comput. 156(1-2), 2–24 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  3. Bakewell, A., Plump, D., Runciman, C.: Checking the shape safety of pointer manipulations. RelMiCS, pp. 48–61 (2003)

    Google Scholar 

  4. Barendregt, H., van Eekelen, M., Glauert, J., Kenneway, R., Plasmeijer, M.J., Sleep, M.: Term Graph Rewriting. In: de Bakker, J.W., Nijman, A.J., Treleaven, P.C. (eds.) PARLE 1987. LNCS, vol. 259, pp. 141–158. Springer, Heidelberg (1987)

    Google Scholar 

  5. Caferra, R., Echahed, R., Peltier, N.: Rewriting term-graphs with priority. In: Proceedings of the Eighth ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming, pp. 109–120. ACM Press, New York (2006)

    Chapter  Google Scholar 

  6. Cirstea, H., Kirchner, C., Liquori, L., Wack, B.: Rewrite strategies in the rewriting calculus. Electr. Notes Theor. Comput. Sci. 86(4) (2003)

    Google Scholar 

  7. Dershowitz, N., Jouannaud, J.-P.: Rewrite systems. In: Handbook of Theoretical Computer Science, vol. B: Formal Models and Semantics (B), pp. 243–320 (1990)

    Google Scholar 

  8. Echahed, R., Janodet, J.-C.: Admissible graph rewriting and narrowing. In: Proceedings of 15th International Conference and Symposium on Logic Programming, Manchester, pp. 325–340. MIT Press, Cambridge, MA (1998)

    Google Scholar 

  9. Echahed, R., Peltier, N.: Narrowing data-structures with pointers. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, Springer, Heidelberg (2006)

    Google Scholar 

  10. Huet, G., Lévy, J.-J.: Computation in orthogonal rewriting systems. In: Lassez, J.-L., Plotkin, G. (eds.) Computational Logic: Essays in Honor of Alan Robinson, pp. 394–443. MIT Press, Cambridge, MA (1991)

    Google Scholar 

  11. Kennaway, J.R., Klop, J.K., Sleep, M.R., De Vries, F.J.: Transfinite Reduction in Orthogonal Term Rewriting Systems. Information and Computation 119(1), 18–38 (1995)

    Article  MATH  MathSciNet  Google Scholar 

  12. Plump, D.: Term graph rewriting. In: Ehrig, H., Engels, G., Kreowski, H., Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing by Graph Transformation, vol. 2, World Scientific, Singapore (1998)

    Google Scholar 

  13. Plump, D.: Confluence of graph transformation revisited. In: Middeldorp, A., van Oostrom, V., van Raamsdonk, F., de Vrijer, R. (eds.) Processes, Terms and Cycles: Steps on the Road to Infinity. LNCS, vol. 3838, pp. 280–308. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  14. Schorr, H., Waite, W.M.: An Efficient Machine Independent Procedure for Garbage Collection in Various List Structures. Communication of the ACM 10, 501–506 (1967)

    Article  MATH  Google Scholar 

  15. Visser, E.: A survey of strategies in rule-based program transformation systems. J. Symb. Comput. 40(1), 831–873 (2005)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Franz Baader

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Echahed, R., Peltier, N. (2007). Non Strict Confluent Rewrite Systems for Data-Structures with Pointers. In: Baader, F. (eds) Term Rewriting and Applications. RTA 2007. Lecture Notes in Computer Science, vol 4533. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73449-9_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-73449-9_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-73447-5

  • Online ISBN: 978-3-540-73449-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics