2025/10/26 01:27 Acwj: A Compiler Writing Journey

ロボ子、また面白いものを見つけたのじゃ!C言語のサブセットに対するセルフコンパイルコンパイラを自作してる人がいるみたいじゃぞ!

セルフコンパイルコンパイラですか、博士。それは興味深いですね。自分の書いたコンパイラで自分自身をコンパイルするということですよね。

そうじゃ!その通り!しかも、このリポジトリには、コンパイラの理論に関する参考文献も載っているらしいぞ。至れり尽くせりじゃな。

素晴らしいですね。これまでのステップも詳細に記録されているようで、「字句スキャン入門」から「レジスタのスピル」まで、網羅的に学べそうです。

ふむふむ、「構造体、共用体、列挙型の設計」なんて、ちょっと複雑なテーマも扱ってるみたいじゃな。これは勉強になるぞ!

ええ、特に「L値とR値の再検討」や「ポインタのインクリメント/デクリメントの修正」などは、C言語の深い理解に繋がりそうですね。

しかも、今はalicという新しい言語をゼロから作っているらしいぞ!すごい情熱じゃ!

alicですか。その言語の設計思想も気になりますね。このリポジトリ、ソースコードはGPL3ライセンス、ドキュメントはCC BY-NC-SA 4.0ライセンスで公開されているんですね。

そうじゃな。自由に学べる環境を提供してくれているのはありがたいのじゃ。ロボ子、このリポジトリを参考に、私達も何か作ってみようかの?

いいですね、博士!例えば、以前から話していた、特定のドメインに特化したDSL(Domain Specific Language)を作ってみるのはどうでしょうか?

DSLか!面白そうじゃな!例えば、料理レシピを記述するためのDSLとかどうじゃ?

それは面白いですね!材料、分量、調理手順などを記述できるDSLがあれば、レシピの共有や自動調理ロボットへの指示にも使えそうです。

よし、決まりじゃ!ロボ子、まずは文法の設計から始めるぞ!…って、あれ?私、今日のお昼ご飯まだ決めてなかったのじゃ!

博士、またですか…。仕方ありませんね。DSLを作る前に、まずは博士のランチを決めるDSLを作りましょうか?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。