Sử dụng ngữ pháp Java 7 https://github.com/antlr/grammars-v4/blob/master/java7/Java7.g4 Tôi muốn tìm các phương thức có tên cụ thể và sau đó chỉ cần in ra phương thức đó. Tôi thấy rằng tôi có thể sử dụng quy tắc methodDeclaration
khi tôi khớp. Vì vậy, tôi phân lớp Java7BaseListener
và ghi đè phương pháp nghe này:Làm cách nào để nhận được văn bản gốc mà quy tắc antlr4 khớp với?
@Override public void enterMethodDeclaration(Java7Parser.MethodDeclarationContext ctx) { }
Làm cách nào để lấy văn bản gốc? ctx.getText()
cho tôi một chuỗi với tất cả khoảng trắng bị tước đi. Tôi muốn nhận xét và định dạng gốc.
Nếu bạn không có quyền truy cập vào hoặc không muốn theo dõi của 'CharStream', sử dụng 'ctx.start.getInputStream()' để lấy nó. – Peter
Đầu vào CharStream = ctx.start.getInputStream(); input.getText (interval); Cung cấp cho tôi các lỗi thời gian chạy .checkBoundsOffCount (String.java:3101) –
Và khi nó không thất bại nó vẫn loại bỏ khoảng trắng –