Javacc sample
[@more@]为了让词法分析做得更简单,我们通常都不会在文法分析的时候,使用“(”,“)”等字符号串来表示终结符号,而需要转而使用LPAREN, RPAREN这样的整型符号来表示。PARSER_BEGIN(Grammar)public class Grammar implements NodeType { public ParseTreeNode GetParseTree(InputStream in) throws ParseException { Grammar parser =new Grammar(in); return parser。Expression(); }}PARSER_END(Grammar)SKIP :{ " " | " " | " " | " "}TOKEN :{ < ID: [
Javacc的例子
[@more@]PARSER_BEGIN(Simple1)public class Simple1 { public static void main(String args[]) throws ParseException { Simple1 parser = new Simple1(System.in); parser.Input(); }}PARSER_END(Simple1)void Input() :{}{ MatchedBraces() (" "|" ")* <EOF>}void MatchedBraces() :{}{ "{" [ MatchedBraces() ] "}"} 设置好javacc的bin目录后,在命令提示符下输入javacc Simple1.jj 然后javacc就会为你生成下面几个java源代码文件Simple1.javaSimp