HelloWorld:
options { STATIC = false; } PARSER_BEGIN(Hello) package test.xue.javacc.hello; public class Hello { } PARSER_END(Hello) SKIP : {"\r" | "\n"} TOKEN : {<INT : (["0"-"9"])+>} void parse() : {} { <INT> ( "+" <INT> )*<EOF> }
这是个最简单的一个整数加法,保存为hello.jj,然后再命令行中:
javacc hello.jj
之后,得到下面7个文件
这之后可以写个测试:
import java.io.StringReader; public class TestHello{ public static void main(String[] args) throws ParseException { Hello hello = new Hello(new StringReader("1+23+65+5")); hello.parse(); } }
当然不会有任何输出,但如果输入的是”1+9-2″,就有输出了,error message