如何自动生成词法分析器+与ANTLR4和Maven?(How to automatically ge

2019-07-20 01:41发布

我'新ANTLR4,似乎没有Eclipse的插件,V4。 因此,这将很好的自动构建从.g4语法的Java源代码。 我有一个简单的,空的Maven项目用的src / main / java中,SRC /测试/ java中。 在何处放置.g4文件? 我怎么能自动用Maven构建这个语法?

我自己的POM-测试失败:

<repository>
    <id>mvn-public</id>
    <name>MVNRepository</name>
    <url>http://mvnrepository.com</url>
</repository>

...

<build>
    <plugins>
        <plugin>
            <groupId>org.antlr</groupId>
            <artifactId>antlr4-maven-plugin</artifactId>
            <version>4.0.0</version>
            <executions>
                <execution>
                    <goals>
                        <goal>antlr</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

Eclipse中说:

Failure to find org.antlr:antlr4-maven-plugin:pom:4.0.0 in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of
central has elapsed or updates are forced

Answer 1:

我创建具有以下要旨pom.xml 设计为一个Eclipse构建期间从ANTLR支撑自动代码生成4个语法。 它包含了必要的生命周期信息M2E知道,代码生成是必要的,并明确使用增加了代码生成文件夹build-helper-maven-plugin由于Eclipse似乎有一些麻烦,否则定位它。

在这种配置中,语法文件( *.g4 )被放置在其他Java源文件一起。 该Maven插件将适当的自动添加package ...语句生成的文件,所以你不应该包括@header{package ...}在语法本身线。

https://gist.github.com/sharwell/4979017



Answer 2:

看看这个Antlr4的Eclipse插件

https://github.com/jknack/antlr4ide



文章来源: How to automatically generate lexer+parser with ANTLR4 and Maven?