对于应用程序,我想用算术表达式和变量来解析字符串。想象一下这个字符串:
((A + B) * C) / (D - (E * F))所以这里有占位符,没有实际的整型/双精度值。我正在寻找一个库,它允许我获取第一个占位符,将一个值放入占位符(例如,通过数据库查询),然后继续下一个占位符。
因此,我实际上想要做的是允许用户在不知道变量的实际值的情况下,用他们的领域语言编写字符串。因此,应用程序将根据某些“上下文逻辑”提供数值,并输出计算结果。
我用谷歌搜索了一下,没有找到合适的库。我找到了ANTLR,但我认为它对我的用例来说是非常“重量级”的。有什么建议吗?
发布于 2011-10-20 05:18:56
你说的对,ANTLR有点过头了。但是,解析中缀表示法中的算术表达式并不难,请参见:
此外,您还应该考虑使用一些脚本语言,如Groovy或JRuby。另外,JDK6及更高版本提供了内置的JavaScript支持。请看我的答案:Creating meta language with Java。
https://stackoverflow.com/questions/7828232
复制相似问题