1

私はウェブアプリケーションを持っています。私の仕事は、Excel のような数式を動的に (またはサーバー側からロードして) 実行する機能を追加することです。はい、JavaScript サンドボックスを使用できますが、実際には安全ではなく、数学 (合計、乗算など) と "if" 句だけで多くの機能は必要ありません。皆さんが数学プロセッサを実装する最良の方法を知っていることを願っています.

よろしくポール

4

3 に答える 3

0

jison ( http://zaach.github.io/jison/ ) または PEGjs ( https://github.com/dmajda/pegjs )を使用して、独自のパーサーを作成できます。

文法仕様については、ECMA-376 ( http://www.ecma-international.org/publications/standards/Ecma-376.htm ) および MS-XLS ( http://msdn.microsoft.com ) を参照してください。 /en-us/library/cc313154%28v=office.12%29.aspx )。両方とも、式言語の高レベルの説明があります (疑似 ABNF を使用)。

于 2013-04-15T04:28:32.643 に答える
0

math.js に含まれている式パーサーを使用できます。

http://mathjs.org

使用例:

math.eval('1.2 / (2.3 + 0.7)');   // 0.4
math.eval('5.08 cm in inch');     // 2 inch
math.eval('sin(45 deg) ^ 2');     // 0.5
math.eval('9 / 3 + 2i');          // 3 + 2i
math.eval('det([-1, 2; 3, 1])');  // -7
于 2013-04-28T12:42:33.957 に答える