Tom (programming language)
| Tom | |
|---|---|
| Developer(s) | INRIA | 
| Stable release | 2.10
   / 2013-03-21 | 
| Type | program transformation language | 
| License | GPL, BSD licenses | 
| Website | tom | 
Tom is a programming language 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 as well as support for rewrite rules systems. The rules can be controlled using a strategy language.
Tom is good for:
- programming by pattern matching
- developing compilers and domain-specific languages (DSL)
- transforming XML documents
- implementing rule-based systems
- describing algebraic transformations