Tom: Piggybacking Rewriting on Java

  • Emilie Balland
  • Paul Brauner
  • Radu Kopetz
  • Pierre-Etienne Moreau
  • Antoine Reilles
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4533)


We present the Tom language that extends Java with the purpose of providing high level constructs inspired by the rewriting community. Tom furnishes a bridge between a general purpose language and higher level specifications that use rewriting. This approach was motivated by the promotion of rewriting techniques and their integration in large scale applications. Powerful matching capabilities along with a rich strategy language are among Tom’s strong points, making it easy to use and competitive with other rule based languages.


Pattern Match Elementary Strategy Proof Assistant Formal Island Abstract Syntax Tree 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Balland, E., Kirchner, C., Moreau, P.-E.: Formal islands. In: Johnson, M., Vene, V. (eds.) AMAST 2006. LNCS, vol. 4019, pp. 51–65. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  2. 2.
    Borovanský, P., Kirchner, C., Kirchner, H.: Controlling rewriting by rewriting. In: Meseguer, J. (ed.) Proceedings of WRLA 1996. ENTCS, vol. 4, Elsevier Science Publishers, North-Holland, Amsterdam (1996)Google Scholar
  3. 3.
    Borovanský, P., Kirchner, C., Kirchner, H., Moreau, P.-E., Ringeissen, C.: An overview of ELAN. In: Kirchner, C., Kirchner, H. (eds.) Proceedings of WRLA 1998. ENTCS, vol. 15, Elsevier Science Publishers, Amsterdam (1998)Google Scholar
  4. 4.
    Brand, M., Deursen, A., Heering, J., Jong, H., Jonge, M., Kuipers, T., Klint, P., Moonen, L., Olivier, P., Scheerder, J., Vinju, J., Visser, E., Visser, J.: The ASF+SDF Meta-Environment: a Component-Based Language Development Environment. In: Wilhelm, R. (ed.) CC 2001 and ETAPS 2001. LNCS, vol. 2027, pp. 365–370. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  5. 5.
    Brand, M., Klint, P., Olivier, P.: Compilation and Memory Management for ASF+SDF. Compiler Construction 1575, 198–213 (1999)Google Scholar
  6. 6.
    Brauner, P., Houtmann, C., Kirchner, C.: Principles of superdeduction. In: LICS, (to appear, 2007)Google Scholar
  7. 7.
    Cirstea, H., Kirchner, C.: The rewriting calculus — Part I and II. Logic Journal of the Interest Group in Pure. and Applied Logics 9(3), 427–498 (2001)MathSciNetGoogle Scholar
  8. 8.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: The maude 2.0 system. In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol. 2706, pp. 76–87. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  9. 9.
    Kirchner, C., Kopetz, R., Moreau, P.: Anti-pattern matching. In: Proceedings of the 16th European Symposium on Programming. LNCS, vol. 4421, pp. 110–124. Springer, Heidelberg (2007)Google Scholar
  10. 10.
    Kirchner, C., Moreau, P.-E., Reilles, A.: Formal validation of pattern matching code. In: Barahone, P., Felty, A. (eds.) Proceedings of PPDP 2005, pp. 187–197. ACM Press, New York (2005)CrossRefGoogle Scholar
  11. 11.
    Leroy, X.: The objective caml system release 3.09,
  12. 12.
    Moreau, P.-E., Ringeissen, C., Vittek, M.: A Pattern Matching Compiler for Multiple Target Languages. In: Hedin, G. (ed.) CC 2003 and ETAPS 2003. LNCS, vol. 2622, pp. 61–76. Springer, Heidelberg (2003)Google Scholar
  13. 13.
    Reilles, A.: Canonical abstract syntax trees. In: Proceedings of WRLA 2006 ENTCS 2006 (to appear)Google Scholar
  14. 14.
    van den Brand, M., de Jong, H., Klint, P., Olivier, P.: Efficient annotated terms. Software, Practice and Experience 30(3), 259–291 (2000)CrossRefGoogle Scholar
  15. 15.
    van den Brand, M., Moreau, P.-E., Vinju, J.: A generator of efficient strongly typed abstract syntax trees in Java. In: IEE Proceedings - Software Engineering, vol. 152(2) pp. 70–78 (December 2005)Google Scholar
  16. 16.
    Visser, E., Benaissa, Z.-e.-A., Tolmach, A.: Building program optimizers with rewriting strategies. In: Proceedings of the third ACM SIGPLAN international conference on Functional programming, pp. 13–26. ACM Press, New York, USA (1998)CrossRefGoogle Scholar
  17. 17.
    Visser, J.: Visitor combination and traversal control. In: Proceedings of the 16th ACM SIGPLAN conference on OOPSLA, pp. 270–282. ACM Press, NY, USA (2001)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Emilie Balland
    • 1
  • Paul Brauner
    • 1
  • Radu Kopetz
    • 2
  • Pierre-Etienne Moreau
    • 2
  • Antoine Reilles
    • 3
  1. 1.UHP & Loria 
  2. 2.INRIA & Loria 
  3. 3.INPL & Loria 

Personalised recommendations