ついにねんがんのコンパイル時パーサをてにいれたぞ!
やった。ついにやった。
去年の3月にあったD言語BOFで「コンパイル時コンパイラコンパイル」なるものを発表した。
http://www.nicovideo.jp/watch/sm2485376
要約すると、D言語のCTFEでコンパイル時にテキストファイルをimportして解析・コード生成すれば、コンパイル時に実行できる簡易コンパイラになるよね、という話だ。テキストファイルはD言語だけじゃなくて、CSVやXMLやYAMLでもbison文法ファイルでもlex文法ファイルでも可能。ただしパーサがあれば。
はっきりいってD言語のCTFEはC言語未満の機能しかない。それでパーサを書くのは非常な労力を要する。
ではどうするか……。
コンパイル時にパーサを生成して、そのパーサ自体もCTFEで動かせれば随分楽になるじゃないか。
という妄想のもと、開発を進めていた。不可解なバグ・喰われまくるメモリ(そして落ちる)・遅すぎる実行速度……。幾多の試練を潜り抜けて、ついにコンパイル時コンパイラコンパイルが実現した!
起動するまでの長い道のり メモリ管理編(4) メモリ管理考察の巻
前回でページング機能を有効にすることまではできた。今回はこれを活用してメモリを管理する部分を考察する。因みに、まだ考察するだけ(汗)。
続きを読む