Tôi mới tham gia ANTLR4 và có vẻ như không có Eclipse-Plug-In cho v4. Vì vậy, nó sẽ tốt đẹp để xây dựng tự động các nguồn Java từ các ngôn ngữ .g4. Tôi có một dự án Maven đơn giản, trống rỗng với src/main/java, src/test/java. Nơi để đặt các tập tin .g4? Làm thế nào tôi có thể tự động xây dựng các ngữ pháp với Maven?Làm thế nào để tự động tạo lexer + parser với ANTLR4 và Maven?
riêng POM-thử nghiệm của tôi thất bại:
<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 nói:
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
Cảm ơn bạn! Khi tôi nhận xét plugin trình xây dựng-helper-maven trong tệp pom.xml, ANTLR xây dựng trình lexer và trình phân tích cú pháp cho ngữ pháp đã đặt. Nhưng với Eclipse-helper-maven-plugin Eclipse cho biết: "Thực thi plugin không được bao gồm trong cấu hình vòng đời: org.codehaus.mojo: build-helper-maven-plugin: 1.7: add-source (thực thi: default, phase: generate-sources) ". Nếu không thêm thủ công target/generatet-sources/antlr4 làm thư mục src, tôi không thể sử dụng lexer/parser được tạo ra. Và một câu hỏi khác: Làm thế nào để đặt đối số? ' org.example configuration>' không hoạt động. –
Vertex
Eclipse sẽ tự động tải xuống phần mở rộng thích hợp để làm việc với plugin trình trợ giúp xây dựng nếu bạn yêu cầu. Mệnh đề gói luôn tự động được thêm vào bởi mục tiêu antlr4 dựa trên vị trí của tệp .g4 trong cấu trúc nguồn của bạn. Để thay đổi gói của mã được tạo ra, hãy di chuyển ngữ pháp đến gói mong muốn trong cây nguồn. –
Có bạn đã đúng! Tôi đã bỏ qua việc sửa chữa nhanh chóng. – Vertex