TMG

TMG (від англ. transmogrifier — перетворювач) — компілятор компіляторів[5] створений Робертом Макклуром і представлений у 1965 році.[6][7][8] TMG працював на сучасних йому суперкомп'ютерах (CDC 1604, IBM 7094) і таких операційних системах, як OS360 та Unix.[9] Він був використаний для створення EPL, ранньої версії мови програмування PL/I в рамках проекту Multics.

TMG
Дата появи 1963 (1963)[1]
Творці Роберт M. Макклур
Розробник Роберт M. Макклур
Діалекти діалект Unix (Дуглас Макілрой)
Вплинула на TROL (Дональд Кнут)[2]
Unix TMG
Дата появи 1969 (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]

Примітки

  1. Early Translator Writing Systems. Atlas Computer Laboratory.
  2. 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).
  3. Ritchie, Dennis M. (April 1993). The Development of the C Language. Association for Computing Machinery, Inc.
  4. McIlroy, M. D. (13 вересня 1972). A Manual for the Tmg Compiler-writing Language. Murray Hill, New Jersey: Bell Laboratories. Процитовано 31 січня 2020.
  5. dartmouth.edu - ~doug, 2012-12-20
  6. bell-labs.com - Early Unix history and evolution, 2004-04-09
  7. 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.
  8. McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF). CSTR (139). Bell Labs.
  9. multicians.org - TMG, 2012-12-20
  10. Ken Thompson. VCF East 2019 -- Brian Kernighan interviews Ken Thompson. Процитовано 28 жовтня 2019.
  11. Birman, Alexander; Ullman, Jeffrey D (1973). Parsing algorithms with backtrack. Information and Control (Elsevier B.V) 23: 1–34. ISSN 0019-9958.

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.