我在c#或自动代码生成器中有任何内置库,它接收配置文件并从字符串构建计算器树的解析器,如果没有,请你帮我提供建议 例: “-2 + 5> 3”我想构建计算树,其中<是根'+'是它的右儿子3是左儿子'-2'是左儿子的+和5是它的右儿子。 在这种情况下,树可以做评估是真还是假。
谢谢。
答案 0 :(得分:6)
看看sprache。这是一个简单的解析器,它允许你构建表达式树,然后评估它应该是容易的位。
答案 1 :(得分:4)
你看过System.Linq.Expressions吗?例如How to convert string into System.Linq.Expressions.Expression in C#?
答案 2 :(得分:3)
Irony库非常易于使用,并且在示例中附带了表达式解析器。
答案 3 :(得分:2)
如果您的目标是评估表达式而不是树本身 - 您可以看一下: http://www.codeproject.com/KB/recipes/sota_expression_evaluator.aspx
值得注意的是,大多数表达式评估程序的实现都在使用RPN。 http://en.wikipedia.org/wiki/Reverse_Polish_notation