About Ovi web app 3

As introduced in this post, one of the requirements in creating Ovi was the math expression parser. In this sample, I used the 'eval()' function in javascript. Using it, I omitted making a parser though exponentiation operator '^' is not supported.. so there is the button to input the  'Math.Power()' function..  In next web app version  I will amplify the 'eval' function adding the exponentiation operator '^' .  For simple cases like 2^2 it would be easy with a replacement of text, however, there are cases like (5-3)^(1^(11*13)+1).  The solution resulted in more than 50 lines of code. (It is implemented in the text box below)




こちらの投稿で紹介したように、Ovi を作成するために数式パーサーが必要でした。ウェブ上のサンプルでは javascript の eval() 関数を使う事でパーサーの作成を省きましたが、累乗の演算子 '^' はサポートされていため、Math.Power() 関数を入力するためのボタンがあります。作成中のウェブアプリバージョンでは eval() を拡張して、 '^' を使えるようにします。 2^2 のような単純なケースではテキストの置き換えで済みますが、(5-3)^(1^(11*13)+1) のようなケースにも対応しなければなりません。対応は50行以上のコードになりました。(上のテキストボックスに実装されています)