可能重复:如何解析包含+, - ,*,/和括号的数字运算并返回结果?
var i : integer; begin i=5 + 5 + (2 * (3 + 2)) + (1 * 4 + (1 - 3)) end;
但我想,以这种方式工作的命令:
Best algorithm for evaluating a mathematical expression?
我的意思是,当你在德尔福进入这个喜欢
var i : integer; s:string;
begin
s:='5 + 5 + (2 * (3 + 2)) + (1 * 4 + (1 - 3))';
i:=ParseInt(s);
end;
在此先感谢
这是编译器/解释器方法中的一个基本问题,尽管您不需要完整的工具包。查看[学习编写编译器](http://stackoverflow.com/questions/1669/)以获取详尽的资源列表。我想推荐Crenshaw教程来解决这个问题,但是您必须将编译器调整为解释器。 – dmckee 2010-09-11 14:34:03