久しぶりの作業

実は数日ぶりの作業です。
今回もコンパイラの再調整(コンパイラは切り上げるんじゃなかったんかいw)。算術演算周りはもうちょっとで完成。
なぜこんなに手間がかかっているかというと、記述性を考慮して3項式まで対応したいから。で、今まではまだ完全ではなかったのです。算術演算の3項式で考え得る構文は大きくわけて以下の4つ。そのうち、一番上のみと2項式までしか出来ていませんでした。で、つくっているうちに2項式も3項式に組み直すことができ、コンパイラの内部コードを減らすことが出来ることに気付いて組み直し始めている、といったところです。
別に、ファーストリリースで変数に対応する予定はないのですが、気付いたら止まらない性質でして(^^;

3項式で考え得る構文

変数1 = 変数2 演算子 変数3
変数1 = 変数2 演算子 リテラル
変数1 = リテラル 演算子 変数2
変数1 = リテラル 演算子 リテラル
※1 出来れば最後の構文は避けたいところ(^^;
※2 これが完成すれば「変数1 = 変数1 演算子 変数1」のようなコードも出来るようになっているはず

Rbで数式解析

絵箱の作者Mattsunさんが、Rbで数式を解析して計算する計算機を作ったそうで、そのコードが公開されているとのことですが、バイトコードコンパイルすることを考えるとそれを使うのは難しいかな...。