我写了一个简单的lexer文件,JFlex从中生成了一个没有任何抱怨的Lexer.java文件。
但是我无法编译Lexer.java文件而没有错误:
包java_cup.runtime不存在
我不明白问题是什么,因为我按照一个教程说,只要java-cup-11a.jar文件在根文件夹中,那么就不应该有任何类路径问题。
我花了好几个小时试图解决这个问题,并希望得到任何帮助。
答案 0 :(得分:2)
我怀疑你刚刚复制了一个jflex文件作为教程实验的基础,它在顶部附近有%cup
指令。该指令指示JFlex生成java代码以将词法分析器链接到CUP生成的解析器,并且您不会向Java编译器提供预期的CUP jar文件。
如果您正在制作独立扫描程序(如果您刚刚开始教程,那么您可能应该这样做),则需要使用%standalone
指令。
答案 1 :(得分:0)
import java_cup.runtime.*;
将它放在.jflex文件的顶部