2011-11-21 14 views
8

ANTLR tạo nguồn java từ tệp ngữ pháp. Nguồn được tạo ra có sự phụ thuộc vào các lớp ANTLR.Tôi có thể xóa phụ thuộc ANTLR khỏi mã được tạo không?

Tôi có thể tạo nguồn java 'sạch' bằng ANTLR, không có bất kỳ lời đe dọa nào không?

Nếu không, ai đó có thể giới thiệu một số trình phân tích cú pháp java vượt trội với các buổi biểu diễn và có thể tạo mã java sạch không?

+0

Tôi nghĩ đây là một câu hỏi hay. Với sự sẵn có lớn của các công cụ, khung công tác và thư viện, giới hạn quy mô theo chiều dọc và tác động môi trường của việc mở rộng quy mô ngang và tiêu thụ năng lượng nói chung, tôi tin rằng việc tạo ra mã không có mã vạch trên chức năng phải là mối quan tâm hàng đầu của kỹ thuật phần mềm chất lượng hiện đại. –

+0

Hey @JonathanNeufeld Tôi đồng ý với bạn - tôi có thể trích dẫn điều này không? Đó là lý do tại sao tôi mã hóa [jodd] (http://jodd.org) - để giảm thiểu mã cơ sở ... – igr

Trả lời

2

Nó thực sự không thực tế để loại bỏ phụ thuộc thời gian chạy trên ANTLR. Bạn cần phân phối thư viện thời gian chạy ANTLR với các trình nhận dạng của bạn.

Nếu tôi nhớ chính xác, JavaCC sẽ tạo một bản sao của các lớp thời gian chạy cần thiết (JavaCC "boilerplate") như một phần của mã "được tạo", do đó bạn không cần phải bao gồm một JAR bổ sung.

Gốc của mối quan tâm của bạn về phụ thuộc ANTLR là gì?

+0

Mã được tạo nên là một phần của khung/thư viện, do đó tôi muốn giữ phụ thuộc tối thiểu, để tránh va chạm có thể các phiên bản khác nhau của các lọ antlr khách hàng hiện tại. Nhưng, quan trọng hơn, tôi muốn như vậy;) – igr

Các vấn đề liên quan