Tom is a programming language[2] particularly well-suited for programming various transformations on tree structures and XML-based documents.
Tom is a language extension which adds new matching primitives to C and Java[3] as well as support for rewrite rules systems.
[4] The rules can be controlled using a strategy[5] language.
Tom is good for: