Tom (programming language): Difference between revisions

Content deleted Content added
BartJong (talk | contribs)
Added Tom (pattern matching language) to the list of Pattern matching programming languages.
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)
 
(11 intermediate revisions by 9 users not shown)
Line 1:
{{Short description|None}}
{{Notability|Products|date=August 2021}}
{{Infobox software
| name = Tom
| logo = Tom (pattern matching language) logo.png
| screenshot =
| paradigm = [[Pattern-matching]]
| caption =
| developer = [[INRIA]]
| latest release version = [2.10<ref>https://gforge.inria.fr/frs/?group_id=78&release_id=7940 2.10]{{Dead link|date=September 2022}}</ref>
| latest release date = 2013-03-21
| latest preview version =
| latest preview date =
| operating system = [[Cross-platform]]
| platform =
| genre = program transformation language
| license = [[GNU General Public License|GPL]], [[BSD licenses]]
| website = http://{{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<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>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
 
==NotesReferences==
{{reflist}}
 
==External links==
* [http://tom.loria.fr/ Tom language website]
* [http://gforge.inria.fr/projects/tom Tom gforge website]
* [http://tom.loria.fr/wiki/index.php5php/Documentation Tutorial and Reference Manual]
 
[[Category:Programming language implementation]]