中の人の徒然草1502009-03-17 Tue 19:01
どうも♪まだまだヒヨッコのインドリです♪今日は何を書こうかな・・・そうだ!最近嵌っている事を書きます。私は現在数学の学習とは別にコンパイラの復習をしています。目的は勿論オリジナルコンパイラ「ネタ指向コンパイラ」を作る事です。ネタ指向コンパイラとは、メジャー言語全ての機能を取り入れた実用度外視のネタコンパイラです。「機能が多ければ良いって訳じゃない」と技術者を笑わすコンパイラを目指して作ります。
ですがこれを作るにはまだやるべき事があります。私は今まで簡単なものならば、命令型・スクリプト言語・関数型・論理型・問い合わせ型、そして奇妙な言語、そして開発環境とデバッガは作った事あるのですが、まだアセンブラとリンカを作った事がありません。それに残念ながらyacc相当のものも作った事ありません。なので今現在は、復習が終わり次第、アセンブラとリンカとRaccを調べようと考えているところです。ネタはをするならやっぱり「そこまでやるか!」という無茶さがなければ面白くありませんからね♪ 私の計画では、ネタ指向コンパイラ実装による経験地を元に、アセンブラ→リンカ→パーサ&レクサジェネレーター→命令型言語→(後は気まぐれ順)で、オリジナル言語でテキストエディタを作って随時開発環境も拡張しながら開発していく予定です。目下、始めのアセンブラとリンカは何言語で作るのかが悩みの種です(笑)一番楽なのはやっぱり、C#かC++/CLIかな?でも仮装マシン上で仮装マシンまで作るのは遅すぎますし・・・実用面を考えるとC言語かC++しかないでしょうね。D言語も魅力的なのですが、GCの上で動くので、その上にGCを作るのは???となりますし(笑) 改めて考えると、これほど数多くのプログラム言語があるのに、アセンブラやリンカを作るのに適した言語がありません。そう考えるとプログラム言語って多いようでヴァリエーションが少ないですね・・・(英語に強ければもっとありそうだけどね) ちなみに、コンパイラを作った後どうするのかといいますと、技術者ならば当然?オリジナルOS実装です!!!その後は勿論、そのオリジナルOS上で開発環境を作って永遠に拡張していきます。私の夢はLinuxやWindowsと対等に張り合う事です。そのためにも英語は早急に身につけなくてはならないですねorzそれが一番気が重いです。凡人の私の夢が叶う確率は限りなく0に近いですが、一生技術者として魂を燃やして生きたいです。そうすれば、例え夢が叶わなくとも人生に悔いは残らないでしょう。 |
この記事のコメント |
コメントの投稿 |
||
|
|
||
| 管理者だけに閲覧 | ||
|
|
||
この記事のトラックバック |
|
| 無差別に技術をついばむ鳥 |
|