我想用Java来解析一个非常简单的语法,例如:
/*comments*/
"aaa" = "bbb"
这就是全部。我想要所有的令牌(评论,字符串,等于)。
是否有可以处理此问题的Java库?
答案 0 :(得分:2)
您必须编写识别这些令牌的每个人的基本语法,然后使用SableCC或JavaCC等工具生成解析器(词法和语法)(它们都生成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?