编写一个简单的解释器,或者找到一个我可以使用的解释器?

发布于 2024-10-06 02:11:32 字数 245 浏览 6 评论 0原文

我需要一个用 Java 编写的非常简单的解释器。语言将会变得简单。

我只需要字符串运算符,例如“包含和等于”。我需要逻辑上“与”、“或”。与括号一起。

“某个字符串”包含“环”并且 (“某个字符串”等于“输入”或“其他字符串” 包含“其他”)

这只需评估为 true 或 false。

是否有任何开源解释器可以评估类似的语言?我自己写会不会更好?

I need a very simple interpreter that is written in Java. The language is going to be simple.

I just need string operators, like "contains and equals". I need logically AND, OR. Along with parenthesis.

"some string" CONTAINS "ring" AND
("some string" EQUALS "input" OR "some other string"
CONTAINS "other")

This simply needs to evaluate to true or false.

Are there any open source intrepetors that would evaluate a language similar this? Would I be better off just writing my own?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

凉城 2024-10-13 02:11:32

可能有点过头了,但您可以使用 JavaCC 为您的语言生成解析器,然后遍历生成的语法您的输入的树,以便计算表达式。

May be overkill, but you could use JavaCC to generate a parser for your language, then traverse the generated syntax tree for your input in order to evaluate the expression.

┼── 2024-10-13 02:11:32

Beanshell 可能适合您想要完成的任务。它提供了您可以从应用程序调用的 Java 代码的动态执行。

它也是开源的,所以如果您想看看它是如何工作的,您也可以这样做。

Beanshell might be appropriate for what you're trying to accomplish. It offers dynamic execution of Java code that you can invoke from your app.

It's also open-source, so if you wanted to just see how it works you could do that too.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文