我只是好奇。就像在解释语言甚至语句计算器中一样,人们如何将输入或文件中给出的字符串转换为实际表达式?例如"输入计算:",然后写"2*7/4"这是一个字符串。程序如何将字符串转换为实际表达式?将字符串转换为int很容易,但如何转换运算符,如+、-和/等。?我知道这类东西通常在C/C++中实现,但有可能在C#这样的高级语言中实现吗?如果是,那怎么办?
这里有一篇你可以看看的文章。还有像Flee这样的工具。或者另一种允许您使用CodeDom提供程序评估C#表达式的技术。
我相信这可以通过使用表达式树来实现,LINQ就是这样实现的。
http://msdn.microsoft.com/en-us/library/bb397951.aspx
谷歌"解析树"。一个可以用任何图灵完全语言编写。