我只是好奇。就像解释语言甚至语句计算器一样,人们如何将输入或文件给出的字符串转换为实际表达式?例如“输入计算:”,然后编写“2 * 7/4”这是一个字符串。程序如何将字符串转换为实际表达式?将字符串转换为int很容易但是如何转换运算符,如 + , - , / 等等?我知道这些事情通常都是用 C / C ++ 实现的,但有可能用高级语言来做这样的事情,比如 C#吗?如果是,那么如何?
答案 0 :(得分:3)
您可以查看以下an article。还有像Flee这样的工具。或者another technique允许您使用CodeDom提供程序评估C#表达式。
答案 1 :(得分:1)
我相信这可以通过表达式树来实现,这就是LINQ的实现方式。
答案 2 :(得分:1)
Google“解析树”。一个可以用任何图灵完整的语言编写。