Was ist Tom?

Tom ist eine Spracherweiterung, die am französischen Forschungsinstitut INRIA entwickelt wurde. Sie ergänzt gängige Programmiersprachen, vor allem Java, um Mustererkennung (Pattern Matching) und Regeln zur Termersetzung und eignet sich besonders für Transformationen von Baumstrukturen und XML-Dokumenten. Finden Sie mehr rund ums Programmieren auf unserer Schwerpunktseite Programmiersprachen.

Merkmale

Laut Projektwebsite ist Tom ein „Pattern-Matching-Compiler“. Kern ist das Konstrukt %match: Man übergibt ihm einen Term und eine Liste von Paaren aus Muster und Aktion, und Tom wählt das passende Muster und führt die zugehörige Aktion aus. Das ähnelt einer erweiterten switch-Anweisung, nur dass nicht einzelne Zeichen oder Zahlen unterschieden werden, sondern ganze Terme. Zusätzlich gibt es %rule für Systeme von Ersetzungsregeln.

Die Aktionen nach einem Treffer können laut Website in Java, C oder Caml geschrieben sein, und Tom selbst ist in Tom implementiert. Muster ließen sich anfangs nur in Präfixnotation schreiben, später kam eine XML-Syntax hinzu.

Geschichte und Lizenz

Der Entwurf von Tom beruht auf der Forschung des INRIA-Teams Protheo zu regelbasierten Sprachen und auf den Erfahrungen mit der Übersetzung der Sprache ELAN. Der Kern des Compilers steht unter der GPL Version 2, die Laufzeitbibliothek unter einer BSD-Lizenz, damit erzeugter Code frei lizenziert werden kann. Laut den Neuigkeiten auf der Projektseite erschien Version 2.6 im April 2008.

Einordnung

Tom ist ein Werkzeug für Programmtransformation und regelbasierte Programmierung. Eine verwandte Sprache für Quelltexttransformationen ist TXL. Weitere Sprachen finden Sie in unserer Liste: Programmiersprachen, die mit T beginnen.

Quellen

Stand: 15.10.2026

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.