Tom 2.6 announcement --------------------
It is our great privilege and pleasure to announce the availability of Tom version 2.6 .
This release continues our work on the integration of pattern matching and rule based programming facilities into Java and C.
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.
Many applications have been developed in Tom, both in academia and industry. 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 proof assistant for supernatural deduction - a compiler algorithm for anti-pattern matching and disunification
Tom is a complex compiler which adds powerful constructs to Java and C: 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 a detailed documentation, as well as with programming and debugging support.
This new release contains many improvements and new features:
- new alternative syntax for '%match', based on atomic constraints that can be combined with '&&' and '||' operators. This gives a higher expressiveness and conciseness.
- algebraic rules (lhs -> rhs) can now have any conjunction or disjunction of conditions
- new syntax for strategies, make the definition of simple rules easier
- the double-dispathing mechanism of the strategy library has been replaced by a simpler dispatching approach, making the use of strategies simpler when Gom is not used
- Gom's lists now implement the interface Collection. Consequently, Java's classic iteration techniques can be employed.
- new tool based on ANTLR 3 for implementing parsers that directly output Gom terms: GomAntlrAdapter.
- term-graph rewriting support in Gom
- several speed-ups of the compilation process as well as for the generated code.
- a lot of new features for the Eclipse plug-in, including the availability of all the functionalities of the Java editor for ".t" files ( a complete list is available on the plug-in page: http://tom.loria.fr/plugin.php )
Tom is available, in open source (GPL/BSD License), from the web page:
Best regards, Tom's development team