【问题标题】:Open source mathematical expression parser? [closed]开源数学表达式解析器? [关闭]
【发布时间】:2010-06-20 14:53:50
【问题描述】:

我在谷歌上搜索了一下,结果一片空白——所以是时候再次测试 SO 的好人了! :)

谁能推荐一个解析和计算数学表达式的开源库(.NET 的首选)?

例如输入表达式="2+(n-1)*4",参数键/值n=2,输出=6

【问题讨论】:

    标签: c# .net parsing open-source


    【解决方案1】:

    我会看看NCalc。以下是该项目的描述:

    NCalc 是 .NET 中的数学表达式计算器。 NCalc 可以解析任何表达式并评估结果,包括静态或动态参数和自定义函数。有关我们用于创建此框架的技术的更多信息,请阅读本文:http://www.codeproject.com/KB/recipes/sota_expression_evaluator.aspx

    如果这对于您的目的来说太复杂了,您可以查看任何 C# 的“解析器生成器”。这些工具允许您指定表达式的语法并生成解析它的代码。为数值表达式编写解析器应该非常简单。参见示例

    【讨论】:

      【解决方案2】:

      好吧,我过去曾为此使用过IronPython。这实际上是一条非常强大的路线,因为您可以将 API 暴露给表达式。

      除此之外,我相信Irony 解析器生成器有一个数学表达式示例解析器。 (如果他们不这样做,那么创建将是微不足道的。)

      在这方面也有很多谷歌搜索结果:

      NCalc
      .NET Math Expression Parser
      Mathematical Expression Parser for .NET

      仅举几例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多