你将如何在c#中创建一个表达式解析器

本文关键字:一个 表达式 创建 | 更新日期: 2023-09-27 18:00:34

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

你将如何在c#中创建一个表达式解析器

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

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

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

谷歌"解析树"。一个可以用任何图灵完全语言编写。