Main Page

From Tom

Jump to: navigation, search
Welcome to Tom: a software environment for defining transformations
News [2016-08-22]

What is Tom?

  • Tom is a language extension designed to manipulate tree structures and XML documents
  • Tom provides pattern matching facilities to inspect objects and retrieve values
  • Tom can be used with C, Java, Python, C++, C#, etc.
  • Tom is used in several companies to implement transformations of programs and queries
  • Tom is a mature and stable project which started in 2001 (see museum)
  • Here you will find a 5 minutes presentation video

Getting Started

Tom and Java

When Tom is used in a Java environment some additional features are available:

  • We provide a generator of efficient object oriented tree based data-structures (Gom)
  • We provide a powerful strategy language that can be used to control transformations
  • We provide a models transformation engine relying on Ecore EMF. It includes a generator of Tom-EMF mappings, dedicated Tom construct to express a model transformation, and a dedicated introspector to be able to use strategies with models


  • Logos
  • Integrating Tom in an existing Java application that uses Java Persistence API: Video
  • Tom in the news : Here is a collection of links to what speaks about Tom on the web.
  • Material for lectures
  • The old Research zone link has been transferred to the TomResearch wiki, which is a private wiki with a limited access (subscriptions have been closed). Useful links have been dispatched.

Tom wiki

  • Due to a lot of spam messages, account creation has been disabled. To create an account, please contact us
  • This wiki site is quite new (and under construction), feel free to contribute
  • The old website is there
  • See MetaDoc for a list of templates
  • Formatting
  • Mediawiki:Sidebar to modify the sidebar
  • Template:News to modify the news box
Personal tools
Create a book