首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带占位符的简单java递归下降解析库

带占位符的简单java递归下降解析库
EN

Stack Overflow用户
提问于 2011-10-20 05:13:20
回答 2查看 1.6K关注 0票数 3

对于应用程序,我想用算术表达式和变量来解析字符串。想象一下这个字符串:

代码语言:javascript
运行
复制
((A + B) * C) / (D - (E * F))

所以这里有占位符,没有实际的整型/双精度值。我正在寻找一个库,它允许我获取第一个占位符,将一个值放入占位符(例如,通过数据库查询),然后继续下一个占位符。

因此,我实际上想要做的是允许用户在不知道变量的实际值的情况下,用他们的领域语言编写字符串。因此,应用程序将根据某些“上下文逻辑”提供数值,并输出计算结果。

我用谷歌搜索了一下,没有找到合适的库。我找到了ANTLR,但我认为它对我的用例来说是非常“重量级”的。有什么建议吗?

EN

Stack Overflow用户

回答已采纳

发布于 2011-10-20 05:18:56

你说的对,ANTLR有点过头了。但是,解析中缀表示法中的算术表达式并不难,请参见:

  • Operator-precedence parser
  • Shunting-yard algorithm
  • Algorithms for Parsing Arithmetic Expressions

此外,您还应该考虑使用一些脚本语言,如Groovy或JRuby。另外,JDK6及更高版本提供了内置的JavaScript支持。请看我的答案:Creating meta language with Java

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7828232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档