📄 symboltablelexer.m
字号:
} @finally { ruleNestingLevel--; // rule cleanup // token labels // token+rule list labels // rule labels // rule refs in alts with rewrites } return;}// $ANTLR end ID- (void) mINT{ // token labels // token+rule list labels // rule labels // rule list labels // rule refs in alts with rewrites @try { ruleNestingLevel++; int _type = SymbolTableLexer_INT; int _start = [self charIndex]; int _line = [self line]; int _charPosition = [self charPositionInLine]; int _channel = [ANTLRToken defaultChannel]; // SymbolTable.g:69:9: ( ( '0' .. '9' )+ ) // ruleBlockSingleAlt // SymbolTable.g:69:9: ( '0' .. '9' )+ // alt { // SymbolTable.g:69:9: ( '0' .. '9' )+ // positiveClosureBlock int cnt2=0; do { int alt2=2; { int LA2_0 = [input LA:1]; if ( (LA2_0>='0' && LA2_0<='9') ) { alt2 = 1; } } switch (alt2) { case 1 : // SymbolTable.g:69:10: '0' .. '9' // alt { [self matchRangeFromChar:'0' to:'9']; } break; default : if ( cnt2 >= 1 ) goto loop2; ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:2]; @throw eee; } cnt2++; } while (YES); loop2: ; } if ( token == nil && ruleNestingLevel == 1) { [self emitTokenWithType:_type line:_line charPosition:_charPosition channel:_channel start:_start stop:[self charIndex]];} } @finally { ruleNestingLevel--; // rule cleanup // token labels // token+rule list labels // rule labels // rule refs in alts with rewrites } return;}// $ANTLR end INT- (void) mWS{ // token labels // token+rule list labels // rule labels // rule list labels // rule refs in alts with rewrites @try { ruleNestingLevel++; int _type = SymbolTableLexer_WS; int _start = [self charIndex]; int _line = [self line]; int _charPosition = [self charPositionInLine]; int _channel = [ANTLRToken defaultChannel]; // SymbolTable.g:72:9: ( ( (' '|'\\n'|'\\r'))+ ) // ruleBlockSingleAlt // SymbolTable.g:72:9: ( (' '|'\\n'|'\\r'))+ // alt { // SymbolTable.g:72:9: ( (' '|'\\n'|'\\r'))+ // positiveClosureBlock int cnt3=0; do { int alt3=2; { int LA3_0 = [input LA:1]; if ( LA3_0=='\n'||LA3_0=='\r'||LA3_0==' ' ) { alt3 = 1; } } switch (alt3) { case 1 : // SymbolTable.g:72:10: (' '|'\\n'|'\\r') // alt { if ([input LA:1]=='\n'||[input LA:1]=='\r'||[input LA:1]==' ') { [input consume]; } else { ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; [self recover:mse]; @throw mse; } } break; default : if ( cnt3 >= 1 ) goto loop3; ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:3]; @throw eee; } cnt3++; } while (YES); loop3: ; _channel=99; } if ( token == nil && ruleNestingLevel == 1) { [self emitTokenWithType:_type line:_line charPosition:_charPosition channel:_channel start:_start stop:[self charIndex]];} } @finally { ruleNestingLevel--; // rule cleanup // token labels // token+rule list labels // rule labels // rule refs in alts with rewrites } return;}// $ANTLR end WS- (void) mTokens{ // SymbolTable.g:1:10: ( T7 | T8 | T9 | T10 | T11 | T12 | T13 | T14 | ID | INT | WS ) //ruleblock int alt4=11; switch ([input LA:1]) { case 'm': { int LA4_1 = [input LA:2]; if ( LA4_1=='e' ) { { int LA4_12 = [input LA:3]; if ( LA4_12=='t' ) { { int LA4_14 = [input LA:4]; if ( LA4_14=='h' ) { { int LA4_16 = [input LA:5]; if ( LA4_16=='o' ) { { int LA4_18 = [input LA:6]; if ( LA4_18=='d' ) { { int LA4_19 = [input LA:7]; if ( (LA4_19>='a' && LA4_19<='z') ) { alt4 = 9; } else { alt4 = 1; } } } else { alt4 = 9; } } } else { alt4 = 9; } } } else { alt4 = 9; } } } else { alt4 = 9; } } } else { alt4 = 9; } } break; case '(': alt4 = 2; break; case ')': alt4 = 3; break; case '{': alt4 = 4; break; case '}': alt4 = 5; break; case '=': alt4 = 6; break; case ';': alt4 = 7; break; case 'i': { int LA4_8 = [input LA:2]; if ( LA4_8=='n' ) { { int LA4_13 = [input LA:3]; if ( LA4_13=='t' ) { { int LA4_15 = [input LA:4]; if ( (LA4_15>='a' && LA4_15<='z') ) { alt4 = 9; } else { alt4 = 8; } } } else { alt4 = 9; } } } else { alt4 = 9; } } break; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'j': case 'k': case 'l': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': alt4 = 9; break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': alt4 = 10; break; case '\n': case '\r': case ' ': alt4 = 11; break; default: { ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException exceptionWithDecision:4 state:0 stream:input]; @throw nvae; }} switch (alt4) { case 1 : // SymbolTable.g:1:10: T7 // alt { [self mT7]; } break; case 2 : // SymbolTable.g:1:13: T8 // alt { [self mT8]; } break; case 3 : // SymbolTable.g:1:16: T9 // alt { [self mT9]; } break; case 4 : // SymbolTable.g:1:19: T10 // alt { [self mT10]; } break; case 5 : // SymbolTable.g:1:23: T11 // alt { [self mT11]; } break; case 6 : // SymbolTable.g:1:27: T12 // alt { [self mT12]; } break; case 7 : // SymbolTable.g:1:31: T13 // alt { [self mT13]; } break; case 8 : // SymbolTable.g:1:35: T14 // alt { [self mT14]; } break; case 9 : // SymbolTable.g:1:39: ID // alt { [self mID]; } break; case 10 : // SymbolTable.g:1:42: INT // alt { [self mINT]; } break; case 11 : // SymbolTable.g:1:46: WS // alt { [self mWS]; } break; }}@end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -