/* Generated by re2c 3.1 */ #line 1 "src/lexer.re" #include "rbs/lexer.h" rbs_token_t rbs_lexer_next_token(rbs_lexer_t *lexer) { rbs_lexer_t backup; backup = *lexer; #line 12 "src/lexer.c" { unsigned int yych; unsigned int yyaccept = 0; yych = rbs_peek(lexer); 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 '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 'r': goto yy59; case 's': goto yy60; case 't': goto yy61; case 'u': goto yy62; case 'v': goto yy63; case '{': goto yy64; case '|': goto yy65; case '}': goto yy66; default: goto yy2; } yy1: rbs_skip(lexer); #line 148 "src/lexer.re" { return rbs_next_eof_token(lexer); } #line 121 "src/lexer.c" yy2: rbs_skip(lexer); yy3: #line 149 "src/lexer.re" { return rbs_next_token(lexer, ErrorToken); } #line 127 "src/lexer.c" yy4: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == '\t') goto yy4; if (yych == ' ') goto yy4; yy5: #line 147 "src/lexer.re" { return rbs_next_token(lexer, tTRIVIA); } #line 136 "src/lexer.c" yy6: rbs_skip(lexer); goto yy5; yy7: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == '=') goto yy24; if (yych == '~') goto yy24; yy8: #line 48 "src/lexer.re" { return rbs_next_token(lexer, tOPERATOR); } #line 148 "src/lexer.c" yy9: yyaccept = 0; rbs_skip(lexer); backup = *lexer; yych = rbs_peek(lexer); if (yych <= 0x00000000) goto yy3; goto yy68; yy10: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= 0x00000000) goto yy11; if (yych != '\n') goto yy10; yy11: #line 60 "src/lexer.re" { return rbs_next_token( lexer, lexer->first_token_of_line ? tLINECOMMENT : tCOMMENT ); } #line 169 "src/lexer.c" yy12: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= ')') { if (yych <= 0x0000001F) { if (yych <= '\n') { if (yych <= 0x00000000) goto yy3; if (yych <= 0x00000008) goto yy72; goto yy3; } else { if (yych == '\r') goto yy3; goto yy72; } } else { if (yych <= '#') { if (yych <= ' ') goto yy3; if (yych <= '"') goto yy74; goto yy72; } else { if (yych == '%') goto yy3; if (yych <= '\'') goto yy74; goto yy3; } } } else { if (yych <= 'Z') { if (yych <= '/') { if (yych == '-') goto yy72; goto yy74; } else { if (yych <= '9') goto yy72; if (yych <= '>') goto yy74; goto yy72; } } else { if (yych <= '^') { if (yych == '\\') goto yy74; goto yy3; } else { if (yych <= 'z') goto yy72; if (yych <= '}') goto yy3; if (yych <= '~') goto yy74; goto yy72; } } } yy13: yyaccept = 1; rbs_skip(lexer); backup = *lexer; yych = rbs_peek(lexer); if (yych == 'a') goto yy75; goto yy8; yy14: rbs_skip(lexer); #line 33 "src/lexer.re" { return rbs_next_token(lexer, pAMP); } #line 227 "src/lexer.c" yy15: yyaccept = 0; rbs_skip(lexer); backup = *lexer; yych = rbs_peek(lexer); if (yych <= 0x00000000) goto yy3; goto yy77; yy16: rbs_skip(lexer); #line 24 "src/lexer.re" { return rbs_next_token(lexer, pLPAREN); } #line 239 "src/lexer.c" yy17: rbs_skip(lexer); #line 25 "src/lexer.re" { return rbs_next_token(lexer, pRPAREN); } #line 244 "src/lexer.c" yy18: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == '*') goto yy81; #line 35 "src/lexer.re" { return rbs_next_token(lexer, pSTAR); } #line 251 "src/lexer.c" yy19: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '/') goto yy8; if (yych <= '9') goto yy25; if (yych == '@') goto yy24; goto yy8; yy20: rbs_skip(lexer); #line 30 "src/lexer.re" { return rbs_next_token(lexer, pCOMMA); } #line 263 "src/lexer.c" yy21: rbs_skip(lexer); yych = rbs_peek(lexer); switch (yych) { case '-': goto yy82; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy25; case '>': goto yy83; case '@': goto yy24; default: goto yy8; } yy22: yyaccept = 2; rbs_skip(lexer); backup = *lexer; yych = rbs_peek(lexer); if (yych == '.') goto yy84; yy23: #line 37 "src/lexer.re" { return rbs_next_token(lexer, pDOT); } #line 292 "src/lexer.c" yy24: rbs_skip(lexer); goto yy8; yy25: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '/') goto yy26; if (yych <= '9') goto yy25; if (yych == '_') goto yy25; yy26: #line 52 "src/lexer.re" { return rbs_next_token(lexer, tINTEGER); } #line 305 "src/lexer.c" yy27: yyaccept = 3; rbs_skip(lexer); backup = *lexer; yych = rbs_peek(lexer); switch (yych) { case '!': goto yy85; case '"': goto yy87; case '$': goto yy88; case '%': case '&': case '/': case '^': case '`': case '|': case '~': goto yy89; case '\'': goto yy90; case '*': goto yy91; case '+': case '-': goto yy92; case ':': goto yy93; case '<': goto yy94; case '=': goto yy95; case '>': goto yy96; case '@': goto yy97; 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 yy98; case '[': goto yy100; default: goto yy28; } yy28: #line 44 "src/lexer.re" { return rbs_next_token(lexer, pCOLON); } #line 390 "src/lexer.c" yy29: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= ';') goto yy30; if (yych <= '<') goto yy24; if (yych <= '=') goto yy101; yy30: #line 46 "src/lexer.re" { return rbs_next_token(lexer, pLT); } #line 400 "src/lexer.c" yy31: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '>') { if (yych <= '<') goto yy32; if (yych <= '=') goto yy102; goto yy103; } else { if (yych == '~') goto yy24; } yy32: #line 43 "src/lexer.re" { return rbs_next_token(lexer, pEQ); } #line 414 "src/lexer.c" yy33: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '<') goto yy8; if (yych <= '>') goto yy24; goto yy8; yy34: rbs_skip(lexer); #line 34 "src/lexer.re" { return rbs_next_token(lexer, pQUESTION); } #line 425 "src/lexer.c" yy35: yyaccept = 0; rbs_skip(lexer); backup = *lexer; yych = rbs_peek(lexer); if (yych <= '_') { if (yych <= '@') { if (yych <= '?') goto yy3; goto yy104; } else { if (yych <= 'Z') goto yy105; if (yych <= '^') goto yy3; goto yy105; } } else { if (yych <= 'q') { if (yych <= '`') goto yy3; goto yy105; } else { if (yych <= 'r') goto yy108; if (yych <= 'z') goto yy105; goto yy3; } } yy36: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy36; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy37; if (yych <= 'Z') goto yy36; } else { if (yych == '`') goto yy37; if (yych <= 'z') goto yy36; } } yy37: #line 133 "src/lexer.re" { return rbs_next_token(lexer, tUIDENT); } #line 472 "src/lexer.c" yy38: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == ']') goto yy111; #line 26 "src/lexer.re" { return rbs_next_token(lexer, pLBRACKET); } #line 479 "src/lexer.c" yy39: rbs_skip(lexer); #line 27 "src/lexer.re" { return rbs_next_token(lexer, pRBRACKET); } #line 484 "src/lexer.c" yy40: rbs_skip(lexer); #line 32 "src/lexer.re" { return rbs_next_token(lexer, pHAT); } #line 489 "src/lexer.c" yy41: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy112; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy42; if (yych <= 'Z') goto yy115; } else { if (yych <= '_') goto yy117; if (yych <= '`') goto yy42; if (yych <= 'z') goto yy112; } } yy42: #line 136 "src/lexer.re" { return rbs_next_token(lexer, tULLIDENT); } #line 513 "src/lexer.c" yy43: yyaccept = 4; rbs_skip(lexer); backup = *lexer; yych = rbs_peek(lexer); if (yych <= ' ') { if (yych <= 0x00000000) goto yy44; if (yych <= 0x0000001F) goto yy118; } else { if (yych != ':') goto yy118; } yy44: #line 39 "src/lexer.re" { return rbs_next_token(lexer, tOPERATOR); } #line 528 "src/lexer.c" yy45: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= 'r') { if (yych == 'l') goto yy119; goto yy53; } else { if (yych <= 's') goto yy120; if (yych <= 't') goto yy122; goto yy53; } yy46: #line 132 "src/lexer.re" { return rbs_next_token(lexer, tLIDENT); } #line 543 "src/lexer.c" yy47: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'o') goto yy123; goto yy53; yy48: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'l') goto yy124; goto yy53; yy49: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy125; goto yy53; yy50: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'n') goto yy126; if (yych == 'x') goto yy127; goto yy53; yy51: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'a') goto yy128; goto yy53; yy52: rbs_skip(lexer); yych = rbs_peek(lexer); yy53: if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; goto yy46; } else { if (yych <= '9') goto yy52; if (yych <= '<') goto yy46; goto yy110; } } 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(lexer); yych = rbs_peek(lexer); if (yych == 'n') goto yy129; goto yy53; yy55: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'o') goto yy131; goto yy53; yy56: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'i') goto yy132; goto yy53; yy57: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'u') goto yy133; goto yy53; yy58: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'r') goto yy134; if (yych == 'u') goto yy135; goto yy53; yy59: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy136; goto yy53; yy60: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= 'h') { if (yych == 'e') goto yy137; goto yy53; } else { if (yych <= 'i') goto yy138; if (yych == 'k') goto yy139; goto yy53; } yy61: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= 'q') { if (yych == 'o') goto yy140; goto yy53; } else { if (yych <= 'r') goto yy141; if (yych == 'y') goto yy142; goto yy53; } yy62: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'n') goto yy143; if (yych == 's') goto yy144; goto yy53; yy63: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'o') goto yy145; goto yy53; yy64: rbs_skip(lexer); #line 28 "src/lexer.re" { return rbs_next_token(lexer, pLBRACE); } #line 662 "src/lexer.c" yy65: rbs_skip(lexer); #line 31 "src/lexer.re" { return rbs_next_token(lexer, pBAR); } #line 667 "src/lexer.c" yy66: rbs_skip(lexer); #line 29 "src/lexer.re" { return rbs_next_token(lexer, pRBRACE); } #line 672 "src/lexer.c" yy67: rbs_skip(lexer); yych = rbs_peek(lexer); yy68: if (yych <= '"') { if (yych <= 0x00000000) goto yy69; if (yych <= '!') goto yy67; goto yy70; } else { if (yych == '\\') goto yy71; goto yy67; } yy69: *lexer = 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 yy79; } } else { goto yy161; } } yy70: rbs_skip(lexer); #line 110 "src/lexer.re" { return rbs_next_token(lexer, tDQSTRING); } #line 716 "src/lexer.c" yy71: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'u') goto yy146; if (yych == 'x') goto yy147; goto yy67; yy72: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= ',') { if (yych <= '\f') { if (yych <= 0x00000000) goto yy73; if (yych <= 0x00000008) goto yy72; if (yych >= '\v') goto yy72; } else { if (yych <= 0x0000001F) { if (yych >= 0x0000000E) goto yy72; } else { if (yych == '#') goto yy72; } } } else { if (yych <= '>') { if (yych <= '-') goto yy72; if (yych <= '/') goto yy73; if (yych <= '9') goto yy72; } else { if (yych <= '^') { if (yych <= 'Z') goto yy72; } else { if (yych <= 'z') goto yy72; if (yych >= 0x0000007F) goto yy72; } } } yy73: #line 143 "src/lexer.re" { return rbs_next_token(lexer, tGIDENT); } #line 755 "src/lexer.c" yy74: rbs_skip(lexer); goto yy73; yy75: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= 'Z') { if (yych <= '(') { if (yych <= '\'') goto yy69; goto yy148; } else { if (yych == '<') goto yy149; goto yy69; } } else { if (yych <= 'z') { if (yych <= '[') goto yy150; goto yy69; } else { if (yych <= '{') goto yy151; if (yych <= '|') goto yy152; goto yy69; } } yy76: rbs_skip(lexer); yych = rbs_peek(lexer); yy77: if (yych <= '\'') { if (yych <= 0x00000000) goto yy69; if (yych <= '&') goto yy76; } else { if (yych == '\\') goto yy80; goto yy76; } yy78: rbs_skip(lexer); yy79: #line 111 "src/lexer.re" { return rbs_next_token(lexer, tSQSTRING); } #line 796 "src/lexer.c" yy80: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '\'') { if (yych <= 0x00000000) goto yy69; if (yych <= '&') goto yy76; goto yy153; } else { if (yych == '\\') goto yy80; goto yy76; } yy81: rbs_skip(lexer); #line 36 "src/lexer.re" { return rbs_next_token(lexer, pSTAR2); } #line 812 "src/lexer.c" yy82: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych >= 0x00000001) goto yy82; #line 49 "src/lexer.re" { return rbs_next_token(lexer, tINLINECOMMENT); } #line 819 "src/lexer.c" yy83: rbs_skip(lexer); #line 41 "src/lexer.re" { return rbs_next_token(lexer, pARROW); } #line 824 "src/lexer.c" yy84: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == '.') goto yy154; goto yy69; yy85: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == '=') goto yy89; if (yych == '~') goto yy89; yy86: #line 130 "src/lexer.re" { return rbs_next_token(lexer, tSYMBOL); } #line 838 "src/lexer.c" yy87: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '"') { if (yych <= 0x00000000) goto yy69; if (yych <= '!') goto yy87; goto yy155; } else { if (yych == '\\') goto yy156; goto yy87; } yy88: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= ')') { if (yych <= 0x0000001F) { if (yych <= '\n') { if (yych <= 0x00000000) goto yy69; if (yych <= 0x00000008) goto yy157; goto yy69; } else { if (yych == '\r') goto yy69; goto yy157; } } else { if (yych <= '#') { if (yych <= ' ') goto yy69; if (yych <= '"') goto yy159; goto yy157; } else { if (yych == '%') goto yy69; if (yych <= '\'') goto yy159; goto yy69; } } } else { if (yych <= 'Z') { if (yych <= '/') { if (yych == '-') goto yy157; goto yy159; } else { if (yych <= '9') goto yy157; if (yych <= '>') goto yy159; goto yy157; } } else { if (yych <= '^') { if (yych == '\\') goto yy159; goto yy69; } else { if (yych <= 'z') goto yy157; if (yych <= '}') goto yy69; if (yych <= '~') goto yy159; goto yy157; } } } yy89: rbs_skip(lexer); goto yy86; yy90: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '\'') { if (yych <= 0x00000000) goto yy69; if (yych <= '&') goto yy90; goto yy160; } else { if (yych == '\\') goto yy162; goto yy90; } yy91: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == '*') goto yy89; goto yy86; yy92: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == '@') goto yy89; goto yy86; yy93: rbs_skip(lexer); #line 45 "src/lexer.re" { return rbs_next_token(lexer, pCOLON2); } #line 924 "src/lexer.c" yy94: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= ';') goto yy86; if (yych <= '<') goto yy89; if (yych <= '=') goto yy163; goto yy86; yy95: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == '=') goto yy164; if (yych == '~') goto yy89; goto yy69; yy96: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '<') goto yy86; if (yych <= '>') goto yy89; goto yy86; yy97: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '^') { if (yych <= '?') goto yy69; if (yych <= '@') goto yy165; if (yych <= 'Z') goto yy166; goto yy69; } else { if (yych == '`') goto yy69; if (yych <= 'z') goto yy166; goto yy69; } yy98: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '>') { if (yych <= '/') { if (yych == '!') goto yy168; } else { if (yych <= '9') goto yy98; if (yych == '=') goto yy168; } } else { if (yych <= '^') { if (yych <= '?') goto yy168; if (yych <= '@') goto yy99; if (yych <= 'Z') goto yy98; } else { if (yych == '`') goto yy99; if (yych <= 'z') goto yy98; } } yy99: #line 126 "src/lexer.re" { return rbs_next_token(lexer, tSYMBOL); } #line 980 "src/lexer.c" yy100: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == ']') goto yy164; goto yy69; yy101: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == '>') goto yy24; goto yy8; yy102: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == '=') goto yy24; goto yy8; yy103: rbs_skip(lexer); #line 42 "src/lexer.re" { return rbs_next_token(lexer, pFATARROW); } #line 1000 "src/lexer.c" yy104: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '^') { if (yych <= '@') goto yy69; if (yych <= 'Z') goto yy169; goto yy69; } else { if (yych == '`') goto yy69; if (yych <= 'z') goto yy169; goto yy69; } yy105: rbs_skip(lexer); yych = rbs_peek(lexer); yy106: if (yych <= 'Z') { if (yych <= '/') goto yy107; if (yych <= '9') goto yy105; if (yych >= 'A') goto yy105; } else { if (yych <= '_') { if (yych >= '_') goto yy105; } else { if (yych <= '`') goto yy107; if (yych <= 'z') goto yy105; } } yy107: #line 140 "src/lexer.re" { return rbs_next_token(lexer, tAIDENT); } #line 1032 "src/lexer.c" yy108: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'b') goto yy171; goto yy106; yy109: rbs_skip(lexer); #line 137 "src/lexer.re" { return rbs_next_token(lexer, tBANGIDENT); } #line 1042 "src/lexer.c" yy110: rbs_skip(lexer); #line 138 "src/lexer.re" { return rbs_next_token(lexer, tEQIDENT); } #line 1047 "src/lexer.c" yy111: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == '=') goto yy24; #line 47 "src/lexer.re" { return rbs_next_token(lexer, pAREF_OPR); } #line 1054 "src/lexer.c" yy112: rbs_skip(lexer); yych = rbs_peek(lexer); yy113: if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy112; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy114; if (yych <= 'Z') goto yy112; } else { if (yych == '`') goto yy114; if (yych <= 'z') goto yy112; } } yy114: #line 134 "src/lexer.re" { return rbs_next_token(lexer, tULLIDENT); } #line 1078 "src/lexer.c" yy115: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy115; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy116; if (yych <= 'Z') goto yy115; } else { if (yych == '`') goto yy116; if (yych <= 'z') goto yy115; } } yy116: #line 135 "src/lexer.re" { return rbs_next_token(lexer, tULIDENT); } #line 1101 "src/lexer.c" yy117: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 't') goto yy172; goto yy113; yy118: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= 0x00000000) goto yy69; if (yych == '`') goto yy173; goto yy118; yy119: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'i') goto yy174; goto yy53; yy120: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy121; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy121; if (yych <= 'z') goto yy52; } } yy121: #line 97 "src/lexer.re" { return rbs_next_token(lexer, kAS); } #line 1140 "src/lexer.c" yy122: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 't') goto yy175; goto yy53; yy123: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'o') goto yy176; if (yych == 't') goto yy177; goto yy53; yy124: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'a') goto yy179; goto yy53; yy125: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'f') goto yy180; goto yy53; yy126: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'd') goto yy182; goto yy53; yy127: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 't') goto yy184; goto yy53; yy128: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'l') goto yy185; goto yy53; yy129: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '^') { if (yych <= '9') { if (yych == '!') goto yy109; if (yych >= '0') goto yy52; } else { if (yych <= '=') { if (yych >= '=') goto yy110; } else { if (yych <= '@') goto yy130; if (yych <= 'Z') goto yy52; } } } else { if (yych <= 'c') { if (yych == '`') goto yy130; if (yych <= 'b') goto yy52; goto yy186; } else { if (yych <= 's') { if (yych <= 'r') goto yy52; goto yy187; } else { if (yych <= 't') goto yy188; if (yych <= 'z') goto yy52; } } } yy130: #line 78 "src/lexer.re" { return rbs_next_token(lexer, kIN); } #line 1210 "src/lexer.c" yy131: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'd') goto yy189; goto yy53; yy132: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'l') goto yy190; goto yy53; yy133: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 't') goto yy192; goto yy53; yy134: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy194; if (yych == 'i') goto yy195; goto yy53; yy135: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'b') goto yy196; goto yy53; yy136: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 't') goto yy197; goto yy53; yy137: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'l') goto yy198; goto yy53; yy138: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'n') goto yy199; goto yy53; yy139: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'i') goto yy200; goto yy53; yy140: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'p') goto yy201; goto yy53; yy141: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'u') goto yy203; goto yy53; yy142: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'p') goto yy204; goto yy53; yy143: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'c') goto yy205; if (yych == 't') goto yy206; goto yy53; yy144: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy207; goto yy53; yy145: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'i') goto yy209; goto yy53; yy146: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '@') { if (yych <= '/') goto yy69; if (yych <= '9') goto yy210; goto yy69; } else { if (yych <= 'F') goto yy210; if (yych <= '`') goto yy69; if (yych <= 'f') goto yy210; goto yy69; } yy147: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '/') goto yy69; if (yych <= '9') goto yy67; if (yych <= '`') goto yy69; if (yych <= 'f') goto yy67; goto yy69; yy148: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= 0x00000000) goto yy69; if (yych == ')') goto yy211; goto yy148; yy149: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= 0x00000000) goto yy69; if (yych == '>') goto yy212; goto yy149; yy150: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= 0x00000000) goto yy69; if (yych == ']') goto yy213; goto yy150; yy151: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= 0x00000000) goto yy69; if (yych == '}') goto yy214; goto yy151; yy152: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= 0x00000000) goto yy69; if (yych == '|') goto yy215; goto yy152; yy153: yyaccept = 5; rbs_skip(lexer); backup = *lexer; yych = rbs_peek(lexer); if (yych <= '\'') { if (yych <= 0x00000000) goto yy79; if (yych <= '&') goto yy76; goto yy78; } else { if (yych == '\\') goto yy80; goto yy76; } yy154: rbs_skip(lexer); #line 38 "src/lexer.re" { return rbs_next_token(lexer, pDOT3); } #line 1356 "src/lexer.c" yy155: rbs_skip(lexer); #line 112 "src/lexer.re" { return rbs_next_token(lexer, tDQSYMBOL); } #line 1361 "src/lexer.c" yy156: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'u') goto yy216; if (yych == 'x') goto yy217; goto yy87; yy157: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= ',') { if (yych <= '\f') { if (yych <= 0x00000000) goto yy158; if (yych <= 0x00000008) goto yy157; if (yych >= '\v') goto yy157; } else { if (yych <= 0x0000001F) { if (yych >= 0x0000000E) goto yy157; } else { if (yych == '#') goto yy157; } } } else { if (yych <= '>') { if (yych <= '-') goto yy157; if (yych <= '/') goto yy158; if (yych <= '9') goto yy157; } else { if (yych <= '^') { if (yych <= 'Z') goto yy157; } else { if (yych <= 'z') goto yy157; if (yych >= 0x0000007F) goto yy157; } } } yy158: #line 129 "src/lexer.re" { return rbs_next_token(lexer, tSYMBOL); } #line 1400 "src/lexer.c" yy159: rbs_skip(lexer); goto yy158; yy160: rbs_skip(lexer); yy161: #line 113 "src/lexer.re" { return rbs_next_token(lexer, tSQSYMBOL); } #line 1409 "src/lexer.c" yy162: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '\'') { if (yych <= 0x00000000) goto yy69; if (yych <= '&') goto yy90; goto yy218; } else { if (yych == '\\') goto yy162; goto yy90; } yy163: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == '>') goto yy89; goto yy86; yy164: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == '=') goto yy89; goto yy86; yy165: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '^') { if (yych <= '@') goto yy69; if (yych <= 'Z') goto yy219; goto yy69; } else { if (yych == '`') goto yy69; if (yych <= 'z') goto yy219; goto yy69; } yy166: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '>') { if (yych <= '/') { if (yych == '!') goto yy221; } else { if (yych <= '9') goto yy166; if (yych == '=') goto yy221; } } else { if (yych <= '^') { if (yych <= '?') goto yy221; if (yych <= '@') goto yy167; if (yych <= 'Z') goto yy166; } else { if (yych == '`') goto yy167; if (yych <= 'z') goto yy166; } } yy167: #line 127 "src/lexer.re" { return rbs_next_token(lexer, tSYMBOL); } #line 1466 "src/lexer.c" yy168: rbs_skip(lexer); goto yy99; yy169: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= 'Z') { if (yych <= '/') goto yy170; if (yych <= '9') goto yy169; if (yych >= 'A') goto yy169; } else { if (yych <= '_') { if (yych >= '_') goto yy169; } else { if (yych <= '`') goto yy170; if (yych <= 'z') goto yy169; } } yy170: #line 141 "src/lexer.re" { return rbs_next_token(lexer, tA2IDENT); } #line 1488 "src/lexer.c" yy171: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 's') goto yy222; goto yy106; yy172: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'o') goto yy224; goto yy113; yy173: rbs_skip(lexer); #line 40 "src/lexer.re" { return rbs_next_token(lexer, tQIDENT); } #line 1503 "src/lexer.c" yy174: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'a') goto yy225; goto yy53; yy175: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'r') goto yy226; goto yy53; yy176: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'l') goto yy227; goto yy53; yy177: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy178; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy178; if (yych <= 'z') goto yy52; } } yy178: #line 72 "src/lexer.re" { return rbs_next_token(lexer, kBOT); } #line 1541 "src/lexer.c" yy179: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 's') goto yy229; goto yy53; yy180: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy181; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy181; if (yych <= 'z') goto yy52; } } yy181: #line 74 "src/lexer.re" { return rbs_next_token(lexer, kDEF); } #line 1569 "src/lexer.c" yy182: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy183; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy183; if (yych <= 'z') goto yy52; } } yy183: #line 75 "src/lexer.re" { return rbs_next_token(lexer, kEND); } #line 1592 "src/lexer.c" yy184: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy230; goto yy53; yy185: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 's') goto yy231; goto yy53; yy186: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'l') goto yy232; goto yy53; yy187: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 't') goto yy233; goto yy53; yy188: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy234; goto yy53; yy189: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'u') goto yy235; goto yy53; yy190: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy191; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy191; if (yych <= 'z') goto yy52; } } yy191: #line 83 "src/lexer.re" { return rbs_next_token(lexer, kNIL); } #line 1645 "src/lexer.c" yy192: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy193; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy193; if (yych <= 'z') goto yy52; } } yy193: #line 84 "src/lexer.re" { return rbs_next_token(lexer, kOUT); } #line 1668 "src/lexer.c" yy194: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'p') goto yy236; goto yy53; yy195: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'v') goto yy237; goto yy53; yy196: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'l') goto yy238; goto yy53; yy197: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'u') goto yy239; goto yy53; yy198: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'f') goto yy240; goto yy53; yy199: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'g') goto yy242; goto yy53; yy200: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'p') goto yy243; goto yy53; yy201: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy202; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy202; if (yych <= 'z') goto yy52; } } yy202: #line 90 "src/lexer.re" { return rbs_next_token(lexer, kTOP); } #line 1726 "src/lexer.c" yy203: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy245; goto yy53; yy204: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy247; goto yy53; yy205: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'h') goto yy249; goto yy53; yy206: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'y') goto yy250; goto yy53; yy207: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy208; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy208; if (yych <= 'z') goto yy52; } } yy208: #line 96 "src/lexer.re" { return rbs_next_token(lexer, kUSE); } #line 1769 "src/lexer.c" yy209: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'd') goto yy251; goto yy53; yy210: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '@') { if (yych <= '/') goto yy69; if (yych <= '9') goto yy253; goto yy69; } else { if (yych <= 'F') goto yy253; if (yych <= '`') goto yy69; if (yych <= 'f') goto yy253; goto yy69; } yy211: rbs_skip(lexer); #line 55 "src/lexer.re" { return rbs_next_token(lexer, tANNOTATION); } #line 1792 "src/lexer.c" yy212: rbs_skip(lexer); #line 58 "src/lexer.re" { return rbs_next_token(lexer, tANNOTATION); } #line 1797 "src/lexer.c" yy213: rbs_skip(lexer); #line 56 "src/lexer.re" { return rbs_next_token(lexer, tANNOTATION); } #line 1802 "src/lexer.c" yy214: rbs_skip(lexer); #line 54 "src/lexer.re" { return rbs_next_token(lexer, tANNOTATION); } #line 1807 "src/lexer.c" yy215: rbs_skip(lexer); #line 57 "src/lexer.re" { return rbs_next_token(lexer, tANNOTATION); } #line 1812 "src/lexer.c" yy216: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '@') { if (yych <= '/') goto yy69; if (yych <= '9') goto yy254; goto yy69; } else { if (yych <= 'F') goto yy254; if (yych <= '`') goto yy69; if (yych <= 'f') goto yy254; goto yy69; } yy217: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '/') goto yy69; if (yych <= '9') goto yy87; if (yych <= '`') goto yy69; if (yych <= 'f') goto yy87; goto yy69; yy218: yyaccept = 6; rbs_skip(lexer); backup = *lexer; yych = rbs_peek(lexer); if (yych <= '\'') { if (yych <= 0x00000000) goto yy161; if (yych <= '&') goto yy90; goto yy160; } else { if (yych == '\\') goto yy162; goto yy90; } yy219: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '>') { if (yych <= '/') { if (yych == '!') goto yy255; } else { if (yych <= '9') goto yy219; if (yych == '=') goto yy255; } } else { if (yych <= '^') { if (yych <= '?') goto yy255; if (yych <= '@') goto yy220; if (yych <= 'Z') goto yy219; } else { if (yych == '`') goto yy220; if (yych <= 'z') goto yy219; } } yy220: #line 128 "src/lexer.re" { return rbs_next_token(lexer, tSYMBOL); } #line 1870 "src/lexer.c" yy221: rbs_skip(lexer); goto yy167; yy222: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= 'Z') { if (yych <= '/') goto yy223; if (yych <= '9') goto yy105; if (yych >= 'A') goto yy105; } else { if (yych <= '_') { if (yych >= '_') goto yy105; } else { if (yych <= '`') goto yy223; if (yych <= 'z') goto yy105; } } yy223: #line 99 "src/lexer.re" { return rbs_next_token(lexer, kATRBS); } #line 1892 "src/lexer.c" yy224: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'd') goto yy256; goto yy113; yy225: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 's') goto yy257; goto yy53; yy226: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == '_') goto yy259; goto yy53; yy227: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy228; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy228; if (yych <= 'z') goto yy52; } } yy228: #line 71 "src/lexer.re" { return rbs_next_token(lexer, kBOOL); } #line 1930 "src/lexer.c" yy229: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 's') goto yy260; goto yy53; yy230: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'n') goto yy262; goto yy53; yy231: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy263; goto yy53; yy232: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'u') goto yy265; goto yy53; yy233: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'a') goto yy266; goto yy53; yy234: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'r') goto yy267; goto yy53; yy235: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'l') goto yy268; goto yy53; yy236: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy269; goto yy53; yy237: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'a') goto yy270; goto yy53; yy238: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'i') goto yy271; goto yy53; yy239: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'r') goto yy272; goto yy53; yy240: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy241; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy241; if (yych <= 'z') goto yy52; } } yy241: #line 88 "src/lexer.re" { return rbs_next_token(lexer, kSELF); } #line 2008 "src/lexer.c" yy242: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'l') goto yy273; goto yy53; yy243: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy244; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy244; if (yych <= 'z') goto yy52; } } yy244: #line 100 "src/lexer.re" { return rbs_next_token(lexer, kSKIP); } #line 2036 "src/lexer.c" yy245: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy246; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy246; if (yych <= 'z') goto yy52; } } yy246: #line 91 "src/lexer.re" { return rbs_next_token(lexer, kTRUE); } #line 2059 "src/lexer.c" yy247: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy248; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy248; if (yych <= 'z') goto yy52; } } yy248: #line 92 "src/lexer.re" { return rbs_next_token(lexer, kTYPE); } #line 2082 "src/lexer.c" yy249: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy274; goto yy53; yy250: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'p') goto yy275; goto yy53; yy251: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy252; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy252; if (yych <= 'z') goto yy52; } } yy252: #line 95 "src/lexer.re" { return rbs_next_token(lexer, kVOID); } #line 2115 "src/lexer.c" yy253: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '@') { if (yych <= '/') goto yy69; if (yych <= '9') goto yy276; goto yy69; } else { if (yych <= 'F') goto yy276; if (yych <= '`') goto yy69; if (yych <= 'f') goto yy276; goto yy69; } yy254: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '@') { if (yych <= '/') goto yy69; if (yych <= '9') goto yy277; goto yy69; } else { if (yych <= 'F') goto yy277; if (yych <= '`') goto yy69; if (yych <= 'f') goto yy277; goto yy69; } yy255: rbs_skip(lexer); goto yy220; yy256: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'o') goto yy278; goto yy113; yy257: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy258; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy258; if (yych <= 'z') goto yy52; } } yy258: #line 67 "src/lexer.re" { return rbs_next_token(lexer, kALIAS); } #line 2172 "src/lexer.c" yy259: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= 'q') { if (yych == 'a') goto yy279; goto yy53; } else { if (yych <= 'r') goto yy280; if (yych == 'w') goto yy281; goto yy53; } yy260: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy261; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy261; if (yych <= 'z') goto yy52; } } yy261: #line 73 "src/lexer.re" { return rbs_next_token(lexer, kCLASS); } #line 2206 "src/lexer.c" yy262: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'd') goto yy282; goto yy53; yy263: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy264; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy264; if (yych <= 'z') goto yy52; } } yy264: #line 77 "src/lexer.re" { return rbs_next_token(lexer, kFALSE); } #line 2234 "src/lexer.c" yy265: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'd') goto yy284; goto yy53; yy266: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'n') goto yy285; goto yy53; yy267: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'f') goto yy286; goto yy53; yy268: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy287; goto yy53; yy269: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'n') goto yy289; goto yy53; yy270: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 't') goto yy290; goto yy53; yy271: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'c') goto yy291; goto yy53; yy272: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'n') goto yy293; goto yy53; yy273: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy295; goto yy53; yy274: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'c') goto yy296; goto yy53; yy275: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy297; goto yy53; yy276: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '@') { if (yych <= '/') goto yy69; if (yych <= '9') goto yy67; goto yy69; } else { if (yych <= 'F') goto yy67; if (yych <= '`') goto yy69; if (yych <= 'f') goto yy67; goto yy69; } yy277: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '@') { if (yych <= '/') goto yy69; if (yych <= '9') goto yy298; goto yy69; } else { if (yych <= 'F') goto yy298; if (yych <= '`') goto yy69; if (yych <= 'f') goto yy298; goto yy69; } yy278: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == '_') goto yy299; goto yy113; yy279: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'c') goto yy300; goto yy53; yy280: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy301; goto yy53; yy281: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'r') goto yy302; goto yy53; yy282: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy283; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy283; if (yych <= 'z') goto yy52; } } yy283: #line 76 "src/lexer.re" { return rbs_next_token(lexer, kEXTEND); } #line 2358 "src/lexer.c" yy284: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy303; goto yy53; yy285: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'c') goto yy305; goto yy53; yy286: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'a') goto yy306; goto yy53; yy287: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy288; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy288; if (yych <= 'z') goto yy52; } } yy288: #line 82 "src/lexer.re" { return rbs_next_token(lexer, kMODULE); } #line 2396 "src/lexer.c" yy289: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'd') goto yy307; goto yy53; yy290: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy309; goto yy53; yy291: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy292; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy292; if (yych <= 'z') goto yy52; } } yy292: #line 87 "src/lexer.re" { return rbs_next_token(lexer, kPUBLIC); } #line 2429 "src/lexer.c" yy293: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy294; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy294; if (yych <= 'z') goto yy52; } } yy294: #line 101 "src/lexer.re" { return rbs_next_token(lexer, kRETURN); } #line 2452 "src/lexer.c" yy295: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 't') goto yy311; goto yy53; yy296: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'k') goto yy312; goto yy53; yy297: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'd') goto yy313; goto yy53; yy298: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '@') { if (yych <= '/') goto yy69; if (yych <= '9') goto yy87; goto yy69; } else { if (yych <= 'F') goto yy87; if (yych <= '`') goto yy69; if (yych <= 'f') goto yy87; goto yy69; } yy299: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == '_') goto yy315; goto yy113; yy300: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'c') goto yy317; goto yy53; yy301: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'a') goto yy318; goto yy53; yy302: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'i') goto yy319; goto yy53; yy303: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } 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 "src/lexer.re" { return rbs_next_token(lexer, kINCLUDE); } #line 2523 "src/lexer.c" yy305: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy320; goto yy53; yy306: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'c') goto yy322; goto yy53; yy307: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy308; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy308; if (yych <= 'z') goto yy52; } } yy308: #line 85 "src/lexer.re" { return rbs_next_token(lexer, kPREPEND); } #line 2556 "src/lexer.c" yy309: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy310; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy310; if (yych <= 'z') goto yy52; } } yy310: #line 86 "src/lexer.re" { return rbs_next_token(lexer, kPRIVATE); } #line 2579 "src/lexer.c" yy311: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'o') goto yy323; goto yy53; yy312: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy324; goto yy53; yy313: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy314; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy314; if (yych <= 'z') goto yy52; } } yy314: #line 94 "src/lexer.re" { return rbs_next_token(lexer, kUNTYPED); } #line 2612 "src/lexer.c" yy315: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy112; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy316; if (yych <= 'Z') goto yy112; } else { if (yych == '`') goto yy316; if (yych <= 'z') goto yy112; } } yy316: #line 98 "src/lexer.re" { return rbs_next_token(lexer, k__TODO__); } #line 2635 "src/lexer.c" yy317: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy325; goto yy53; yy318: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'd') goto yy326; goto yy53; yy319: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 't') goto yy327; goto yy53; yy320: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy321; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy321; if (yych <= 'z') goto yy52; } } yy321: #line 80 "src/lexer.re" { return rbs_next_token(lexer, kINSTANCE); } #line 2673 "src/lexer.c" yy322: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy328; goto yy53; yy323: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'n') goto yy330; goto yy53; yy324: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'd') goto yy332; goto yy53; yy325: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 's') goto yy334; goto yy53; yy326: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy335; goto yy53; yy327: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'e') goto yy336; goto yy53; yy328: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy329; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy329; if (yych <= 'z') goto yy52; } } yy329: #line 81 "src/lexer.re" { return rbs_next_token(lexer, kINTERFACE); } #line 2726 "src/lexer.c" yy330: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy331; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy331; if (yych <= 'z') goto yy52; } } yy331: #line 89 "src/lexer.re" { return rbs_next_token(lexer, kSINGLETON); } #line 2749 "src/lexer.c" yy332: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy333; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy333; if (yych <= 'z') goto yy52; } } yy333: #line 93 "src/lexer.re" { return rbs_next_token(lexer, kUNCHECKED); } #line 2772 "src/lexer.c" yy334: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 's') goto yy337; goto yy53; yy335: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'r') goto yy338; goto yy53; yy336: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'r') goto yy340; goto yy53; yy337: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych == 'o') goto yy342; goto yy53; yy338: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy339; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy339; if (yych <= 'z') goto yy52; } } yy339: #line 69 "src/lexer.re" { return rbs_next_token(lexer, kATTRREADER); } #line 2815 "src/lexer.c" yy340: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy341; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy341; if (yych <= 'z') goto yy52; } } yy341: #line 70 "src/lexer.re" { return rbs_next_token(lexer, kATTRWRITER); } #line 2838 "src/lexer.c" yy342: rbs_skip(lexer); yych = rbs_peek(lexer); if (yych != 'r') goto yy53; rbs_skip(lexer); yych = rbs_peek(lexer); if (yych <= '=') { if (yych <= '/') { if (yych == '!') goto yy109; } else { if (yych <= '9') goto yy52; if (yych >= '=') goto yy110; } } else { if (yych <= '^') { if (yych <= '@') goto yy343; if (yych <= 'Z') goto yy52; } else { if (yych == '`') goto yy343; if (yych <= 'z') goto yy52; } } yy343: #line 68 "src/lexer.re" { return rbs_next_token(lexer, kATTRACCESSOR); } #line 2864 "src/lexer.c" } #line 150 "src/lexer.re" }