Jump to content

Tom (programming language): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Yoann74 (talk | contribs)
Tom: A Pattern-Matching Compiler for Java
Yoann74 (talk | contribs)
Data structure traversal with Tom
Line 19: Line 19:
}}
}}
{{Portal|Free software}}
{{Portal|Free software}}
'''Tom''' is a [[programming language]] particularly well-suited for programming various transformations<ref>{{cite web|url=http://www.program-transformation.org/view/Transform/Tom|title=Program-Transformation.Org}}</ref> on [[tree structure]]s and [[XML]] based documents. Tom is a language extension which adds new matching primitives to [[C (programming language)|C]] and [[Java (programming language)|Java]]<ref>{{cite web|url=http://www.artima.com/forums/flat.jsp?forum=276&thread=217701&start=0&msRange=15|title=Tom: A Pattern-Matching Compiler for Java}}</ref> as well as support for rewrite rules systems.<ref>{{cite web|url=http://www.loria.fr/~moreau/Papers/tom-manual-2.6.pdf|title=Tom Manual|date=April 2008|author=Emilie Balland, Paul Brauner, Radu Kopetz, Pierre-Etienne Moreau and Antoine Reilles}}</ref> The rules can be controlled using a strategy language.
'''Tom''' is a [[programming language]] particularly well-suited for programming various transformations<ref>{{cite web|url=http://www.program-transformation.org/view/Transform/Tom|title=Program-Transformation.Org}}</ref> on [[tree structure]]s and [[XML]] based documents. Tom is a language extension which adds new matching primitives to [[C (programming language)|C]] and [[Java (programming language)|Java]]<ref>{{cite web|url=http://www.artima.com/forums/flat.jsp?forum=276&thread=217701&start=0&msRange=15|title=Tom: A Pattern-Matching Compiler for Java}}</ref> as well as support for rewrite rules systems.<ref>{{cite web|url=http://www.loria.fr/~moreau/Papers/tom-manual-2.6.pdf|title=Tom Manual|date=April 2008|author=Emilie Balland, Paul Brauner, Radu Kopetz, Pierre-Etienne Moreau and Antoine Reilles}}</ref> The rules can be controlled using a strategy<ref>{{cite web|url=http://langexplr.blogspot.ch/2008/03/data-structure-traversal-with-tom.html|title=Data structure traversal with Tom}}</ref> language.


Tom is good for:
Tom is good for:

Revision as of 13:36, 1 May 2014

Tom
Stable release
2.10 / 2013-03-21
Operating systemCross-platform
Typeprogram transformation language
LicenseGPL, BSD licenses
Websitehttp://tom.loria.fr/

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

Tom is good for:

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

Notes

  1. ^ "Program-Transformation.Org".
  2. ^ "Tom: A Pattern-Matching Compiler for Java".
  3. ^ Emilie Balland, Paul Brauner, Radu Kopetz, Pierre-Etienne Moreau and Antoine Reilles (April 2008). "Tom Manual" (PDF).{{cite web}}: CS1 maint: multiple names: authors list (link)
  4. ^ "Data structure traversal with Tom".
  5. ^ "Pattern Matching Pointers".