2008-03-09 カテゴリ: Client Side タグ: JavaScript パーサ 電卓 中置記法 一次方程式電卓 前回の記事と前々回の記事で書いていた数式パーサと分数クラスを改良して、中置記法の数式を分数のまま計算する電卓を書いた。 最終的な目標は、移項のアルゴリズムを実装して、一元一次方程式を解く電卓を作ることだけど、とりあえずは一段落。 設計 数式パーサを書いた前々回の記事では、数式を解釈して配列を使った構文木を返していたが、今回は配列ではなく、operatorとoperand1とoperand2の3つのフィールドを持つBinaryOperationオブジェクトを使った二分木として返すようにした。 BinaryOperationオブジェクトのoperate()メソッドを呼ぶと、子要素のoperate()メソッドを呼びつつ、適切な演算を行って値を返す仕組み。最末端ノードは、