我正在尝试用JFlex和Cup实现解析器。现在,我只是试图让他们编译下面链接中的简单示例程序。
http://www.cs.rit.edu/pal6640/cup-example simple-expr.html
从cup
脚本创建parser.java
和sym.java
文件,我运行:
java –jar java-cup-11a.jar parser.cup
接下来,使用JFlex.jar
创建词法分析器java文件:
java –jar JFlex.jar lexer.lex
然后编译:
javac –classpath java-cup-11a.jar Yylex.java sym.java parser.java
编译命令抛出12个错误。他们都说
找不到符号变量扫描器
我认为我已经正确设置了所有的环境变量。有人知道我哪里做错了吗?
Java CUP分发两个jar文件:可执行的独立jar包和CUP运行时库,用于与CUP生成的解析器一起使用。CUP生成的解析器需要第二个。因此你的第三个命令应该是类似于
javac –classpath java-cup-11a-runtime.jar Yylex.java sym.java parser.java