Home My Page Projects Tom
Summary Activity Tracker Lists Tasks Docs News SCM Files Mediawiki

Forum: Tom 2.5 is out !

Posted by: Antoine Reilles
Date: 2007-07-13 08:56
Summary: Tom 2.5 is out !
Project: Tom


Tom 2.5 is finally out ! Here is the official announce:

Tom 2.5 announcement

It is our great privilege and pleasure to announce the availability of
Tom version 2.5.

This release continues our work on the integration of pattern matching
and rule based programming facilities into C and Java.

Tom is a pattern matching compiler developed at INRIA. It is
particularly well-suited for programming various transformations on
trees/terms and XML based documents. Its design follows our research on
the semantics and the efficient compilation of rule based languages
(e.g. ELAN, developed at INRIA-Loria).

Many applications have been developed in Tom. Among them, let us mention:
- the Tom compiler itself
- languages semantics, interpreters and program transformation tools
- a generator of canonical abstract syntax trees (Gom)
- a Just In Time strategy compiler using dynamic Java bytecode
- a proof assistant for supernatural deduction
- a compiler algorithm for anti-pattern matching and disunification

Tom is a complex compiler which adds powerful constructs to C and Java:
rewrite rules, strategies, non linear syntactic matching, associative
matching with neutral element (a.k.a. list-matching), XML based pattern
matching, string matching, and equational rewriting.
This offers the possibility to analyze and transform any kind of
data-structure. Tom can be used for large scale developments and
applications. It comes with documentation, as well as with programming
and debugging support.

This new release contains many improvements and new features:

- a new compiler based on constraint propagation. This makes the code
simpler and ready for combinations of theories.

- a new strategy library, simpler to use, more efficient, and ready
for graph traversal.

- a new "rule" construct to specify conditional rewrite rules that
are always applied (the data-structure is in normal form by

- a full support of list-operators whose domain is equal to the
codomain. This corresponds to associative matching with neutral
element (AU). An interesting variant for flattened lists (FL) has
also been developed.

- the data-structure can be normalized wrt. to associative-commutative
(AC) or AC with neutral element (ACU).

- any combination of patterns, anti-patterns, and list-operators is
fully supported.

- the possibility to define terms with pointers. This is very useful
to represent, analyze, and transform term-graphs like CFG for

Tom is available, in open source (GPL/BSD License), from the web page:


Best regards,
Tom development team
Latest News

Tom 2.10 is out!

Jean-Christophe Bach - 2013-04-17 13:23 -

Tom-10-rc1 is out!

Jean-Christophe Bach - 2012-11-05 18:28 -

Tom version 2.8 is out!

Pierre-Etienne Moreau - 2011-02-23 14:25 -

Tom 2.7 is out!

Antoine Reilles - 2009-05-30 06:50 -

Tom version 2.7 is out!

Pierre-Etienne Moreau - 2009-05-26 10:09 -
Monitor Forum | Start New Thread Start New Thread