首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在intellij IDEA中设置javacc

如何在intellij IDEA中设置javacc
EN

Stack Overflow用户
提问于 2015-04-09 05:16:38
回答 3查看 5.2K关注 0票数 10

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

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

我的项目是这样的。

EN

回答 3

Stack Overflow用户

发布于 2021-04-07 06:40:28

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

代码语言:javascript
复制
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()}")
            }
    }
}
票数 0
EN

Stack Overflow用户

发布于 2018-01-31 18:49:19

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

代码语言:javascript
复制
javacc      jjdoc       jjrun       jjtree.bat
javacc.bat  jjdoc.bat   jjtree      lib

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

代码语言:javascript
复制
javacc ./my-grammar-file.jj
票数 -1
EN

Stack Overflow用户

发布于 2015-08-28 05:45:31

在这种情况下,选择"Assignment3",单击鼠标右键,选择“打开模块设置”,确保在中间一栏选择了"Assignment3“。在右列中,单击"Dependencies“选项卡,您将看到一个标记为"Module SDK:”的下拉列表,您可以在此指定JDK位置。选择“新建...”如果使用插件,请选择"IntelliJ Platform Plugin SDK“。弹出窗口允许您导航到下载的插件Java SDK的位置;请确保选择"bin“、"jre”、"lib“等目录的父目录,而不是实际的"bin”目录本身。但是,如果您下载的是JDK而不是插件(我个人倾向于使用外部JDK),那么您应该选择"JDK“,导航到JDK的父”bin“,即-etc。目录,然后选择那个目录。然后单击“确定”进行选择。然后单击"Apply“,您就已经为项目模块设置了JDK。

票数 -4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29525497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档