Loading article…
| デザイン: | ロバート・M・マクルーア |
|---|---|
| 開発者 | ロバート・M・マクルーア |
| 初登場 | 1963年[1] |
| 方言 | |
| Unix 方言 ( Douglas McIlroy著) | |
| 影響を受けた | |
| TROL(ドナルド・クヌース著)[2] | |
強調表示された構文を持つ TMG プログラム | |
| 開発者 | ダグラス・マキロイ |
|---|---|
| 初登場 | 1969年 |
| ファイル名拡張子 | .t |
| 方言 | |
| PDP-7バージョン、PDP-11バージョン | |
| 影響を受けた | |
| ALGOL 68、[3] B、PL/I、SNOBOL [4] | |
| 影響を受けた | |
| B、ヤック | |
コンピューティングにおいて、TMG (TransMoGrifier) は、Robert M. McClure によって開発され、1965 年に発表された再帰降下 コンパイラです。 [5] [6] [7] [8] TMGは、 OS/360や初期のUnixなどのシステムで動作しました。[9] PL/Iの初期バージョンである EPL の構築に使用されました。[9]
ダグラス・マキロイは、 TMG を Unix の初期バージョンに移植した。ケン・トンプソンによると、マキロイは TMG で紙に TMG を書き、「自分の紙を自分の紙に渡すことにした」という。そして、アセンブリ言語を手作業でコンパイルし、それをPDP-7上で動作するトンプソンのUnixシステムで入力してアセンブルした。[10]トンプソンは 1970 年にFortran を提供するためのツールとして TMG を使用したが、PDP-7 のメモリ制限のため、BCPLの影響を強く受けたB プログラミング言語を作成することになった。[6]
TMGの再帰降下アルゴリズムは、アレクサンダー・バーマンとジェフリー・ウルマンによって正式に研究されました。アルゴリズムの正式な記述は、TMG認識スキーム(または単にTS)と名付けられました。[11]
参照
参考文献
- ^ 「初期の翻訳者用書記体系 - Brooker-Morris Compiler Compiler 1966」。アトラスコンピュータ研究所。2020年1月31日時点のオリジナルよりアーカイブ。2020年4月12日閲覧。TMG
、...は後から登場しましたが、初期のシステム[Alick Glennieの1960年のSyntax Machine、Ned Ironsの1960年のPSYCOコンパイラ、またはBrookerとMorrisの1960年のCompiler-Compiler]の影響を受けていないようです。
- ^ Knuth, Donald (1990). P. Deransart; M. Jourdan (編著). 「属性文法の起源」(PDF) .属性文法とその応用に関する国際会議の議事録 (パリ、フランス) . コンピュータサイエンスの講義ノート。461 .ニューヨーク: Springer-Verlag: 1–12. doi :10.1007/3-540-53101-7_1. ISBN 978-3-540-53101-2。
- ^ Ritchie, Dennis M. (1993 年 4 月). C 言語の開発(PDF) . Association for Computing Machinery, Inc.
- ^ McIlroy, MD (1972年9月13日). Tmgコンパイラ記述言語のマニュアル(技術レポート). ニュージャージー州マレーヒル:ベル研究所. 2020年1月31日閲覧。
- ^ “M. Douglas McIlroy”.ダートマス大学. 2020年2月1日時点のオリジナルよりアーカイブ。2020年4月12日閲覧。
私が取り組んだこと:言語とコンパイラ:マクロ、Lisp、PL/I、TMG(コンパイラコンパイラ)、正規表現。Snobol、Altran、C++に影響を与えました...
- ^ ab Ritchie, Dennis M.「Unix タイムシェアリングシステムの進化*」。2014 年 9 月 8 日にオリジナルからアーカイブ。2004 年4 月 9 日に取得。
オリジナルの PDP-7 Unix システムのすべてのプログラムはアセンブリ言語で書かれており、マクロなどはなく、単なるアセンブリ言語でした。さらに、ローダーやリンクエディターもなかったため、すべてのプログラムはそれ自体で完結する必要がありました。最初に登場した興味深い言語は、McClure の TMG のバージョンで、McIlroy によって実装されました。TMG が利用可能になって間もなく、Thompson は Fortran なしでは実際のコンピューティング サービスを提供できないと判断し、TMG で Fortran を書くことにしました。私の記憶では、Fortran を扱おうという意図は 1 週間ほど続きました。代わりに彼が作成したのは、新しい言語 B の定義とコンパイラでした。
- ^ McClure, RM (1965). 「TMG—構文指向コンパイラ」。L. Winner (編) 。1965 年第 20 回全国会議 (ACM '65) の議事録。ACM。pp. 262–274。doi :10.1145/800197.806050。S2CID 44606611 。
- ^ McIlroy, MD (1987). A Research UNIX Reader: Annotated Excerpts from the Programmer's Manual, 1971-1986 (PDF) (技術レポート). CSTR. Bell Labs. 139. 2020年4月11日時点のオリジナルよりアーカイブ(PDF)。
Doug (M. Douglas) McIlroy は
、部門長の権限を行使して、オリジナルの 2 ユーザー PDP-7 システムに介入しました。後に、
コンパイラ記述用の
tmg
、テキスト読み上げ用の
speaker 、
diff
、
join など
、さまざまなユーティリティを提供しました。また、辞書を収集し、それを使用するツールを作成しました。
look
(v7、Ossanna をモデルに)、
dict
(v8)、
spell
(v7) です。... 小型の PDP-7 では、アセンブラは tmg によって補完されました。これは、Bob McClure のコンパイラ コンパイラの Doug McIlroy バージョンです。 ... V2では言語が急増しました。新しい
tmg
、...そしてリッチーの最初の
C
、
- ^ ab "TMG". www.multicians.org。 2020年1月2日時点のオリジナルよりアーカイブ。2020年4月12日閲覧。
... OS360 (sic) で動作する TMG ... Mike Green は Bob McClure の 7090/7040 バージョンを採用し、360 にコンパイラ コンパイラを実装しました。 ... TMG は、1970 年に Ken Thompson がPDP-7 で
B言語のコンパイラを作成するために使用したコンパイラ定義ツールです。B は
C
の直接の祖先です
。
- ^ ケン・トンプソン。「VCF East 2019 -- ブライアン・カーニハンがケン・トンプソンにインタビュー」。YouTube 。 2019年10月28日閲覧。
- ^ Birman, Alexander; Ullman, Jeffrey D (1973). 「バックトラックによる解析アルゴリズム」.情報と制御. 23 (1). Elsevier BV: 1–34. doi :10.1016/S0019-9958(73)90851-6. ISSN 0019-9958.
外部リンク
- 「TMG – コンパイラ記述言語」。HOPL : オンライン プログラミング言語歴史百科事典。2007 年 9 月 21 日時点のオリジナルよりアーカイブ。
- GitHub上の Unix TMG の移植
