写一个简单的翻译,或找到一个我可以使用?

时间:2010-12-02 02:06:53

标签: java language-design interpreter

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

我只需要字符串运算符,例如“contains and equals”。我需要逻辑上的AND,或者。连同括号。

  

“some string”CONTAINS“ring”AND   (“某些字符串”EQUALS“输入”或“其他字符串”   包含“其他”)

这只需要评估为真或假。

是否有任何开源的重写者会评估类似的语言?我自己写作会更好吗?

2 个答案:

答案 0 :(得分:3)

可能过度,但您可以使用JavaCC为您的语言生成解析器,然后遍历生成的输入语法树以评估表达式。

答案 1 :(得分:1)

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

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