是否有任何Java库来解析一个简单的语法?

时间:2011-11-09 06:01:41

标签: java parsing

我想用Java来解析一个非常简单的语法,例如:

/*comments*/
"aaa" = "bbb"

这就是全部。我想要所有的令牌(评论,字符串,等于)。

是否有可以处理此问题的Java库?

3 个答案:

答案 0 :(得分:2)

您必须编写识别这些令牌的每个人的基本语法,然后使用SableCCJavaCC等工具生成解析器(词法和语法)(它们都生成Java类)。然后你将拥有一个可以解析你的语言的解析器。

我希望这是parse a [...] grammar的意思。

答案 1 :(得分:1)

对于真正的基本需求,您可以使用java.util.StringTokenizer或java.io.StreamTokenizer。

答案 2 :(得分:0)

对于简单的语言,您可以非常轻松地编写递归下降解析器。见Is there an alternative for flex/bison that is usable on 8-bit embedded systems?