Tom is a software environment for defining transformations in Java. TOM programming language is an extension of Java designed to manipulate tree structures and XML documents. It is compatible with Java: a Java program is a correct Tom program.
Data are represented using an efficient tree based data-structure. Java built-ins (int, char, String, etc) can be used. Tom provides pattern matching facilities to inspect objects and retrieve values. A powerful strategy language can be used to control transformations.
What's New in This Release:
· The Eclipse plugin is now available again.
· In the %match construct, the sort of the subject is now optional.
· It is automatically inferred from the patterns when possible.
· Gom generates congruence strategies and offers new functionalities, such as the length of a list.
· A new "!" construct can be used to denote anti-patterns.
· The strategy library has been extended such that strategy expressions can be matched, like any other term.
· A strategy can now take another strategy in its argument.
· Support for Java bytecode analysis and transformation has been added.