我怎么能找到以前的/左令牌词法
例如
lexer grammar TLexer;
ID : [a-zA-Z] [a-zA-Z0-9]*;
CARET : '^';
RTN : {someCond1}? CARET ID; // CARET not include this token
GLB : {someCond2}? CARET ID; // CARET not include this token
Run Code Online (Sandbox Code Playgroud)
等等
谢谢,我是这样做的
lexer grammar TLexer;
@lexer::members {
int lastTokenType = 0;
public void emit(Token token) {
super.emit(token);
lastTokenType = token.getType();
}
}
CARET : '^';
RTN : {someCond1&&(lastTokenType==CARET)}? ID;
GLB : {someCond2&&(lastTokenType==CARET)}? ID;
ID : [a-zA-Z] [a-zA-Z0-9]*;
Run Code Online (Sandbox Code Playgroud)