/* Generated by re2c 3.1 */ #line 1 "ext/rbs_extension/lexer.re" #include "rbs_extension.h" token rbsparser_next_token(lexstate *state) { lexstate backup; backup = *state; #line 12 "ext/rbs_extension/lexer.c" { unsigned int yych; unsigned int yyaccept = 0; yych = peek(state); switch (yych) { case 0x00000000: goto yy1; case '\t': case ' ': goto yy4; case '\n': case '\r': goto yy6; case '!': goto yy7; case '"': goto yy9; case '#': goto yy10; case '$': goto yy12; case '%': goto yy13; case '&': goto yy14; case '\'': goto yy15; case '(': goto yy16; case ')': goto yy17; case '*': goto yy18; case '+': goto yy19; case ',': goto yy20; case '-': goto yy21; case '.': goto yy22; case '/': case '~': goto yy24; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy25; case ':': goto yy27; case '<': goto yy29; case '=': goto yy31; case '>': goto yy33; case '?': goto yy34; case '@': goto yy35; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': 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': goto yy36; case '[': goto yy38; case ']': goto yy39; case '^': goto yy40; case '_': goto yy41; case '`': goto yy43; case 'a': goto yy45; case 'b': goto yy47; case 'c': goto yy48; case 'd': goto yy49; case 'e': goto yy50; case 'f': goto yy51; case 'g': case 'h': case 'j': case 'k': case 'l': case 'q': case 'r': case 'w': case 'x': case 'y': case 'z': goto yy52; case 'i': goto yy54; case 'm': goto yy55; case 'n': goto yy56; case 'o': goto yy57; case 'p': goto yy58; case 's': goto yy59; case 't': goto yy60; case 'u': goto yy61; case 'v': goto yy62; case '{': goto yy63; case '|': goto yy64; case '}': goto yy65; default: goto yy2; } yy1: rbs_skip(state); #line 144 "ext/rbs_extension/lexer.re" { return next_eof_token(state); } #line 121 "ext/rbs_extension/lexer.c" yy2: rbs_skip(state); yy3: #line 145 "ext/rbs_extension/lexer.re" { return next_token(state, ErrorToken); } #line 127 "ext/rbs_extension/lexer.c" yy4: rbs_skip(state); yych = peek(state); if (yych == '\t') goto yy4; if (yych == ' ') goto yy4; yy5: #line 143 "ext/rbs_extension/lexer.re" { return next_token(state, tTRIVIA); } #line 136 "ext/rbs_extension/lexer.c" yy6: rbs_skip(state); goto yy5; yy7: rbs_skip(state); yych = peek(state); if (yych == '=') goto yy24; if (yych == '~') goto yy24; yy8: #line 48 "ext/rbs_extension/lexer.re" { return next_token(state, tOPERATOR); } #line 148 "ext/rbs_extension/lexer.c" yy9: yyaccept = 0; rbs_skip(state); backup = *state; yych = peek(state); if (yych <= 0x00000000) goto yy3; goto yy67; yy10: rbs_skip(state); yych = peek(state); if (yych <= 0x00000000) goto yy11; if (yych != '\n') goto yy10; yy11: #line 59 "ext/rbs_extension/lexer.re" { return next_token( state, state->first_token_of_line ? tLINECOMMENT : tCOMMENT ); } #line 169 "ext/rbs_extension/lexer.c" yy12: rbs_skip(state); yych = peek(state); if (yych <= ')') { if (yych <= 0x0000001F) { if (yych <= '\n') { if (yych <= 0x00000000) goto yy3; if (yych <= 0x00000008) goto yy71; goto yy3; } else { if (yych == '\r') goto yy3; goto yy71; } } else { if (yych <= '#') { if (yych <= ' ') goto yy3; if (yych <= '"') goto yy73; goto yy71; } else { if (yych == '%') goto yy3; if (yych <= '\'') goto yy73; goto yy3; } } } else { if (yych <= 'Z') { if (yych <= '/') { if (yych == '-') goto yy71; goto yy73; } else { if (yych <= '9') goto yy71; if (yych <= '>') goto yy73; goto yy71; } } else { if (yych <= '^') { if (yych == '\\') goto yy73; goto yy3; } else { if (yych <= 'z') goto yy71; if (yych <= '}') goto yy3; if (yych <= '~') goto yy73; goto yy71; } } } yy13: yyaccept = 1; rbs_skip(state); backup = *state; yych = peek(state); if (yych == 'a') goto yy74; goto yy8; yy14: rbs_skip(state); #line 33 "ext/rbs_extension/lexer.re" { return next_token(state, pAMP); } #line 227 "ext/rbs_extension/lexer.c" yy15: yyaccept = 0; rbs_skip(state); backup = *state; yych = peek(state); if (yych <= 0x00000000) goto yy3; goto yy76; yy16: rbs_skip(state); #line 24 "ext/rbs_extension/lexer.re" { return next_token(state, pLPAREN); } #line 239 "ext/rbs_extension/lexer.c" yy17: rbs_skip(state); #line 25 "ext/rbs_extension/lexer.re" { return next_token(state, pRPAREN); } #line 244 "ext/rbs_extension/lexer.c" yy18: rbs_skip(state); yych = peek(state); if (yych == '*') goto yy80; #line 35 "ext/rbs_extension/lexer.re" { return next_token(state, pSTAR); } #line 251 "ext/rbs_extension/lexer.c" yy19: rbs_skip(state); yych = peek(state); if (yych <= '/') goto yy8; if (yych <= '9') goto yy25; if (yych == '@') goto yy24; goto yy8; yy20: rbs_skip(state); #line 30 "ext/rbs_extension/lexer.re" { return next_token(state, pCOMMA); } #line 263 "ext/rbs_extension/lexer.c" yy21: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') goto yy8; if (yych <= '9') goto yy25; goto yy8; } else { if (yych <= '>') goto yy81; if (yych == '@') goto yy24; goto yy8; } yy22: yyaccept = 2; rbs_skip(state); backup = *state; yych = peek(state); if (yych == '.') goto yy82; yy23: #line 37 "ext/rbs_extension/lexer.re" { return next_token(state, pDOT); } #line 285 "ext/rbs_extension/lexer.c" yy24: rbs_skip(state); goto yy8; yy25: rbs_skip(state); yych = peek(state); if (yych <= '/') goto yy26; if (yych <= '9') goto yy25; if (yych == '_') goto yy25; yy26: #line 51 "ext/rbs_extension/lexer.re" { return next_token(state, tINTEGER); } #line 298 "ext/rbs_extension/lexer.c" yy27: yyaccept = 3; rbs_skip(state); backup = *state; yych = peek(state); switch (yych) { case '!': goto yy83; case '"': goto yy85; case '$': goto yy86; case '%': case '&': case '/': case '^': case '`': case '|': case '~': goto yy87; case '\'': goto yy88; case '*': goto yy89; case '+': case '-': goto yy90; case ':': goto yy91; case '<': goto yy92; case '=': goto yy93; case '>': goto yy94; case '@': goto yy95; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': 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': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': 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': goto yy96; case '[': goto yy98; default: goto yy28; } yy28: #line 44 "ext/rbs_extension/lexer.re" { return next_token(state, pCOLON); } #line 383 "ext/rbs_extension/lexer.c" yy29: rbs_skip(state); yych = peek(state); if (yych <= ';') goto yy30; if (yych <= '<') goto yy24; if (yych <= '=') goto yy99; yy30: #line 46 "ext/rbs_extension/lexer.re" { return next_token(state, pLT); } #line 393 "ext/rbs_extension/lexer.c" yy31: rbs_skip(state); yych = peek(state); if (yych <= '>') { if (yych <= '<') goto yy32; if (yych <= '=') goto yy100; goto yy101; } else { if (yych == '~') goto yy24; } yy32: #line 43 "ext/rbs_extension/lexer.re" { return next_token(state, pEQ); } #line 407 "ext/rbs_extension/lexer.c" yy33: rbs_skip(state); yych = peek(state); if (yych <= '<') goto yy8; if (yych <= '>') goto yy24; goto yy8; yy34: rbs_skip(state); #line 34 "ext/rbs_extension/lexer.re" { return next_token(state, pQUESTION); } #line 418 "ext/rbs_extension/lexer.c" yy35: yyaccept = 0; rbs_skip(state); backup = *state; yych = peek(state); if (yych <= '^') { if (yych <= '?') goto yy3; if (yych <= '@') goto yy102; if (yych <= 'Z') goto yy103; goto yy3; } else { if (yych == '`') goto yy3; if (yych <= 'z') goto yy103; goto yy3; } yy36: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy36; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy37; if (yych <= 'Z') goto yy36; } else { if (yych == '`') goto yy37; if (yych <= 'z') goto yy36; } } yy37: #line 129 "ext/rbs_extension/lexer.re" { return next_token(state, tUIDENT); } #line 456 "ext/rbs_extension/lexer.c" yy38: rbs_skip(state); yych = peek(state); if (yych == ']') goto yy107; #line 26 "ext/rbs_extension/lexer.re" { return next_token(state, pLBRACKET); } #line 463 "ext/rbs_extension/lexer.c" yy39: rbs_skip(state); #line 27 "ext/rbs_extension/lexer.re" { return next_token(state, pRBRACKET); } #line 468 "ext/rbs_extension/lexer.c" yy40: rbs_skip(state); #line 32 "ext/rbs_extension/lexer.re" { return next_token(state, pHAT); } #line 473 "ext/rbs_extension/lexer.c" yy41: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy108; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy42; if (yych <= 'Z') goto yy111; } else { if (yych <= '_') goto yy113; if (yych <= '`') goto yy42; if (yych <= 'z') goto yy108; } } yy42: #line 132 "ext/rbs_extension/lexer.re" { return next_token(state, tULLIDENT); } #line 497 "ext/rbs_extension/lexer.c" yy43: yyaccept = 4; rbs_skip(state); backup = *state; yych = peek(state); if (yych <= ' ') { if (yych <= 0x00000000) goto yy44; if (yych <= 0x0000001F) goto yy114; } else { if (yych != ':') goto yy114; } yy44: #line 39 "ext/rbs_extension/lexer.re" { return next_token(state, tOPERATOR); } #line 512 "ext/rbs_extension/lexer.c" yy45: rbs_skip(state); yych = peek(state); if (yych <= 'r') { if (yych == 'l') goto yy115; goto yy53; } else { if (yych <= 's') goto yy116; if (yych <= 't') goto yy118; goto yy53; } yy46: #line 128 "ext/rbs_extension/lexer.re" { return next_token(state, tLIDENT); } #line 527 "ext/rbs_extension/lexer.c" yy47: rbs_skip(state); yych = peek(state); if (yych == 'o') goto yy119; goto yy53; yy48: rbs_skip(state); yych = peek(state); if (yych == 'l') goto yy120; goto yy53; yy49: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy121; goto yy53; yy50: rbs_skip(state); yych = peek(state); if (yych == 'n') goto yy122; if (yych == 'x') goto yy123; goto yy53; yy51: rbs_skip(state); yych = peek(state); if (yych == 'a') goto yy124; goto yy53; yy52: rbs_skip(state); yych = peek(state); yy53: if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; goto yy46; } else { if (yych <= '9') goto yy52; if (yych <= '<') goto yy46; goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy46; if (yych <= 'Z') goto yy52; goto yy46; } else { if (yych == '`') goto yy46; if (yych <= 'z') goto yy52; goto yy46; } } yy54: rbs_skip(state); yych = peek(state); if (yych == 'n') goto yy125; goto yy53; yy55: rbs_skip(state); yych = peek(state); if (yych == 'o') goto yy127; goto yy53; yy56: rbs_skip(state); yych = peek(state); if (yych == 'i') goto yy128; goto yy53; yy57: rbs_skip(state); yych = peek(state); if (yych == 'u') goto yy129; goto yy53; yy58: rbs_skip(state); yych = peek(state); if (yych == 'r') goto yy130; if (yych == 'u') goto yy131; goto yy53; yy59: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy132; if (yych == 'i') goto yy133; goto yy53; yy60: rbs_skip(state); yych = peek(state); if (yych <= 'q') { if (yych == 'o') goto yy134; goto yy53; } else { if (yych <= 'r') goto yy135; if (yych == 'y') goto yy136; goto yy53; } yy61: rbs_skip(state); yych = peek(state); if (yych == 'n') goto yy137; if (yych == 's') goto yy138; goto yy53; yy62: rbs_skip(state); yych = peek(state); if (yych == 'o') goto yy139; goto yy53; yy63: rbs_skip(state); #line 28 "ext/rbs_extension/lexer.re" { return next_token(state, pLBRACE); } #line 636 "ext/rbs_extension/lexer.c" yy64: rbs_skip(state); #line 31 "ext/rbs_extension/lexer.re" { return next_token(state, pBAR); } #line 641 "ext/rbs_extension/lexer.c" yy65: rbs_skip(state); #line 29 "ext/rbs_extension/lexer.re" { return next_token(state, pRBRACE); } #line 646 "ext/rbs_extension/lexer.c" yy66: rbs_skip(state); yych = peek(state); yy67: if (yych <= '"') { if (yych <= 0x00000000) goto yy68; if (yych <= '!') goto yy66; goto yy69; } else { if (yych == '\\') goto yy70; goto yy66; } yy68: *state = backup; if (yyaccept <= 3) { if (yyaccept <= 1) { if (yyaccept == 0) { goto yy3; } else { goto yy8; } } else { if (yyaccept == 2) { goto yy23; } else { goto yy28; } } } else { if (yyaccept <= 5) { if (yyaccept == 4) { goto yy44; } else { goto yy78; } } else { goto yy155; } } yy69: rbs_skip(state); #line 106 "ext/rbs_extension/lexer.re" { return next_token(state, tDQSTRING); } #line 690 "ext/rbs_extension/lexer.c" yy70: rbs_skip(state); yych = peek(state); if (yych == 'u') goto yy140; if (yych == 'x') goto yy141; goto yy66; yy71: rbs_skip(state); yych = peek(state); if (yych <= ',') { if (yych <= '\f') { if (yych <= 0x00000000) goto yy72; if (yych <= 0x00000008) goto yy71; if (yych >= '\v') goto yy71; } else { if (yych <= 0x0000001F) { if (yych >= 0x0000000E) goto yy71; } else { if (yych == '#') goto yy71; } } } else { if (yych <= '>') { if (yych <= '-') goto yy71; if (yych <= '/') goto yy72; if (yych <= '9') goto yy71; } else { if (yych <= '^') { if (yych <= 'Z') goto yy71; } else { if (yych <= 'z') goto yy71; if (yych >= 0x0000007F) goto yy71; } } } yy72: #line 139 "ext/rbs_extension/lexer.re" { return next_token(state, tGIDENT); } #line 729 "ext/rbs_extension/lexer.c" yy73: rbs_skip(state); goto yy72; yy74: rbs_skip(state); yych = peek(state); if (yych <= 'Z') { if (yych <= '(') { if (yych <= '\'') goto yy68; goto yy142; } else { if (yych == '<') goto yy143; goto yy68; } } else { if (yych <= 'z') { if (yych <= '[') goto yy144; goto yy68; } else { if (yych <= '{') goto yy145; if (yych <= '|') goto yy146; goto yy68; } } yy75: rbs_skip(state); yych = peek(state); yy76: if (yych <= '\'') { if (yych <= 0x00000000) goto yy68; if (yych <= '&') goto yy75; } else { if (yych == '\\') goto yy79; goto yy75; } yy77: rbs_skip(state); yy78: #line 107 "ext/rbs_extension/lexer.re" { return next_token(state, tSQSTRING); } #line 770 "ext/rbs_extension/lexer.c" yy79: rbs_skip(state); yych = peek(state); if (yych <= '\'') { if (yych <= 0x00000000) goto yy68; if (yych <= '&') goto yy75; goto yy147; } else { if (yych == '\\') goto yy79; goto yy75; } yy80: rbs_skip(state); #line 36 "ext/rbs_extension/lexer.re" { return next_token(state, pSTAR2); } #line 786 "ext/rbs_extension/lexer.c" yy81: rbs_skip(state); #line 41 "ext/rbs_extension/lexer.re" { return next_token(state, pARROW); } #line 791 "ext/rbs_extension/lexer.c" yy82: rbs_skip(state); yych = peek(state); if (yych == '.') goto yy148; goto yy68; yy83: rbs_skip(state); yych = peek(state); if (yych == '=') goto yy87; if (yych == '~') goto yy87; yy84: #line 126 "ext/rbs_extension/lexer.re" { return next_token(state, tSYMBOL); } #line 805 "ext/rbs_extension/lexer.c" yy85: rbs_skip(state); yych = peek(state); if (yych <= '"') { if (yych <= 0x00000000) goto yy68; if (yych <= '!') goto yy85; goto yy149; } else { if (yych == '\\') goto yy150; goto yy85; } yy86: rbs_skip(state); yych = peek(state); if (yych <= ')') { if (yych <= 0x0000001F) { if (yych <= '\n') { if (yych <= 0x00000000) goto yy68; if (yych <= 0x00000008) goto yy151; goto yy68; } else { if (yych == '\r') goto yy68; goto yy151; } } else { if (yych <= '#') { if (yych <= ' ') goto yy68; if (yych <= '"') goto yy153; goto yy151; } else { if (yych == '%') goto yy68; if (yych <= '\'') goto yy153; goto yy68; } } } else { if (yych <= 'Z') { if (yych <= '/') { if (yych == '-') goto yy151; goto yy153; } else { if (yych <= '9') goto yy151; if (yych <= '>') goto yy153; goto yy151; } } else { if (yych <= '^') { if (yych == '\\') goto yy153; goto yy68; } else { if (yych <= 'z') goto yy151; if (yych <= '}') goto yy68; if (yych <= '~') goto yy153; goto yy151; } } } yy87: rbs_skip(state); goto yy84; yy88: rbs_skip(state); yych = peek(state); if (yych <= '\'') { if (yych <= 0x00000000) goto yy68; if (yych <= '&') goto yy88; goto yy154; } else { if (yych == '\\') goto yy156; goto yy88; } yy89: rbs_skip(state); yych = peek(state); if (yych == '*') goto yy87; goto yy84; yy90: rbs_skip(state); yych = peek(state); if (yych == '@') goto yy87; goto yy84; yy91: rbs_skip(state); #line 45 "ext/rbs_extension/lexer.re" { return next_token(state, pCOLON2); } #line 891 "ext/rbs_extension/lexer.c" yy92: rbs_skip(state); yych = peek(state); if (yych <= ';') goto yy84; if (yych <= '<') goto yy87; if (yych <= '=') goto yy157; goto yy84; yy93: rbs_skip(state); yych = peek(state); if (yych == '=') goto yy158; if (yych == '~') goto yy87; goto yy68; yy94: rbs_skip(state); yych = peek(state); if (yych <= '<') goto yy84; if (yych <= '>') goto yy87; goto yy84; yy95: rbs_skip(state); yych = peek(state); if (yych <= '^') { if (yych <= '?') goto yy68; if (yych <= '@') goto yy159; if (yych <= 'Z') goto yy160; goto yy68; } else { if (yych == '`') goto yy68; if (yych <= 'z') goto yy160; goto yy68; } yy96: rbs_skip(state); yych = peek(state); if (yych <= '>') { if (yych <= '/') { if (yych == '!') goto yy162; } else { if (yych <= '9') goto yy96; if (yych == '=') goto yy162; } } else { if (yych <= '^') { if (yych <= '?') goto yy162; if (yych <= '@') goto yy97; if (yych <= 'Z') goto yy96; } else { if (yych == '`') goto yy97; if (yych <= 'z') goto yy96; } } yy97: #line 122 "ext/rbs_extension/lexer.re" { return next_token(state, tSYMBOL); } #line 947 "ext/rbs_extension/lexer.c" yy98: rbs_skip(state); yych = peek(state); if (yych == ']') goto yy158; goto yy68; yy99: rbs_skip(state); yych = peek(state); if (yych == '>') goto yy24; goto yy8; yy100: rbs_skip(state); yych = peek(state); if (yych == '=') goto yy24; goto yy8; yy101: rbs_skip(state); #line 42 "ext/rbs_extension/lexer.re" { return next_token(state, pFATARROW); } #line 967 "ext/rbs_extension/lexer.c" yy102: rbs_skip(state); yych = peek(state); if (yych <= '^') { if (yych <= '@') goto yy68; if (yych <= 'Z') goto yy163; goto yy68; } else { if (yych == '`') goto yy68; if (yych <= 'z') goto yy163; goto yy68; } yy103: rbs_skip(state); yych = peek(state); if (yych <= 'Z') { if (yych <= '/') goto yy104; if (yych <= '9') goto yy103; if (yych >= 'A') goto yy103; } else { if (yych <= '_') { if (yych >= '_') goto yy103; } else { if (yych <= '`') goto yy104; if (yych <= 'z') goto yy103; } } yy104: #line 136 "ext/rbs_extension/lexer.re" { return next_token(state, tAIDENT); } #line 998 "ext/rbs_extension/lexer.c" yy105: rbs_skip(state); #line 133 "ext/rbs_extension/lexer.re" { return next_token(state, tBANGIDENT); } #line 1003 "ext/rbs_extension/lexer.c" yy106: rbs_skip(state); #line 134 "ext/rbs_extension/lexer.re" { return next_token(state, tEQIDENT); } #line 1008 "ext/rbs_extension/lexer.c" yy107: rbs_skip(state); yych = peek(state); if (yych == '=') goto yy24; #line 47 "ext/rbs_extension/lexer.re" { return next_token(state, pAREF_OPR); } #line 1015 "ext/rbs_extension/lexer.c" yy108: rbs_skip(state); yych = peek(state); yy109: if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy108; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy110; if (yych <= 'Z') goto yy108; } else { if (yych == '`') goto yy110; if (yych <= 'z') goto yy108; } } yy110: #line 130 "ext/rbs_extension/lexer.re" { return next_token(state, tULLIDENT); } #line 1039 "ext/rbs_extension/lexer.c" yy111: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy111; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy112; if (yych <= 'Z') goto yy111; } else { if (yych == '`') goto yy112; if (yych <= 'z') goto yy111; } } yy112: #line 131 "ext/rbs_extension/lexer.re" { return next_token(state, tULIDENT); } #line 1062 "ext/rbs_extension/lexer.c" yy113: rbs_skip(state); yych = peek(state); if (yych == 't') goto yy165; goto yy109; yy114: rbs_skip(state); yych = peek(state); if (yych <= 0x00000000) goto yy68; if (yych == '`') goto yy166; goto yy114; yy115: rbs_skip(state); yych = peek(state); if (yych == 'i') goto yy167; goto yy53; yy116: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy117; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy117; if (yych <= 'z') goto yy52; } } yy117: #line 96 "ext/rbs_extension/lexer.re" { return next_token(state, kAS); } #line 1101 "ext/rbs_extension/lexer.c" yy118: rbs_skip(state); yych = peek(state); if (yych == 't') goto yy168; goto yy53; yy119: rbs_skip(state); yych = peek(state); if (yych == 'o') goto yy169; if (yych == 't') goto yy170; goto yy53; yy120: rbs_skip(state); yych = peek(state); if (yych == 'a') goto yy172; goto yy53; yy121: rbs_skip(state); yych = peek(state); if (yych == 'f') goto yy173; goto yy53; yy122: rbs_skip(state); yych = peek(state); if (yych == 'd') goto yy175; goto yy53; yy123: rbs_skip(state); yych = peek(state); if (yych == 't') goto yy177; goto yy53; yy124: rbs_skip(state); yych = peek(state); if (yych == 'l') goto yy178; goto yy53; yy125: rbs_skip(state); yych = peek(state); if (yych <= '^') { if (yych <= '9') { if (yych == '!') goto yy105; if (yych >= '0') goto yy52; } else { if (yych <= '=') { if (yych >= '=') goto yy106; } else { if (yych <= '@') goto yy126; if (yych <= 'Z') goto yy52; } } } else { if (yych <= 'c') { if (yych == '`') goto yy126; if (yych <= 'b') goto yy52; goto yy179; } else { if (yych <= 's') { if (yych <= 'r') goto yy52; goto yy180; } else { if (yych <= 't') goto yy181; if (yych <= 'z') goto yy52; } } } yy126: #line 77 "ext/rbs_extension/lexer.re" { return next_token(state, kIN); } #line 1171 "ext/rbs_extension/lexer.c" yy127: rbs_skip(state); yych = peek(state); if (yych == 'd') goto yy182; goto yy53; yy128: rbs_skip(state); yych = peek(state); if (yych == 'l') goto yy183; goto yy53; yy129: rbs_skip(state); yych = peek(state); if (yych == 't') goto yy185; goto yy53; yy130: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy187; if (yych == 'i') goto yy188; goto yy53; yy131: rbs_skip(state); yych = peek(state); if (yych == 'b') goto yy189; goto yy53; yy132: rbs_skip(state); yych = peek(state); if (yych == 'l') goto yy190; goto yy53; yy133: rbs_skip(state); yych = peek(state); if (yych == 'n') goto yy191; goto yy53; yy134: rbs_skip(state); yych = peek(state); if (yych == 'p') goto yy192; goto yy53; yy135: rbs_skip(state); yych = peek(state); if (yych == 'u') goto yy194; goto yy53; yy136: rbs_skip(state); yych = peek(state); if (yych == 'p') goto yy195; goto yy53; yy137: rbs_skip(state); yych = peek(state); if (yych == 'c') goto yy196; if (yych == 't') goto yy197; goto yy53; yy138: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy198; goto yy53; yy139: rbs_skip(state); yych = peek(state); if (yych == 'i') goto yy200; goto yy53; yy140: rbs_skip(state); yych = peek(state); if (yych <= '@') { if (yych <= '/') goto yy68; if (yych <= '9') goto yy201; goto yy68; } else { if (yych <= 'F') goto yy201; if (yych <= '`') goto yy68; if (yych <= 'f') goto yy201; goto yy68; } yy141: rbs_skip(state); yych = peek(state); if (yych <= '/') goto yy68; if (yych <= '9') goto yy66; if (yych <= '`') goto yy68; if (yych <= 'f') goto yy66; goto yy68; yy142: rbs_skip(state); yych = peek(state); if (yych <= 0x00000000) goto yy68; if (yych == ')') goto yy202; goto yy142; yy143: rbs_skip(state); yych = peek(state); if (yych <= 0x00000000) goto yy68; if (yych == '>') goto yy203; goto yy143; yy144: rbs_skip(state); yych = peek(state); if (yych <= 0x00000000) goto yy68; if (yych == ']') goto yy204; goto yy144; yy145: rbs_skip(state); yych = peek(state); if (yych <= 0x00000000) goto yy68; if (yych == '}') goto yy205; goto yy145; yy146: rbs_skip(state); yych = peek(state); if (yych <= 0x00000000) goto yy68; if (yych == '|') goto yy206; goto yy146; yy147: yyaccept = 5; rbs_skip(state); backup = *state; yych = peek(state); if (yych <= '\'') { if (yych <= 0x00000000) goto yy78; if (yych <= '&') goto yy75; goto yy77; } else { if (yych == '\\') goto yy79; goto yy75; } yy148: rbs_skip(state); #line 38 "ext/rbs_extension/lexer.re" { return next_token(state, pDOT3); } #line 1307 "ext/rbs_extension/lexer.c" yy149: rbs_skip(state); #line 108 "ext/rbs_extension/lexer.re" { return next_token(state, tDQSYMBOL); } #line 1312 "ext/rbs_extension/lexer.c" yy150: rbs_skip(state); yych = peek(state); if (yych == 'u') goto yy207; if (yych == 'x') goto yy208; goto yy85; yy151: rbs_skip(state); yych = peek(state); if (yych <= ',') { if (yych <= '\f') { if (yych <= 0x00000000) goto yy152; if (yych <= 0x00000008) goto yy151; if (yych >= '\v') goto yy151; } else { if (yych <= 0x0000001F) { if (yych >= 0x0000000E) goto yy151; } else { if (yych == '#') goto yy151; } } } else { if (yych <= '>') { if (yych <= '-') goto yy151; if (yych <= '/') goto yy152; if (yych <= '9') goto yy151; } else { if (yych <= '^') { if (yych <= 'Z') goto yy151; } else { if (yych <= 'z') goto yy151; if (yych >= 0x0000007F) goto yy151; } } } yy152: #line 125 "ext/rbs_extension/lexer.re" { return next_token(state, tSYMBOL); } #line 1351 "ext/rbs_extension/lexer.c" yy153: rbs_skip(state); goto yy152; yy154: rbs_skip(state); yy155: #line 109 "ext/rbs_extension/lexer.re" { return next_token(state, tSQSYMBOL); } #line 1360 "ext/rbs_extension/lexer.c" yy156: rbs_skip(state); yych = peek(state); if (yych <= '\'') { if (yych <= 0x00000000) goto yy68; if (yych <= '&') goto yy88; goto yy209; } else { if (yych == '\\') goto yy156; goto yy88; } yy157: rbs_skip(state); yych = peek(state); if (yych == '>') goto yy87; goto yy84; yy158: rbs_skip(state); yych = peek(state); if (yych == '=') goto yy87; goto yy84; yy159: rbs_skip(state); yych = peek(state); if (yych <= '^') { if (yych <= '@') goto yy68; if (yych <= 'Z') goto yy210; goto yy68; } else { if (yych == '`') goto yy68; if (yych <= 'z') goto yy210; goto yy68; } yy160: rbs_skip(state); yych = peek(state); if (yych <= '>') { if (yych <= '/') { if (yych == '!') goto yy212; } else { if (yych <= '9') goto yy160; if (yych == '=') goto yy212; } } else { if (yych <= '^') { if (yych <= '?') goto yy212; if (yych <= '@') goto yy161; if (yych <= 'Z') goto yy160; } else { if (yych == '`') goto yy161; if (yych <= 'z') goto yy160; } } yy161: #line 123 "ext/rbs_extension/lexer.re" { return next_token(state, tSYMBOL); } #line 1417 "ext/rbs_extension/lexer.c" yy162: rbs_skip(state); goto yy97; yy163: rbs_skip(state); yych = peek(state); if (yych <= 'Z') { if (yych <= '/') goto yy164; if (yych <= '9') goto yy163; if (yych >= 'A') goto yy163; } else { if (yych <= '_') { if (yych >= '_') goto yy163; } else { if (yych <= '`') goto yy164; if (yych <= 'z') goto yy163; } } yy164: #line 137 "ext/rbs_extension/lexer.re" { return next_token(state, tA2IDENT); } #line 1439 "ext/rbs_extension/lexer.c" yy165: rbs_skip(state); yych = peek(state); if (yych == 'o') goto yy213; goto yy109; yy166: rbs_skip(state); #line 40 "ext/rbs_extension/lexer.re" { return next_token(state, tQIDENT); } #line 1449 "ext/rbs_extension/lexer.c" yy167: rbs_skip(state); yych = peek(state); if (yych == 'a') goto yy214; goto yy53; yy168: rbs_skip(state); yych = peek(state); if (yych == 'r') goto yy215; goto yy53; yy169: rbs_skip(state); yych = peek(state); if (yych == 'l') goto yy216; goto yy53; yy170: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy171; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy171; if (yych <= 'z') goto yy52; } } yy171: #line 71 "ext/rbs_extension/lexer.re" { return next_token(state, kBOT); } #line 1487 "ext/rbs_extension/lexer.c" yy172: rbs_skip(state); yych = peek(state); if (yych == 's') goto yy218; goto yy53; yy173: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy174; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy174; if (yych <= 'z') goto yy52; } } yy174: #line 73 "ext/rbs_extension/lexer.re" { return next_token(state, kDEF); } #line 1515 "ext/rbs_extension/lexer.c" yy175: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy176; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy176; if (yych <= 'z') goto yy52; } } yy176: #line 74 "ext/rbs_extension/lexer.re" { return next_token(state, kEND); } #line 1538 "ext/rbs_extension/lexer.c" yy177: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy219; goto yy53; yy178: rbs_skip(state); yych = peek(state); if (yych == 's') goto yy220; goto yy53; yy179: rbs_skip(state); yych = peek(state); if (yych == 'l') goto yy221; goto yy53; yy180: rbs_skip(state); yych = peek(state); if (yych == 't') goto yy222; goto yy53; yy181: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy223; goto yy53; yy182: rbs_skip(state); yych = peek(state); if (yych == 'u') goto yy224; goto yy53; yy183: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy184; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy184; if (yych <= 'z') goto yy52; } } yy184: #line 82 "ext/rbs_extension/lexer.re" { return next_token(state, kNIL); } #line 1591 "ext/rbs_extension/lexer.c" yy185: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy186; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy186; if (yych <= 'z') goto yy52; } } yy186: #line 83 "ext/rbs_extension/lexer.re" { return next_token(state, kOUT); } #line 1614 "ext/rbs_extension/lexer.c" yy187: rbs_skip(state); yych = peek(state); if (yych == 'p') goto yy225; goto yy53; yy188: rbs_skip(state); yych = peek(state); if (yych == 'v') goto yy226; goto yy53; yy189: rbs_skip(state); yych = peek(state); if (yych == 'l') goto yy227; goto yy53; yy190: rbs_skip(state); yych = peek(state); if (yych == 'f') goto yy228; goto yy53; yy191: rbs_skip(state); yych = peek(state); if (yych == 'g') goto yy230; goto yy53; yy192: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy193; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy193; if (yych <= 'z') goto yy52; } } yy193: #line 89 "ext/rbs_extension/lexer.re" { return next_token(state, kTOP); } #line 1662 "ext/rbs_extension/lexer.c" yy194: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy231; goto yy53; yy195: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy233; goto yy53; yy196: rbs_skip(state); yych = peek(state); if (yych == 'h') goto yy235; goto yy53; yy197: rbs_skip(state); yych = peek(state); if (yych == 'y') goto yy236; goto yy53; yy198: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy199; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy199; if (yych <= 'z') goto yy52; } } yy199: #line 95 "ext/rbs_extension/lexer.re" { return next_token(state, kUSE); } #line 1705 "ext/rbs_extension/lexer.c" yy200: rbs_skip(state); yych = peek(state); if (yych == 'd') goto yy237; goto yy53; yy201: rbs_skip(state); yych = peek(state); if (yych <= '@') { if (yych <= '/') goto yy68; if (yych <= '9') goto yy239; goto yy68; } else { if (yych <= 'F') goto yy239; if (yych <= '`') goto yy68; if (yych <= 'f') goto yy239; goto yy68; } yy202: rbs_skip(state); #line 54 "ext/rbs_extension/lexer.re" { return next_token(state, tANNOTATION); } #line 1728 "ext/rbs_extension/lexer.c" yy203: rbs_skip(state); #line 57 "ext/rbs_extension/lexer.re" { return next_token(state, tANNOTATION); } #line 1733 "ext/rbs_extension/lexer.c" yy204: rbs_skip(state); #line 55 "ext/rbs_extension/lexer.re" { return next_token(state, tANNOTATION); } #line 1738 "ext/rbs_extension/lexer.c" yy205: rbs_skip(state); #line 53 "ext/rbs_extension/lexer.re" { return next_token(state, tANNOTATION); } #line 1743 "ext/rbs_extension/lexer.c" yy206: rbs_skip(state); #line 56 "ext/rbs_extension/lexer.re" { return next_token(state, tANNOTATION); } #line 1748 "ext/rbs_extension/lexer.c" yy207: rbs_skip(state); yych = peek(state); if (yych <= '@') { if (yych <= '/') goto yy68; if (yych <= '9') goto yy240; goto yy68; } else { if (yych <= 'F') goto yy240; if (yych <= '`') goto yy68; if (yych <= 'f') goto yy240; goto yy68; } yy208: rbs_skip(state); yych = peek(state); if (yych <= '/') goto yy68; if (yych <= '9') goto yy85; if (yych <= '`') goto yy68; if (yych <= 'f') goto yy85; goto yy68; yy209: yyaccept = 6; rbs_skip(state); backup = *state; yych = peek(state); if (yych <= '\'') { if (yych <= 0x00000000) goto yy155; if (yych <= '&') goto yy88; goto yy154; } else { if (yych == '\\') goto yy156; goto yy88; } yy210: rbs_skip(state); yych = peek(state); if (yych <= '>') { if (yych <= '/') { if (yych == '!') goto yy241; } else { if (yych <= '9') goto yy210; if (yych == '=') goto yy241; } } else { if (yych <= '^') { if (yych <= '?') goto yy241; if (yych <= '@') goto yy211; if (yych <= 'Z') goto yy210; } else { if (yych == '`') goto yy211; if (yych <= 'z') goto yy210; } } yy211: #line 124 "ext/rbs_extension/lexer.re" { return next_token(state, tSYMBOL); } #line 1806 "ext/rbs_extension/lexer.c" yy212: rbs_skip(state); goto yy161; yy213: rbs_skip(state); yych = peek(state); if (yych == 'd') goto yy242; goto yy109; yy214: rbs_skip(state); yych = peek(state); if (yych == 's') goto yy243; goto yy53; yy215: rbs_skip(state); yych = peek(state); if (yych == '_') goto yy245; goto yy53; yy216: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy217; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy217; if (yych <= 'z') goto yy52; } } yy217: #line 70 "ext/rbs_extension/lexer.re" { return next_token(state, kBOOL); } #line 1847 "ext/rbs_extension/lexer.c" yy218: rbs_skip(state); yych = peek(state); if (yych == 's') goto yy246; goto yy53; yy219: rbs_skip(state); yych = peek(state); if (yych == 'n') goto yy248; goto yy53; yy220: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy249; goto yy53; yy221: rbs_skip(state); yych = peek(state); if (yych == 'u') goto yy251; goto yy53; yy222: rbs_skip(state); yych = peek(state); if (yych == 'a') goto yy252; goto yy53; yy223: rbs_skip(state); yych = peek(state); if (yych == 'r') goto yy253; goto yy53; yy224: rbs_skip(state); yych = peek(state); if (yych == 'l') goto yy254; goto yy53; yy225: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy255; goto yy53; yy226: rbs_skip(state); yych = peek(state); if (yych == 'a') goto yy256; goto yy53; yy227: rbs_skip(state); yych = peek(state); if (yych == 'i') goto yy257; goto yy53; yy228: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy229; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy229; if (yych <= 'z') goto yy52; } } yy229: #line 87 "ext/rbs_extension/lexer.re" { return next_token(state, kSELF); } #line 1920 "ext/rbs_extension/lexer.c" yy230: rbs_skip(state); yych = peek(state); if (yych == 'l') goto yy258; goto yy53; yy231: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy232; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy232; if (yych <= 'z') goto yy52; } } yy232: #line 90 "ext/rbs_extension/lexer.re" { return next_token(state, kTRUE); } #line 1948 "ext/rbs_extension/lexer.c" yy233: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy234; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy234; if (yych <= 'z') goto yy52; } } yy234: #line 91 "ext/rbs_extension/lexer.re" { return next_token(state, kTYPE); } #line 1971 "ext/rbs_extension/lexer.c" yy235: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy259; goto yy53; yy236: rbs_skip(state); yych = peek(state); if (yych == 'p') goto yy260; goto yy53; yy237: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy238; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy238; if (yych <= 'z') goto yy52; } } yy238: #line 94 "ext/rbs_extension/lexer.re" { return next_token(state, kVOID); } #line 2004 "ext/rbs_extension/lexer.c" yy239: rbs_skip(state); yych = peek(state); if (yych <= '@') { if (yych <= '/') goto yy68; if (yych <= '9') goto yy261; goto yy68; } else { if (yych <= 'F') goto yy261; if (yych <= '`') goto yy68; if (yych <= 'f') goto yy261; goto yy68; } yy240: rbs_skip(state); yych = peek(state); if (yych <= '@') { if (yych <= '/') goto yy68; if (yych <= '9') goto yy262; goto yy68; } else { if (yych <= 'F') goto yy262; if (yych <= '`') goto yy68; if (yych <= 'f') goto yy262; goto yy68; } yy241: rbs_skip(state); goto yy211; yy242: rbs_skip(state); yych = peek(state); if (yych == 'o') goto yy263; goto yy109; yy243: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy244; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy244; if (yych <= 'z') goto yy52; } } yy244: #line 66 "ext/rbs_extension/lexer.re" { return next_token(state, kALIAS); } #line 2061 "ext/rbs_extension/lexer.c" yy245: rbs_skip(state); yych = peek(state); if (yych <= 'q') { if (yych == 'a') goto yy264; goto yy53; } else { if (yych <= 'r') goto yy265; if (yych == 'w') goto yy266; goto yy53; } yy246: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy247; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy247; if (yych <= 'z') goto yy52; } } yy247: #line 72 "ext/rbs_extension/lexer.re" { return next_token(state, kCLASS); } #line 2095 "ext/rbs_extension/lexer.c" yy248: rbs_skip(state); yych = peek(state); if (yych == 'd') goto yy267; goto yy53; yy249: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy250; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy250; if (yych <= 'z') goto yy52; } } yy250: #line 76 "ext/rbs_extension/lexer.re" { return next_token(state, kFALSE); } #line 2123 "ext/rbs_extension/lexer.c" yy251: rbs_skip(state); yych = peek(state); if (yych == 'd') goto yy269; goto yy53; yy252: rbs_skip(state); yych = peek(state); if (yych == 'n') goto yy270; goto yy53; yy253: rbs_skip(state); yych = peek(state); if (yych == 'f') goto yy271; goto yy53; yy254: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy272; goto yy53; yy255: rbs_skip(state); yych = peek(state); if (yych == 'n') goto yy274; goto yy53; yy256: rbs_skip(state); yych = peek(state); if (yych == 't') goto yy275; goto yy53; yy257: rbs_skip(state); yych = peek(state); if (yych == 'c') goto yy276; goto yy53; yy258: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy278; goto yy53; yy259: rbs_skip(state); yych = peek(state); if (yych == 'c') goto yy279; goto yy53; yy260: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy280; goto yy53; yy261: rbs_skip(state); yych = peek(state); if (yych <= '@') { if (yych <= '/') goto yy68; if (yych <= '9') goto yy66; goto yy68; } else { if (yych <= 'F') goto yy66; if (yych <= '`') goto yy68; if (yych <= 'f') goto yy66; goto yy68; } yy262: rbs_skip(state); yych = peek(state); if (yych <= '@') { if (yych <= '/') goto yy68; if (yych <= '9') goto yy281; goto yy68; } else { if (yych <= 'F') goto yy281; if (yych <= '`') goto yy68; if (yych <= 'f') goto yy281; goto yy68; } yy263: rbs_skip(state); yych = peek(state); if (yych == '_') goto yy282; goto yy109; yy264: rbs_skip(state); yych = peek(state); if (yych == 'c') goto yy283; goto yy53; yy265: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy284; goto yy53; yy266: rbs_skip(state); yych = peek(state); if (yych == 'r') goto yy285; goto yy53; yy267: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy268; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy268; if (yych <= 'z') goto yy52; } } yy268: #line 75 "ext/rbs_extension/lexer.re" { return next_token(state, kEXTEND); } #line 2242 "ext/rbs_extension/lexer.c" yy269: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy286; goto yy53; yy270: rbs_skip(state); yych = peek(state); if (yych == 'c') goto yy288; goto yy53; yy271: rbs_skip(state); yych = peek(state); if (yych == 'a') goto yy289; goto yy53; yy272: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy273; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy273; if (yych <= 'z') goto yy52; } } yy273: #line 81 "ext/rbs_extension/lexer.re" { return next_token(state, kMODULE); } #line 2280 "ext/rbs_extension/lexer.c" yy274: rbs_skip(state); yych = peek(state); if (yych == 'd') goto yy290; goto yy53; yy275: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy292; goto yy53; yy276: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy277; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy277; if (yych <= 'z') goto yy52; } } yy277: #line 86 "ext/rbs_extension/lexer.re" { return next_token(state, kPUBLIC); } #line 2313 "ext/rbs_extension/lexer.c" yy278: rbs_skip(state); yych = peek(state); if (yych == 't') goto yy294; goto yy53; yy279: rbs_skip(state); yych = peek(state); if (yych == 'k') goto yy295; goto yy53; yy280: rbs_skip(state); yych = peek(state); if (yych == 'd') goto yy296; goto yy53; yy281: rbs_skip(state); yych = peek(state); if (yych <= '@') { if (yych <= '/') goto yy68; if (yych <= '9') goto yy85; goto yy68; } else { if (yych <= 'F') goto yy85; if (yych <= '`') goto yy68; if (yych <= 'f') goto yy85; goto yy68; } yy282: rbs_skip(state); yych = peek(state); if (yych == '_') goto yy298; goto yy109; yy283: rbs_skip(state); yych = peek(state); if (yych == 'c') goto yy300; goto yy53; yy284: rbs_skip(state); yych = peek(state); if (yych == 'a') goto yy301; goto yy53; yy285: rbs_skip(state); yych = peek(state); if (yych == 'i') goto yy302; goto yy53; yy286: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy287; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy287; if (yych <= 'z') goto yy52; } } yy287: #line 78 "ext/rbs_extension/lexer.re" { return next_token(state, kINCLUDE); } #line 2384 "ext/rbs_extension/lexer.c" yy288: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy303; goto yy53; yy289: rbs_skip(state); yych = peek(state); if (yych == 'c') goto yy305; goto yy53; yy290: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy291; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy291; if (yych <= 'z') goto yy52; } } yy291: #line 84 "ext/rbs_extension/lexer.re" { return next_token(state, kPREPEND); } #line 2417 "ext/rbs_extension/lexer.c" yy292: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy293; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy293; if (yych <= 'z') goto yy52; } } yy293: #line 85 "ext/rbs_extension/lexer.re" { return next_token(state, kPRIVATE); } #line 2440 "ext/rbs_extension/lexer.c" yy294: rbs_skip(state); yych = peek(state); if (yych == 'o') goto yy306; goto yy53; yy295: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy307; goto yy53; yy296: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy297; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy297; if (yych <= 'z') goto yy52; } } yy297: #line 93 "ext/rbs_extension/lexer.re" { return next_token(state, kUNTYPED); } #line 2473 "ext/rbs_extension/lexer.c" yy298: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy108; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy299; if (yych <= 'Z') goto yy108; } else { if (yych == '`') goto yy299; if (yych <= 'z') goto yy108; } } yy299: #line 97 "ext/rbs_extension/lexer.re" { return next_token(state, k__TODO__); } #line 2496 "ext/rbs_extension/lexer.c" yy300: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy308; goto yy53; yy301: rbs_skip(state); yych = peek(state); if (yych == 'd') goto yy309; goto yy53; yy302: rbs_skip(state); yych = peek(state); if (yych == 't') goto yy310; goto yy53; yy303: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy304; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy304; if (yych <= 'z') goto yy52; } } yy304: #line 79 "ext/rbs_extension/lexer.re" { return next_token(state, kINSTANCE); } #line 2534 "ext/rbs_extension/lexer.c" yy305: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy311; goto yy53; yy306: rbs_skip(state); yych = peek(state); if (yych == 'n') goto yy313; goto yy53; yy307: rbs_skip(state); yych = peek(state); if (yych == 'd') goto yy315; goto yy53; yy308: rbs_skip(state); yych = peek(state); if (yych == 's') goto yy317; goto yy53; yy309: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy318; goto yy53; yy310: rbs_skip(state); yych = peek(state); if (yych == 'e') goto yy319; goto yy53; yy311: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy312; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy312; if (yych <= 'z') goto yy52; } } yy312: #line 80 "ext/rbs_extension/lexer.re" { return next_token(state, kINTERFACE); } #line 2587 "ext/rbs_extension/lexer.c" yy313: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy314; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy314; if (yych <= 'z') goto yy52; } } yy314: #line 88 "ext/rbs_extension/lexer.re" { return next_token(state, kSINGLETON); } #line 2610 "ext/rbs_extension/lexer.c" yy315: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy316; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy316; if (yych <= 'z') goto yy52; } } yy316: #line 92 "ext/rbs_extension/lexer.re" { return next_token(state, kUNCHECKED); } #line 2633 "ext/rbs_extension/lexer.c" yy317: rbs_skip(state); yych = peek(state); if (yych == 's') goto yy320; goto yy53; yy318: rbs_skip(state); yych = peek(state); if (yych == 'r') goto yy321; goto yy53; yy319: rbs_skip(state); yych = peek(state); if (yych == 'r') goto yy323; goto yy53; yy320: rbs_skip(state); yych = peek(state); if (yych == 'o') goto yy325; goto yy53; yy321: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy322; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy322; if (yych <= 'z') goto yy52; } } yy322: #line 68 "ext/rbs_extension/lexer.re" { return next_token(state, kATTRREADER); } #line 2676 "ext/rbs_extension/lexer.c" yy323: rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy324; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy324; if (yych <= 'z') goto yy52; } } yy324: #line 69 "ext/rbs_extension/lexer.re" { return next_token(state, kATTRWRITER); } #line 2699 "ext/rbs_extension/lexer.c" yy325: rbs_skip(state); yych = peek(state); if (yych != 'r') goto yy53; rbs_skip(state); yych = peek(state); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy105; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy106; } } else { if (yych <= '^') { if (yych <= '@') goto yy326; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy326; if (yych <= 'z') goto yy52; } } yy326: #line 67 "ext/rbs_extension/lexer.re" { return next_token(state, kATTRACCESSOR); } #line 2725 "ext/rbs_extension/lexer.c" } #line 146 "ext/rbs_extension/lexer.re" }