2011-01-04

CASL IIシミュレータ作成時に使おうとして諦めたJava APIいろいろ

java.nio.ByteBuffer。アセンブラが出力するオブジェクトファイルの読み書きに使おうとしたのだけれど、単純な1入力1出力の処理だったので、昔ながらのjava.io.DataInputStream/DataOutputStreamで事足りてしまった。Enumに並んで完璧主義が光るクラスではある。
java.io.Console。あるいはjava.lang.System.console()。名前通りコマンドライン入出力に便利な機能が揃っているのだが、今回は単純なテキスト出力処理がほとんどだったので、使う機会がなかった。
java.util.Scanner。DeveloperWorksの記事で紹介されているように、数値と文字が記述されたテキストの読み込みは、これで大体まかなえるはずなのだが...。CASL IIの仕様を読んでみると、数値やコメントの扱いに独特の解釈があって、結局、構文解析処理は全部自作した。

CASL II アセンブラとシミュレータを公開

CASL IIは、情報処理技術者試験のアセンブラ言語です。
今回、CASL IIのアセンブラとシミュレータを作って公開しました。
配布ファイルは、アセンブラとシミュレータに加えて、逆アセンブラとデバッガが付いています。
また、ソースファイルとオブジェクトファイルフォーマット仕様書も付いているので、これから CASL II のアセンブラやシミュレータを作ろうという方の参考になると幸いです。
配布ページ(2015-12-12: 3年以上更新が無いため、配布停止しました)
https://sites.google.com/site/syjiroji/home/jxvx