見出し画像

📖Yaccの歴史 コンパイラコンパイラ

JohnsonがYaccを開発したのは、B言語のコンパイラ(McIlroyのTMGコンパイラ-コンパイラを使って開発)に排他的演算子を挿入したかったからだ

その結果、ベル研究所の同僚であるアル・アホから、ドナルド・クヌースのLR構文解析の研究を紹介され、それがYaccの基礎となった。 YaccはTMGコンパイラ-コンパイラの影響を受けており、その名前もTMGコンパイラ-コンパイラにちなんだものである。


TMG(TransMoGrifier)は、Robert M. McClureによって作成され、1965年に発表された再帰降順コンパイラ-コンパイラである。TMGは、OS/360や初期のUnixなどのシステム上で動作した。[9]PL/Iの初期バージョンであるEPLの構築に使用された。

2008年のインタビューでジョンソンは,「YaccがUnixとCの普及に貢献したことは,私が最も誇りに思っていることです」と述べている.

Yaccで最初に実装された言語には、AWK、eqn、Picなどがある。Yaccは、UnixではPortable C Compilerの実装にも使われており、FORTRAN 77、Ratfor、APL、bc、m4などのプログラミング言語のパーサーとしても使われている。

Awk

お願い致します