有没有适用于解析简单语法的Java库?

3

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

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

这就是全部。我想要所有令牌(注释、字符串、等于符号)。

有没有Java库可以处理这个问题?


1
我没明白。你是在寻找类似ANTLR的东西吗?http://www.antlr.org/ - zengr
@zengr 我相信是这样的。请参考以下链接:http://stackoverflow.com/questions/278480/antlr-tutorials 和 http://jnb.ociweb.com/jnb/jnbJun2008.htm - Kowser
也许 OP 只想要标记而不是隐含简单语法的实际解析器? - Ira Baxter
ANTLR 对于这么简单的事情可能有点过于复杂了。但如果你们都推荐 ANTLR,我会尝试一下。谢谢。 - disorderdev
3个回答

3
你需要编写基础语法,以识别这些标记中的每个人,并使用类似 SableCCJavaCC 的工具生成解析器(词法和语法)(它们都会生成 Java 类)。然后你将拥有一个可以解析你的语言的解析器。
我希望这就是你所说的“解析[...]语法”的意思。

1

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


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接