1

我只是好奇。就像在解释语言甚至语句计算器中一样,人们如何将输入或文件给出的字符串转换为实际表达式?例如“输入计算:”然后你写“2*7/4”,它是一个字符串。程序如何将字符串转换为实际的表达式?将字符串转换为 int 很容易,但是如何转换+-/运算符?我知道这类事情通常是用C/C++实现的,但是有可能用像C#这样的高级语言来做这样的事情吗?如果是,那怎么办?

4

3 回答 3

3

这是您可能会查看的文章。还有像Flee这样的工具。或者另一种允许您使用 CodeDom 提供程序评估 C# 表达式的技术。

于 2011-06-29T06:57:13.530 回答
1

我相信这可以使用表达式树来实现,这就是 LINQ 的实现方式。

http://msdn.microsoft.com/en-us/library/bb397951.aspx

于 2011-06-29T06:57:05.603 回答
1

谷歌“解析树”。可以用任何图灵完备的语言编写。

于 2011-06-29T06:57:32.267 回答