Jestem nowy w ANTLR4 i wygląda na to, że nie ma wtyczki Eclipse dla v4. Dobrze byłoby więc automatycznie zbudować źródła Java z gramatyk .g4. Mam prosty, pusty projekt Maven z src/main/java, src/test/java. Gdzie umieścić pliki .g4? Jak mogę automatycznie budować gramatyki za pomocą Mavena?Jak automatycznie generować lexer + parser z ANTLR4 i Maven?
Moja własna POM-test zakończył się niepowodzeniem:
<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 mówi:
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
Dziękujemy! Kiedy komentuję wtyczkę build-helper-maven-out w pom.xml, ANTLR buduje lexer i parser dla umieszczonej gramatyki. Ale z wtyczką build-helper-maven Eclipse mówi: "Implementacja wtyczki nie jest objęta konfiguracją cyklu życia: org.codehaus.mojo: build-helper-maven-plugin: 1.7: add-source (wykonanie: default, phase: generate-sources) ". Bez ręcznego dodawania obiektu docelowego/generatet-sources/antlr4 jako folderu src nie można użyć wygenerowanego leksera/analizatora składni. I kolejne pytanie: jak postawić argumenty? ' org.example configuration>' nie działa. –
Vertex
Eclipse automatycznie pobierze odpowiednie rozszerzenie do pracy z wtyczką do budowania programu, jeśli jej to powiesz. Klauzula pakietu jest zawsze automatycznie dodawana do celu antlr4 na podstawie lokalizacji pliku .g4 w strukturze źródłowej. Aby zmienić pakiet wygenerowanego kodu, przenieś samą gramatykę do żądanego pakietu w drzewie źródłowym. –
Tak, masz rację! Zignorowałem szybką naprawę. – Vertex