【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

構造を表示

id:n7shi:20101204のファイルシステム読み込みツールを改造して、ディレクトリやファイルの構造が表示できるようになりました。今まではイメージ全体をZIP圧縮して取り出すことしかできませんでしたが、ファイル単位で取り出せるようになりました。Windows FormsとSilverlightでほぼ同じGUIを実装しました。

現時点では読み込みしかできません。将来的には書き込みをサポートして、逆アセンブラインタプリタと統合すれば面白いことになりそうです。

コンパイラが動作

id:n7shi:20110330で開発に着手したPDP-11のインタプリタですが、最低限必要な命令とシステムコールを実装して、ようやくV6のコンパイラが動くようになりました。Silverlightに対応した環境ではブラウザ内で動きます。

このままでは実際の作業には使えないため、Silverlightから出してコマンドライン上で動くようにしたいと思います。

インタプリタ

id:n7shi:20110322で開発したPDP-11の逆アセンブラを拡張して、UNIX V6のバイナリを対象としたインタプリタの開発に着手しました。まだ未実装の命令やシステムコールが多数ありますが、とりあえずprintf()くらいは動くようになりました。Silverlightに対応した環境ではブラウザ内で動きます。

もともとC#で作っていましたが、最近VB.NETに慣れてC#より快適になってきたため、VB.NETで書き換えました。

逆アセンブラ

PDP-11の命令について調査するため、Silverlightで逆アセンブラを作成しました。UNIX V6のa.outに対応しています。

Lions本では8進数に戸惑ったため、デフォルトの出力は16進数です。8進数に切り替えることもできます。

初級勉強会

地震の影響による電力・交通事情を踏まえ、中止しました。

まだ少し先ですが、Silverlightの初級勉強会を開催することになりました。初心者を対象としていますので、開発は初めてという方でもお気軽にご参加ください。

対象言語はC#VB.NETです。お好きな方をお選びください。

言語変換でいきなり実用を目指す

※このエントリは F# Advent Calendar jp 2010 第17回目の参加記事です。

F#の話題を目にしても「何やら難しそうなコードが掲載されていて、自分には関係なさそうだ」と素通りしたことはないでしょうか?実は、私もそうでした。F#の本を入手してぱらぱら眺めてから、2年近くまともに使わずに放置しました。

ところでよく「C#VB.NETは文法が違うだけで中身はほぼ同じ」と言われます。F#もあまり関数型の側面を強調しないで、VB.NETと同列に捉えてみるのも一つの手です。そんなわけで、C#使いの方へF#変換プログラムのクリスマスプレゼントです(間に合いませんでしたが・・・)。

何だこれ、C#で書かれているじゃないか!F#のエントリとしては画竜点睛を欠くんじゃないか? ―― いえ、ちょっと待ってください。

続きを読む