1

我编写了一个简单的词法分析器文件,JFlex 从中生成了一个没有任何抱怨的 Lexer.java 文件。

但是,如果没有错误,我无法编译 Lexer.java 文件:

包 java_cup.runtime 不存在

我不明白问题是什么,因为我按照教程说只要 java-cup-11a.jar 文件位于根文件夹中,就不应该有任何类路径问题。

我花了几个小时试图解决这个问题,并希望得到任何帮助。

4

2 回答 2

2

我怀疑您刚刚复制了一个 jflex 文件作为教程实验的基础,并且它%cup在顶部附近有一个指令。该指令指示 JFlex 生成 java 代码以将词法分析器链接到 CUP 生成的解析器,并且您没有向 java 编译器提供预期的 CUP jar 文件。

如果您正在制作一个独立的扫描仪(如果您刚刚开始学习教程,您可能应该这样做),您需要使用该%standalone指令。

于 2013-03-11T04:47:20.773 回答
0
import java_cup.runtime.*;

只需将其放在 .jflex 文件的顶部即可

于 2014-03-11T18:15:41.397 回答