Bạn muốn khai báo biến nào trong trường hợp đó, phạm vi toàn cầu hoặc khai báo @members? Dường như với tôi rằng họ có thể phục vụ cho cùng một mục đích?tuyên bố phạm vi quy tắc chống lừa đảo toàn cầu và khai báo @members
CẬP NHẬT đây là ngữ pháp để giải thích ý tôi.
grammar GlobalVsScope;
scope global{
int i;
}
@lexer::header{package org.inanme.antlr;}
@parser::header{package org.inanme.antlr;}
@parser::members {
int j;
}
start
scope global;
@init{
System.out.println($global::i);
System.out.println(j);
}:R EOF;
R:'which one';
hãy xem xét ngữ pháp mẫu. –
Ah, không phải là * phạm vi * của ngôn ngữ đích, nhưng phạm vi ANTLR * *. Tôi hiểu. –