我见过很多表达式解析器/标记器,它们可以采用某个字符串并评估结果。例如,您可以抽出字符串:
4+4
进入以下代码:
MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl();
//' You always need to initialize a language engine
sc.Language = "VBScript";
//' this is the expression - in a real program it will probably be
//' read from a textbox control
string expr = "4+4";
double res = sc.Eval(expr);
并得到 8。但是,是否有可以评估字符串的解析工具:
4 = 4 = 4
? 到目前为止,所有示例都因无法比较 double 和 boolean 的错误而失败(从编译器的角度来看这是有道理的,但从人类的角度来看,我们可以看到这是真的)。有人遇到可以实现这一目标的东西吗?