プログラム言語処理系を作成しました。Windows 上で動作します。ソースも公開しています。C 言語のみで作っています。

ダウンロードページ

スクリーンショットです。

このソフトウェアを紹介します。

と画面に出力されます。

たとえば、以下は正式なまなめ 2000 用のプログラムです。

皆さんはこんな事を思ったは無いでしょうか？

「まなめ 2000」制作者が「まなめ 2000」を使う人に「まなめ 2000」の命令を軽く紹介するための 10 命令

それでは「まなめ 2000」をプログラムの命令を通して普通に紹介しますね。*2



要は、勇気がないんでしょ？ 要は、勇気がないんでしょ？ 要は、abcdがないんでしょ？ 要は、Zがないんでしょ？ 要は、

がないんでしょ？ これらは全て同じ命令で、アキュムレータに指定した値をそのまま直接取り込みます。最初の命令は「勇気」という文字列を、次は「abcd」、次は「Z」、最後は改行文字となります。 残念ながら 4 バイト、つまり半角 4 文字か全角2文字までしか指定できませんが、エスケープシーケンスで改行文字や他の特殊文字を取り込むことが出来ます。





ワシの波動球は108式まであるぞ ワシの波動球は108式まであるぞ ワシの波動球は256式まであるぞ ワシの波動球は2147483647式まであるぞ ワシの波動球は-108式まであるぞ これら命令は、上記の「要は、勇気がないんでしょ？」と同じ、アキュムレータに直接値を取り込みますが、上記が文字列であったのに対し、こちらは数値をそのまま取り込みます。 指定出来る数値は整数のみの、-2147483648 〜 2147483647 の値となっています。





まなめとなまめ まなめはうす なまめはうす まなめ VM にはアキュムレータ以外にも通常のレジスタが 3 つ（裏も合わせれば 6 つ）あります。アキュムレータとそれらレジスタの値をやりとりするのがこの「まなめ」または「なまめ」を使用します。 3 つのレジスタはそれぞれ「は」レジスタ「う」レジスタ「す」レジスタと呼ばれており、「まなめ」または「なまめ」と記述した後に指定することでやりとりするレジスタを指定します。





めまな？ぬまな？めなま？ぬなま？ めまなはうす ぬまなはうす めなまはうす ぬなまはうす これら命令は四則演算を実行します。上から順番に加減乗除となっています。これらも各種レジスタを指定するようになっています。 基本的に、アキュムレータに対し、指定したレジスタの値を加減乗除する命令となっています。





マッチョとウィンプ マッチョ ウィンプ これらの命令は、アキュムレータの値をインクリメント（要するに 1 を足す）するか、デクリメント（要するに 1 を引く）します。 どっちがどっちの命令なのかは想像にお任せします。





ゆっくり ゆっくりしていってね！！！ ゆっくりした結果がこれだよ！！！ これらの命令は、レジスタの値をレジスタ用スタックに保存します。 レジスタ用スタックとはまなめ VM に備わっている機能で、レジスタの値をスタック構造の領域に保存します。



