我已经下载了javacc-5.0,并尝试遵循各种不同的指南,但都无济于事。 我解压了这个包,修改了PATH变量以包含../javacc-5.0/bin/lib/javacc.jar目录,并确保所有正确的文件都是可执行的。但是,which javacc命令不会给出任何输出,并且尝试运行javacc exec也会给出错误Could not find or load main class javacc ( jar文件肯定在lib目录中)。
我想测试我的程序,所以我下载了JavaCC 5.0,因为它有问题。我已经将/bin复制到usr/local/bin,但是现在当我将javacc MyTest.jj输入终端时,我会得到以下错误。
Error: Could not find or load main class javacc
我环顾四周看看为什么会出现这个错误,而我发现的唯一与此相关的问题就是这个问题。
由于我使用的是较早版本的JavaCC,因此路径不存在任何问题。此外,在试图找出导致此错误的原因时,我发现只有当终端中的输入是java class时才会发生这种情况,那么为什么会发生这种情况呢?我能做些什么让Javacc工作呢?
我是javacc的新手。我试图解析现有的javacc语法(它是)。它生成(几乎)正确的java。但是,生成的代码包含一个非法的开关语句。我用的是ph-plugin。
private int jjMoveStringLiteralDfa0_0(){
switch(curChar)
{
case '#':
return jjMoveStringLiteralDfa1_0(0x8L);
case '$':
return jjMoveStringLiteralDfa1_0(0x4L);
在javacc中有没有一种方法可以在检测到错误之后进一步解析输入文件。我知道有几种方法,比如恐慌模式恢复,短语级别恢复等等。但是我不知道如何在javacc jjt文件中实现它。例如,假设我的输入文件是
Line 1: int i
Line 2: int x;
Line 3: int k
所以我想要的是,在检测到第1行缺少分号的错误后,继续解析并找到第3行的错误。