Was ist TXL?

TXL ist eine Programmiersprache, die speziell für die Analyse von Software und die Transformation von Quelltext entworfen wurde. Laut Projektwebsite ist sie eine hybride funktionale und regelbasierte Sprache mit Unifikation, impliziter Iteration und tiefem Musterabgleich. Finden Sie mehr rund ums Programmieren auf unserer Schwerpunktseite Programmiersprachen.

Geschichte

Die ursprüngliche „Turing eXtender Language“ entwarfen laut James R. Cordy Charles Halpern-Hamu und er selbst 1985 an der University of Toronto. Gedacht war sie, um neue Sprachideen und Erweiterungen für die Programmiersprache Turing im Stil von Beispielen festzuhalten und sofort als Prototyp auszuprobieren. Die ersten praxistauglichen Implementierungen entwickelten Eric Promislow und Ian Carmichael zwischen 1986 und 1990 an der Queen’s University. Die moderne Sprache TXL entwarf und implementierte Cordy von 1990 bis 1995 bei der GMD in Karlsruhe und an der Queen’s University; Andrew Malton entwickelte 1993 die formale Semantik.

Merkmale

Jedes TXL-Programm besteht aus zwei Teilen: einer Beschreibung der zu verarbeitenden Strukturen als direkt interpretierte, kontextfreie BNF-Grammatik und einer Menge von Transformationsregeln als Paare aus Muster und Ersetzung, kombiniert mit Mitteln der funktionalen Programmierung. Formale Semantik und Implementierung beruhen auf Baumersetzung, die Bäume bleiben für Nutzer aber weitgehend verborgen.

Am besten eignet sich TXL laut Website für die Strukturanalyse und Umformung formaler Notationen wie Programmier- und Spezifikationssprachen. Eingesetzt wurde sie aber auch für das Übersetzen von Datenbankschemata, VLSI-Layout, Handschrifterkennung mathematischer Formeln, die Analyse von Netzwerkpaketen, Sicherheitsprüfungen und das semantische Web.

Hello World

Die Beispielsammlung auf ntecs.de enthält dieses Programm von Jim Cordy, das jede beliebige Eingabe in „Hello World“ umwandelt:

% Required description of input forms - in this case
% any input will do
define program
    [repeat token]
end define

% Main transformation rule - whatever the input,
% transform it into Hello World
function main
    replace [program]
        _ [program]
    by
        "Hello World"
end function

Einordnung

TXL ist eine Transformationssprache. Ähnliche Ziele mit anderem Ansatz verfolgt die Spracherweiterung Tom. 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.