包含测量单位的数学表达式评估器

时间:2011-12-06 16:13:17

标签: .net interpreter units-of-measurement expression-evaluation ncalc

this question相似但不同。那里有很多好的答案,但没有一个是计量单位。

.NET兼容(即使通过COM,如有必要)数学表达式评估器如何包含度量单位?

我尝试过NCalc用于无单位表达式。我知道F#可以在代码中完成。谷歌计算器是惊人的,但作为支持的API不可用,并且在该项目的服务基础上是不合适的。

Here's an interesting paper on the subject。它涵盖了计量单位计算,但没有留下“加性常数”转换,例如摄氏温度到华氏温度(通过他们的结论)。它提出了一个关于实质的好点。 “加仑汽油”与“加仑牛奶”。单位是相同的,但实质是不同的,因此也许应该被图书馆视为不同。使用正确的炼金术方程式,一加仑汽油的牛奶产量是多少? :-P

NCalc可以实现这个吗?否则增强NCalc会涉及多少工作?是否还有其他.Net兼容库可以处理度量单位?

1 个答案:

答案 0 :(得分:0)

FParsec似乎很有趣!它只对表达解析步骤有帮助,但这似乎是大部分的战斗。在F#中支持紧凑的,类似BNF的定义,并且可以提供高质量的错误消息。

Dimensional Anaylsis仍然是一个自定义工作,但如果使用正确解析的AST,是否难以实现?