Tom (programming language): Difference between revisions

Content deleted Content added
top: Refs are primary sources or minor mentions. Nothing that indicates the language has received significant use or attention.
m Ahecht moved page Tom (pattern matching language) to Tom (programming language) without leaving a redirect: Requested by Mwwv at WP:RM/TR: To keep WP:CONSISTENT with other programming languages. (using pageswap)
 
(5 intermediate revisions by 5 users not shown)
Line 1:
{{Short description|None}}
{{Notability|Products|date=August 2021}}
{{Infobox software
| name = Tom
Line 6 ⟶ 7:
| caption =
| developer = [[INRIA]]
| latest release version = 2.10<ref>https://gforge.inria.fr/frs/?group_id=78&release_id=7940 {{Dead link|date=September 2022}}</ref>
| latest release date = 2013-03-21
| latest preview version =
Line 12 ⟶ 13:
| platform =
| genre = program transformation language
| license = [[GNU General Public License|GPL]], [[BSD licenses]]
| website = {{URL|tom.loria.fr}}
}}
{{Portal|Free and open-source software}}
'''Tom''' is a [[programming language]]<ref>{{cite web|url=http://freecode.com/projects/jtom|title=Freecode}}</ref> particularly well-suited for programming various transformations 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>Java Community News [http://www.artima.com/forums/flat.jsp?forum=276&thread=217701&start=0&msRange=15 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|date=4 April 2008}}</ref> language.
 
Tom is good for:
* programming by [[pattern matching]]<ref>{{cite web|url=http://www.cs.ucr.edu/~stelo/pattern.html|title=Pattern Matching Pointers}}</ref>
* developing compilers and [[Domain___domain-specific language|DSL]]s (DSL)
* transforming XML documents
* implementing rule -based systems
* describing algebraic transformations