TMG ist ein frühes Werkzeug zum Bau von Übersetzern, ein sogenannter Compiler-Compiler. Robert M. McClure stellte es 1965 auf der 20. Nationalen Konferenz der Association for Computing Machinery (ACM) vor. Finden Sie mehr rund ums Programmieren auf unserer Schwerpunktseite Programmiersprachen.
Geschichte und Ziel
McClures Aufsatz „TMG – a syntax directed compiler“ erschien 1965 in den Tagungsberichten der ACM-Konferenz auf den Seiten 262 bis 274, in einer Reihe von Beiträgen über Programmiersprachen für nichtnumerische Verarbeitung. TMG sollte es nach McClures Darstellung leichter machen, einfache Übersetzer zu bauen, die ihre Eingabe in einem Durchgang verarbeiten. Im Mittelpunkt standen das Einlesen, die syntaktische Analyse und eine unkomplizierte Übersetzung.
Merkmale
TMG ist „syntaxgesteuert“: Man beschreibt die Grammatik der Quellsprache mit Regeln, und an diese Regeln knüpft man die Übersetzungsschritte. Aus einer solchen Beschreibung entsteht dann der eigentliche Übersetzer. Eine Umsetzung von TMG gab es auch unter Unix, wie das Rosetta-Code-Beispiel unten zeigt.
Hello World
Rosetta Code zeigt dieses Hello-World-Programm für Unix-TMG:
begin: parse(( = { <Hello, World!> * } ));
Einordnung
TMG gehört wie TREE-META zu den frühen Compiler-Compilern der 1960er-Jahre. Eine moderne Lehrsprache zum Compilerbau ist TINY. Weitere Sprachen finden Sie in unserer Liste: Programmiersprachen, die mit T beginnen.
Quellen
- R. M. McClure: Programming languages for non-numeric processing – 1: TMG – a syntax directed compiler, Proceedings of the ACM 20th National Conference, 1965
- Rosetta Code: Hello world/Text
Stand: 15.10.2026