我如何在intellij IDEA中设置javacc

时间:2015-04-08 21:16:38

标签: java intellij-idea javacc

我搜索了插件仓库并下载了javacc插件。

现在我有了插件,我如何在IntelliJ中使用它。

我的项目看起来像这样。

enter image description here

3 个答案:

答案 0 :(得分:0)

对此有所回应,但也许它可以帮助某人。据我所知,IntelliJ IDEA的JavaCC插件仅支持编辑文件,而不支持生成Java文件。为此,您必须使用命令行。下载JavaCC并将bin目录添加到您的路径中。 bin目录应如下所示:

javacc      jjdoc       jjrun       jjtree.bat
javacc.bat  jjdoc.bat   jjtree      lib

其中lib应包含您的javaccX.jar文件。现在,您可以从命令行生成Java文件:

javacc ./my-grammar-file.jj

答案 1 :(得分:0)

另一种方法是将 JavaCC 任务嵌入到 Idea gradle 项目中(基于 kotlin dsl 的代码片段):

buildscript {
    dependencies {
        classpath("net.java.dev.javacc", "javacc", "7.0.10")
    }
}

sourceSets["main"].java.srcDir("src/main/javacc")

...
...
...

task("assembleJavacc") {
    val outDir = "$projectDir/src/main/javacc/your/gen/package/dir"
    doLast {
        arrayOf(
            "-JDK_VERSION=1.8", "-OUTPUT_DIRECTORY=$outDir",
            "$projectDir/src/main/resources/ParserDefinition.jj"
        ).also {
            JJTree().main(it).takeIf { rs -> rs == 0 }
                ?: throw RuntimeException("jjtree error: ${it.contentToString()}")
        }
        arrayOf("-OUTPUT_DIRECTORY=$outDir", "$outDir/ParserDefinition.jj.jj")
            .also {
                Main.mainProgram(it).takeIf { rs -> rs == 0 }
                    ?: throw RuntimeException("javacc error: ${it.contentToString()}")
            }
    }
}

答案 2 :(得分:-4)

在这种情况下,选择“Assignment3”,右键单击,选择“打开模块设置”,确保在中间列中选择“Assignment3”。在右列中,单击“依赖关系”选项卡,您将看到标记为“模块SDK:”的下拉列表,您可以在此处指定JDK位置。选择“新建...”,如果使用插件,请选择“IntelliJ平台插件SDK”。弹出窗口将允许您导航到您下载的插件Java SDK的位置;一定要选择“bin”,“jre”,“lib”等目录的父目录,而不是实际的“bin”目录本身。但是,如果您已经下载了JDK而不是插件(我倾向于自己喜欢外部JDK),那么您可以选择“JDK”,导航到JDK的父级“bin”,等等。目录并选择那个。然后单击“确定”进行选择。然后单击“应用”,您将为项目模块设置JDK。