MyHLは、haribote HL-8cを改造したバージョンです。
中置演算子と複合代入演算子を追加しやすいように、条件分岐を変更
@@ -579,20 +579,13 @@ int evalExpression(Precedence precedence) 高い(値が小さい)ときは、このブロックを実行せずにこれまでに式を評価した 結果を呼び出し元に返す。 */ - switch (tc[epc]) { - case Multi: case Divi: case Mod: - case Plus: case Minus: - case ShiftRight: - case Les: case LesEq: case Gtr: case GtrEq: - case Equal: case NotEq: - case And: - res = evalInfixExpression(res, encountered - 1, tc[epc]); - break; - case Assign: + if (tc[epc] == Assign) { ++epc; e0 = evalExpression(encountered); putIc(OpCpy, &vars[res], &vars[e0], 0, 0); - break; + } + else { + res = evalInfixExpression(res, encountered - 1, tc[epc]); } } else