Tom (pattern matching language)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Tom
Tom (pattern matching language) logo.png
Developer(s) INRIA
Stable release 2.10 / 2013-03-21
Operating system Cross-platform
Type program transformation language
License GPL, BSD licenses
Website http://tom.loria.fr/

Tom is a programming language[1] particularly well-suited for programming various transformations[2] 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:

  • programming by pattern matching[6]
  • developing compilers and DSL
  • transforming XML documents
  • implementing rule based systems
  • describing algebraic transformations

Notes[edit]

  1. ^ "Freecode". 
  2. ^ "Program-Transformation.Org". 
  3. ^ Java Community News Tom: A Pattern-Matching Compiler for Java
  4. ^ Emilie Balland, Paul Brauner, Radu Kopetz, Pierre-Etienne Moreau and Antoine Reilles (April 2008). "Tom Manual". 
  5. ^ "Data structure traversal with Tom". 
  6. ^ "Pattern Matching Pointers". 

External links[edit]