応用情報技術者試験受けてきた

 色々変なことに手を出している私も、実生活では悲しきITプレカリアートのひとりなので、IPAの資格試験なんぞをちゃんと受けにいったりするのであった。で、今日は新設された「応用情報技術者試験」を受けてきた。これは以前「ソフトウェア開発技術者試験」として行われていたもののバージョンアップであるそうだ。
 実は、旧ソフ開は二年くらい前に取得していた。今回は、資格の名前も変わるし合格すれば別の試験で午前試験免除になるし、まあ取り直しておくか、という気分で受けた。
 というわけで、旧ソフ開と比べてどんな感じか書いておこうと思う。

続きを読む

やっぱ言語から作らないとダメだな〜(ヲイ)

先日のCTFE時パーサで自爆してから色々考えた。

どうもdmdのCTFEの実装が怪しくて(メモリリーク?)それでメモリ不足に陥っているんじゃないかしら……。GDCでも同じコードを使っているはずなので、interpret.cあたりを修正してみて試せばOKだろう。

が、まあそれは置いておいて。

D言語は変化が速いし、プログラミングしている最中に言語仕様の方がどんどん変わってしまう。コンパイラのバグ抜きもオープンソースでないのでできない。それに、D言語が切り拓いてくれた場所から未来のコンパイラが何となく見えた気がする……。

だから、ここはひとつ理想の言語を自分で作ってみようかと思う。

続きを読む

ぬか喜び

前日のエントリで書いたパーサを利用して、文字コード変換ツールを作ろうと思った。
Unicodeマッピング・テーブルを読み込めば簡単に作れそうだ。
そう考えて、とりあえずPEGを書いて解析させてみた。

続きを読む

ついにねんがんのコンパイル時パーサをてにいれたぞ!

 やった。ついにやった。
 去年の3月にあったD言語BOFで「コンパイルコンパイラコンパイル」なるものを発表した。

http://www.nicovideo.jp/watch/sm2485376

 要約すると、D言語のCTFEでコンパイル時にテキストファイルをimportして解析・コード生成すれば、コンパイル時に実行できる簡易コンパイラになるよね、という話だ。テキストファイルはD言語だけじゃなくて、CSVXMLYAMLでもbison文法ファイルでもlex文法ファイルでも可能。ただしパーサがあれば。
 はっきりいってD言語のCTFEはC言語未満の機能しかない。それでパーサを書くのは非常な労力を要する。


 ではどうするか……。
 コンパイル時にパーサを生成して、そのパーサ自体もCTFEで動かせれば随分楽になるじゃないか。
 という妄想のもと、開発を進めていた。不可解なバグ・喰われまくるメモリ(そして落ちる)・遅すぎる実行速度……。幾多の試練を潜り抜けて、ついにコンパイルコンパイラコンパイルが実現した!

続きを読む

起動するまでの長い道のり メモリ管理編(4) メモリ管理考察の巻

 前回でページング機能を有効にすることまではできた。今回はこれを活用してメモリを管理する部分を考察する。因みに、まだ考察するだけ(汗)。

続きを読む

起動するまでの長い道のり メモリ管理編(3) ページングOnの巻

 前回でメモリのどこからどこまで使用可能か分かるようになった。今度は使用可能な範囲のページ・ディレクトリとページ・テーブルを用意していよいよページングをOnにしてみたいと思う。

続きを読む