比如我现在有如下形式的字符串,
var formula_str = "((8>10)&&(8<20))||(8==-1)";
我应该如何正确解析?如果使用eval(),是可以马上输出false。但我需要解析的过程…
按步骤来说,应该是
1. 把表达式内的操作符和操作数 token 化
2. 基于操作符优先级,进出栈
3. 出栈计算,然后压入中间计算结果,直到栈空
我现在的问题是,我应该如何正确地 tokenize
有这方法经验的v2er,是否愿意教我一下
var formula_str = "((8>10)&&(8<20))||(8==-1)";
我应该如何正确解析?如果使用eval(),是可以马上输出false。但我需要解析的过程…
按步骤来说,应该是
1. 把表达式内的操作符和操作数 token 化
2. 基于操作符优先级,进出栈
3. 出栈计算,然后压入中间计算结果,直到栈空
我现在的问题是,我应该如何正确地 tokenize
有这方法经验的v2er,是否愿意教我一下