TMG
TMG (від англ. transmogrifier — перетворювач) — компілятор компіляторів[5] створений Робертом Макклуром і представлений у 1965 році.[6][7][8] TMG працював на сучасних йому суперкомп'ютерах (CDC 1604, IBM 7094) і таких операційних системах, як OS360 та Unix.[9] Він був використаний для створення EPL, ранньої версії мови програмування PL/I в рамках проекту Multics.
TMG | |
---|---|
Дата появи | 1963[1] |
Творці | Роберт M. Макклур |
Розробник | Роберт M. Макклур |
Діалекти | діалект Unix (Дуглас Макілрой) |
Вплинула на | TROL (Дональд Кнут)[2] |
Unix TMG | |
---|---|
Дата появи | 1969 |
Розробник | Дуглас Макілрой |
Діалекти |
версія для PDP-7, версія для PDP-11 |
Під впливом від | АЛГОЛ 68[3], B, PL/I, SNOBOL[4] |
Вплинула на | B, Yacc |
Звичайні розширення файлів |
.t |
Дуглас Макілрой, який працював над EPL, переніс TMG до ранньої версії Unix. За словами Кена Томпсона, Макілрой написав TMG на аркуші паперу і «вирішив подати свій аркуш паперу на вхід своєму аркушу паперу», скомпілювавши таким чином вихідний код на асемблері для комп'ютера PDP-7, на якому спершу розроблялася ОС Unix.[10] Таким чином TMG стала першою мовою програмування високого рівня у Unix.[3] Томпсон далі використав TMG щоб створити компілятор мови Fortran, але в кінцевому підсумку створив мову програмування B.[6] TMG входив до складу Unix до шостої версії включно.
Алгоритм рекурсивного спуску, за яким працює TMG, формально досліджували Александер Бірман та Джеффрі Ульман. Формальний опис алгоритму отримав назву «схема розпізнавання TMG» (скорочено TS ).[11]
Примітки
- Early Translator Writing Systems. Atlas Computer Laboratory.
- Knuth, Donald (1990). The Genesis of Attribute Grammars. У P. Deransart and M. Jourdan. Proceedings of the International Conference on Attribute Grammars and their Applications (Paris, France) (New York: Springer-Verlag).
- Ritchie, Dennis M. (April 1993). The Development of the C Language. Association for Computing Machinery, Inc.
- McIlroy, M. D. (13 вересня 1972). A Manual for the Tmg Compiler-writing Language. Murray Hill, New Jersey: Bell Laboratories. Процитовано 31 січня 2020.
- dartmouth.edu - ~doug, 2012-12-20
- bell-labs.com - Early Unix history and evolution, 2004-04-09
- McClure, R.M. (1965). TMG—A Syntax-Directed Compiler. У L. Winner. Proceedings of the 1965 20th national conference (ACM '65). ACM. с. 262–274. doi:10.1145/800197.806050.
- McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF). CSTR (139). Bell Labs.
- multicians.org - TMG, 2012-12-20
- Ken Thompson. VCF East 2019 -- Brian Kernighan interviews Ken Thompson. Процитовано 28 жовтня 2019.
- Birman, Alexander; Ullman, Jeffrey D (1973). Parsing algorithms with backtrack. Information and Control (Elsevier B.V) 23: 1–34. ISSN 0019-9958.
Посилання
- TMG – Compiler writing language. HOPL: Online Historical Encyclopaedia of Programming Languages. Архів оригіналу за 21 вересня 2007.
- Порт TMG для PDP-11 на мову програмування C (англ.)