Tôi cần trợ giúp với ngữ pháp ANTLR 4 sau khi quyết định chuyển sang v4 từ v3. Tôi không phải là rất có kinh nghiệm với ANTLR vì vậy tôi thực sự xin lỗi nếu câu hỏi của tôi là câm;)
Trong v3 tôi đã sử dụng đoạn mã sau để phát hiện Java kiểu nhận xét:
COMMENT
: '//' ~('\n'|'\r')* '\r'? '\n' {$channel=HIDDEN;}
| '/*' (options {greedy=false;} : .)* '*/' {$channel=HIDDEN;}
;
Trong v4 không có quy tắc tùy chọn cụ thể. Các hành động (di chuyển đến kênh ẩn) cũng không hợp lệ.
Có thể ai đó vui lòng cho tôi gợi ý cách thực hiện trong ANTLR v4?
Cảm ơn bạn rất nhiều! – user2055330
Hiện tại, tôi sử dụng mã được đề xuất của bạn (biến thể đầu tiên sử dụng kênh) sẽ phát ra lỗi: '-> lệnh trong quy tắc lexer 'COMMENT' phải là phần tử cuối cùng của một điểm ngoài cùng duy nhất 'Có vấn đề gì? – user2055330
@ user2055330, hãy thử phiên bản đã chỉnh sửa của tôi. –