标签: java language-design interpreter
我需要一个用Java编写的非常简单的解释器。语言很简单。
我只需要字符串运算符,例如“contains and equals”。我需要逻辑上的AND,或者。连同括号。
“some string”CONTAINS“ring”AND (“某些字符串”EQUALS“输入”或“其他字符串” 包含“其他”)
这只需要评估为真或假。
是否有任何开源的重写者会评估类似的语言?我自己写作会更好吗?
答案 0 :(得分:3)
可能过度,但您可以使用JavaCC为您的语言生成解析器,然后遍历生成的输入语法树以评估表达式。
答案 1 :(得分:1)
Beanshell可能适合您要完成的任务。它提供了可以从应用程序调用的Java代码的动态执行。
它也是开源的,所以如果你想看看它是如何工作的,你也可以这样做。