HackerNews

「Easy」言語のコンパイラ - 「プログラマのためのエチュード」書籍からのもの(1978年)

Compiler for "Easy" language from "Etudes for Programmers" book (1978)

https://github.com/begoon/easy


このリポジトリは、1978年にチャールズ・ウェザーウェルによって書かれた「プログラマのためのエチュード」に記載されている教育用プログラミング言語「Easy」のコンパイラを含んでいます。このコンパイラは教育目的で作成され、完全に独自に書かれており、コンパイラの実装とランタイムを学ぶためのものでした。コンパイラはTypeScriptで実装され、Cコードを生成し、それがClangやGCCによってネイティブバイナリにコンパイルされます。Easy言語の文法は書籍に従って完全にサポートされていますが、一部の制約もあります。プログラムには一つのPROGRAMセグメントのみが許可され、グローバル名前空間に識別子が引き上げられます。言語の特徴として、プリミティブ型や構造体、配列のコピーは深いコピーを行いますが、配列のサイズがコンパイル時に知られていない場合、浅いコピーが行われます。