如何解决解析字符串中的计算树
| 我在c#或自动代码生成器中有任何内置库,它们可以接收配置文件并从字符串中构建Calculaton树的解析器(如果没有),可以请我帮忙 例: \“-2 + 5> 3 \”我想构建计算树,其中<是根\'+ \'是其右儿子3是左儿子\'-2 \'是+的左儿子,而5是其对的儿子。 在这种情况下,树可以进行评估,判断是对还是错。 谢谢。解决方法
您是否看过System.Linq.Expressions?例如如何在C#中将字符串转换为System.Linq.Expressions.Expression?
, 看看斑斑。这是一个简单的解析器,它使您可以构建表达式树,然后对其进行评估应该很容易。
, Irony库非常易于使用,并且在示例中带有表达式解析器。
, 如果您的目标是评估表达式而不是树本身-您可以查看以下内容:
http://www.codeproject.com/KB/recipes/sota_expression_evaluator.aspx
可能值得注意的是,大多数表达式评估器的实现都使用RPN。
http://en.wikipedia.org/wiki/Reverse_Polish_notation
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。