stringtranslate.com

ТМГ (язык)

В вычислительной технике TMG (TransMoGrifier) ​​— это рекурсивный спусковой компилятор-компилятор [5], разработанный Робертом М. МакКлюром и представленный в 1965 году. [6] [7] [8] TMG работал на таких системах, как OS/360 и ранний Unix . [9] Он использовался для построения EPL, ранней версии PL/I . [9]

Дуглас Макилрой перенес TMG на раннюю версию Unix. По словам Кена Томпсона , Макилрой написал TMG в TMG на листке бумаги и «решил дать своему листку бумаги свой листок бумаги», вручную скомпилировав язык ассемблера , который он ввел и собрал на системе Unix Томпсона, работающей на PDP-7 . [10] Томпсон использовал TMG в 1970 году как инструмент для предложения Fortran , но из-за ограничений памяти PDP-7 в конечном итоге создал язык программирования B , на который сильно повлиял BCPL . [6]

Алгоритм рекурсивного спуска TMG был формально изучен Александром Бирманом и Джеффри Ульманом . Формальное описание алгоритмов было названо схемой распознавания TMG (или просто TS ). [11]

Смотрите также

Ссылки

  1. ^ "Early Translator Writing Systems - Brooker-Morris Compiler Compiler 1966". Atlas Computer Laboratory . Архивировано из оригинала 31 января 2020 г. Получено 12 апреля 2020 г. TMG, ... появляется позже, но, по-видимому, не была подвержена влиянию более ранних систем [Alick Glennie's 1960 Syntax Machine, Ned Irons 1960 PSYCO compiler или Brooker and Morris's 1960 Compiler-Compiler].
  2. ^ Кнут, Дональд (1990). П. Дерансарт; М. Журдан (ред.). "The Genesis of Attribute Grammars" (PDF) . Труды Международной конференции по атрибутным грамматикам и их приложениям (Париж, Франция) . Конспект лекций по информатике. 461. Нью-Йорк: Springer-Verlag: 1–12. doi :10.1007/3-540-53101-7_1. ISBN 978-3-540-53101-2.
  3. ^ Ритчи, Деннис М. (апрель 1993 г.). Развитие языка C (PDF) . Association for Computing Machinery, Inc.
  4. ^ Макилрой, MD (13 сентября 1972 г.). Руководство по языку написания компиляторов Tmg (технический отчет). Мюррей-Хилл, Нью-Джерси: Bell Laboratories . Получено 31 января 2020 г.
  5. ^ "M. Douglas McIlroy". Dartmouth College . Архивировано из оригинала 1 февраля 2020 г. Получено 2020-04-12 . Некоторые вещи, над которыми я работал: Языки и компиляторы: макросы, Lisp, PL/I, TMG (компилятор-компилятор), регулярные выражения; повлиял на Snobol, Altran, C++ ...
  6. ^ ab Ritchie, Dennis M. "The Evolution of the Unix Time-sharing System*". Архивировано из оригинала 8 сентября 2014 г. Получено 9 апреля 2004 г. Каждая программа для оригинальной системы Unix PDP-7 была написана на языке ассемблера, и это был чистый язык ассемблера — например, не было макросов. Более того, не было загрузчика или редактора ссылок, поэтому каждая программа должна была быть завершенной сама по себе. Первым интересным языком, который появился, была версия TMG МакКлюра, реализованная МакИлроем. Вскоре после того, как TMG стал доступен, Томпсон решил, что мы не можем претендовать на предложение настоящих вычислительных услуг без Fortran, поэтому он сел писать Fortran на TMG. Насколько я помню, намерение заняться Fortran длилось около недели. Вместо этого он создал определение и компилятор для нового языка B.
  7. ^ МакКлур, Р. М. (1965). «TMG — синтаксически-управляемый компилятор». В L. Winner (ред.). Труды 20-й национальной конференции 1965 г. (ACM '65) . ACM. стр. 262–274. doi :10.1145/800197.806050. S2CID  44606611.
  8. ^ Макилрой, MD (1987). A Research UNIX Reader: Annotated Excerpts from the Programmer's Manual, 1971-1986 (PDF) (Технический отчет). CSTR. Bell Labs. 139. Архивировано (PDF) из оригинала 11 апреля 2020 года. Дуг (М. Дуглас) Макилрой воспользовался правом руководителя отдела, чтобы вмешаться в исходную двухпользовательскую систему PDP-7. Позже он внес эклектичный пакет утилит: tmg для написания компилятора, speak для чтения текста вслух, diff и join . Он также собрал словари и создал инструменты для их использования: look (v7, по образцу Ossanna), dict (v8) и spell (v7). ... На крошечном PDP-7 ассемблер был дополнен tmg, версией компилятора-компилятора Боба МакКлюра, созданной Дугом Макилроем. ... V2 увидела взрыв языков: новый tmg , ... и первый C Ритчи ,
  9. ^ ab "TMG". www.multicians.org . Архивировано из оригинала 2 января 2020 года . Получено 12 апреля 2020 года . ... TMG, работающий под управлением OS360 (sic) ... Майк Грин взял версию 7090/7040 Боба МакКлюра и реализовал компилятор-компилятор на 360; ... TMG был инструментом определения компилятора, который Кен Томпсон использовал для написания компилятора для языка B на своем PDP-7 в 1970 году. B был непосредственным предком C .
  10. ^ Кен Томпсон. "VCF East 2019 -- Брайан Керниган берет интервью у Кена Томпсона". YouTube . Получено 28.10.2019 .
  11. ^ Бирман, Александр; Ульман, Джеффри Д. (1973). «Алгоритмы анализа с возвратом». Информация и управление . 23 (1). Elsevier BV: 1–34. doi :10.1016/S0019-9958(73)90851-6. ISSN  0019-9958.

Внешние ссылки