Tôi đang sử dụng trả về cho các quy tắc phân tích cú pháp của tôi hoạt động cho tất cả quy tắc phân tích cú pháp ngoại trừ quy tắc đầu tiên. Nếu quy tắc phân tích cú pháp đầu tiên trong ngữ pháp của tôi sử dụng lợi nhuận khai ANTLR4 phàn nàn như sau:Dấu ngoặc kép với khai báo trả về quy tắc phân tích cú pháp đầu tiên trong ngữ pháp ANTLR4
mong ARG_ACTION khi phù hợp với một quy tắc
Nếu tôi thêm một quy tắc phân tích cú pháp trên mà không sử dụng "lợi nhuận" ANTLR không phàn nàn.
Ở đây bạn có một ngữ pháp giảm đến vấn đề:
grammar FirstParserRuleReturnIssue;
ID : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*;
aRule returns [String s]: ID { $s = $ID.text; };
Tôi đã tìm kiếm để tìm một vai trò đặc biệt trong những nguyên tắc đầu tiên mà có thể giải thích hành vi nhưng không tìm thấy bất cứ điều gì. Nó là một lỗi? Tôi có bỏ lỡ một số hiểu biết không?
Điều này có vẻ giống như một lỗi trong ANTLR, phải không? –