ext/yylex.c in cast-0.3.0 vs ext/yylex.c in cast-0.3.1
- old
+ new
@@ -1,6 +1,6 @@
-/* Generated by re2c 0.14.3 on Sun Mar 20 23:58:53 2016 */
+/* Generated by re2c 1.3 on Wed Jul 15 00:23:13 2020 */
#line 1 "ext/yylex.re"
/* -*- mode: c -*- */
/* Given to re2c to generate the lexer `yylex'.
*
* Based on c.re in the exmaples distributed with re2c.
@@ -88,49 +88,48 @@
#line 90 "<stdout>"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
-
if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
yych = *YYCURSOR;
switch (yych) {
- case 0x00: goto yy76;
+ case 0x00: goto yy2;
case '\t':
case '\v':
case '\f':
- case ' ': goto yy74;
- case '\n': goto yy78;
- case '!': goto yy50;
- case '"': goto yy29;
- case '%': goto yy40;
- case '&': goto yy42;
- case '\'': goto yy27;
- case '(': goto yy62;
- case ')': goto yy64;
- case '*': goto yy38;
- case '+': goto yy34;
- case ',': goto yy58;
- case '-': goto yy36;
- case '.': goto yy25;
- case '/': goto yy2;
- case '0': goto yy22;
+ case ' ': goto yy6;
+ case '\n': goto yy9;
+ case '!': goto yy11;
+ case '"': goto yy13;
+ case '%': goto yy14;
+ case '&': goto yy16;
+ case '\'': goto yy18;
+ case '(': goto yy19;
+ case ')': goto yy21;
+ case '*': goto yy23;
+ case '+': goto yy25;
+ case ',': goto yy27;
+ case '-': goto yy29;
+ case '.': goto yy31;
+ case '/': goto yy33;
+ case '0': goto yy35;
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
- case '9': goto yy24;
- case ':': goto yy60;
- case ';': goto yy52;
- case '<': goto yy32;
- case '=': goto yy48;
- case '>': goto yy30;
- case '?': goto yy72;
+ case '9': goto yy37;
+ case ':': goto yy39;
+ case ';': goto yy41;
+ case '<': goto yy43;
+ case '=': goto yy45;
+ case '>': goto yy47;
+ case '?': goto yy49;
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
@@ -163,989 +162,830 @@
case 'o':
case 'p':
case 'q':
case 'x':
case 'y':
- case 'z': goto yy21;
- case '[': goto yy66;
- case ']': goto yy68;
- case '^': goto yy44;
- case '_': goto yy20;
- case 'a': goto yy4;
- case 'b': goto yy6;
- case 'c': goto yy7;
- case 'd': goto yy8;
- case 'e': goto yy9;
- case 'f': goto yy10;
- case 'g': goto yy11;
- case 'i': goto yy12;
- case 'l': goto yy13;
- case 'r': goto yy14;
- case 's': goto yy15;
- case 't': goto yy16;
- case 'u': goto yy17;
- case 'v': goto yy18;
- case 'w': goto yy19;
- case '{': goto yy54;
- case '|': goto yy46;
- case '}': goto yy56;
- case '~': goto yy70;
- default: goto yy80;
+ case 'z': goto yy51;
+ case '[': goto yy53;
+ case ']': goto yy55;
+ case '^': goto yy57;
+ case '_': goto yy59;
+ case 'a': goto yy60;
+ case 'b': goto yy61;
+ case 'c': goto yy62;
+ case 'd': goto yy63;
+ case 'e': goto yy64;
+ case 'f': goto yy65;
+ case 'g': goto yy66;
+ case 'i': goto yy67;
+ case 'l': goto yy68;
+ case 'r': goto yy69;
+ case 's': goto yy70;
+ case 't': goto yy71;
+ case 'u': goto yy72;
+ case 'v': goto yy73;
+ case 'w': goto yy74;
+ case '{': goto yy75;
+ case '|': goto yy77;
+ case '}': goto yy79;
+ case '~': goto yy81;
+ default: goto yy4;
}
yy2:
++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '*': goto yy432;
- case '/': goto yy430;
- case '=': goto yy428;
- default: goto yy3;
- }
-yy3:
-#line 270 "ext/yylex.re"
- { RET(cast_sym_DIV); }
-#line 206 "<stdout>"
+#line 286 "ext/yylex.re"
+ {
+ if(cursor == p->eof) RET(Qnil);
+ goto std;
+ }
+#line 201 "<stdout>"
yy4:
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- switch (yych) {
- case '"': goto yy131;
- case '\'': goto yy232;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- 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 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy233;
- case 'u': goto yy424;
- default: goto yy5;
- }
+ ++YYCURSOR;
yy5:
-#line 139 "ext/yylex.re"
+#line 298 "ext/yylex.re"
{
- value = rb_str_new(p->tok, cursor - p->tok);
- if (rb_funcall2(rb_funcall2(self, rb_intern("type_names"), 0, NULL),
- rb_intern("include?"), 1, &value) == Qtrue) {
- RETVALUE(cast_sym_TYPENAME);
- } else {
- RETVALUE(cast_sym_ID);
+ rb_raise(cast_eParseError, "%ld: unexpected character: %c (ASCII %d)\n", p->lineno, *p->tok, (int)*p->tok);
+ goto std;
}
- }
-#line 289 "<stdout>"
+#line 210 "<stdout>"
yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case '\v':
+ case '\f':
+ case ' ': goto yy6;
+ default: goto yy8;
+ }
+yy8:
+#line 283 "ext/yylex.re"
+ { goto std; }
+#line 225 "<stdout>"
+yy9:
+ ++YYCURSOR;
+#line 292 "ext/yylex.re"
+ {
+ p->pos = cursor; ++p->lineno;
+ goto std;
+ }
+#line 233 "<stdout>"
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '=': goto yy83;
+ default: goto yy12;
+ }
+yy12:
+#line 265 "ext/yylex.re"
+ { RET(cast_sym_BANG); }
+#line 243 "<stdout>"
+yy13:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
+ goto yy86;
+yy14:
+ yych = *++YYCURSOR;
switch (yych) {
- case '"': goto yy131;
- case '\'': goto yy232;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- 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 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy233;
- case 'r': goto yy419;
- default: goto yy5;
+ case '=': goto yy91;
+ case '>': goto yy93;
+ default: goto yy15;
}
-yy7:
+yy15:
+#line 271 "ext/yylex.re"
+ { RET(cast_sym_MOD); }
+#line 258 "<stdout>"
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '&': goto yy95;
+ case '=': goto yy97;
+ default: goto yy17;
+ }
+yy17:
+#line 264 "ext/yylex.re"
+ { RET(cast_sym_AND); }
+#line 269 "<stdout>"
+yy18:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
- case '"': goto yy131;
- case '\'': goto yy232;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- 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 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy233;
- case 'a': goto yy400;
- case 'h': goto yy401;
- case 'o': goto yy402;
- default: goto yy5;
+ case '\'': goto yy5;
+ default: goto yy100;
}
-yy8:
- yyaccept = 0;
+yy19:
+ ++YYCURSOR;
+#line 259 "ext/yylex.re"
+ { RET(cast_sym_LPAREN); }
+#line 281 "<stdout>"
+yy21:
+ ++YYCURSOR;
+#line 260 "ext/yylex.re"
+ { RET(cast_sym_RPAREN); }
+#line 286 "<stdout>"
+yy23:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '=': goto yy102;
+ default: goto yy24;
+ }
+yy24:
+#line 269 "ext/yylex.re"
+ { RET(cast_sym_MUL); }
+#line 296 "<stdout>"
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '+': goto yy104;
+ case '=': goto yy106;
+ default: goto yy26;
+ }
+yy26:
+#line 268 "ext/yylex.re"
+ { RET(cast_sym_ADD); }
+#line 307 "<stdout>"
+yy27:
+ ++YYCURSOR;
+#line 256 "ext/yylex.re"
+ { RET(cast_sym_COMMA); }
+#line 312 "<stdout>"
+yy29:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '-': goto yy108;
+ case '=': goto yy110;
+ case '>': goto yy112;
+ default: goto yy30;
+ }
+yy30:
+#line 267 "ext/yylex.re"
+ { RET(cast_sym_SUB); }
+#line 324 "<stdout>"
+yy31:
+ yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
- case '"': goto yy131;
- case '\'': goto yy232;
+ case '.': goto yy114;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
- case '9':
- 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 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy233;
- case 'e': goto yy386;
- case 'o': goto yy387;
- default: goto yy5;
+ case '9': goto yy115;
+ default: goto yy32;
}
-yy9:
- yyaccept = 0;
+yy32:
+#line 263 "ext/yylex.re"
+ { RET(cast_sym_DOT); }
+#line 345 "<stdout>"
+yy33:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '*': goto yy118;
+ case '/': goto yy120;
+ case '=': goto yy122;
+ default: goto yy34;
+ }
+yy34:
+#line 270 "ext/yylex.re"
+ { RET(cast_sym_DIV); }
+#line 357 "<stdout>"
+yy35:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
- case '"': goto yy131;
- case '\'': goto yy232;
+ case '.': goto yy115;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
- case '9':
- case 'A':
- case 'B':
- case 'C':
- case 'D':
+ case '9': goto yy124;
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 'e': goto yy127;
+ case 'L': goto yy128;
case 'U':
- case 'V':
- case 'W':
+ case 'u': goto yy129;
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 'm':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'y':
- case 'z': goto yy233;
- case 'l': goto yy372;
- case 'n': goto yy373;
- case 'x': goto yy374;
- default: goto yy5;
+ case 'x': goto yy130;
+ case 'l': goto yy131;
+ default: goto yy36;
}
-yy10:
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
+yy36:
+#line 168 "ext/yylex.re"
+ {
+ value = cast_new_IntLiteral_at(p->lineno);
+ cast_IntLiteral_set_format(value, ID2SYM(rb_intern("dec")));
+ cast_IntLiteral_set_val(value, LONG2NUM(strtol(p->tok, (char **)&cp, 10)));
+ if (cp < cursor)
+ cast_IntLiteral_set_suffix(value, rb_str_new(cp, cursor - cp));
+ RETVALUE(cast_sym_ICON);
+ }
+#line 393 "<stdout>"
+yy37:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
switch (yych) {
- case '"': goto yy131;
- case '\'': goto yy232;
+ case '.': goto yy115;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
- case '9':
- case 'A':
- case 'B':
- case 'C':
- case 'D':
+ case '9': goto yy37;
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 'e': goto yy127;
+ case 'L': goto yy128;
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 'm':
- case 'n':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy233;
- case 'l': goto yy364;
- case 'o': goto yy365;
- default: goto yy5;
+ case 'u': goto yy129;
+ case 'l': goto yy131;
+ default: goto yy36;
}
-yy11:
- yyaccept = 0;
+yy39:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '>': goto yy132;
+ default: goto yy40;
+ }
+yy40:
+#line 257 "ext/yylex.re"
+ { RET(cast_sym_COLON); }
+#line 428 "<stdout>"
+yy41:
+ ++YYCURSOR;
+#line 253 "ext/yylex.re"
+ { RET(cast_sym_SEMICOLON); }
+#line 433 "<stdout>"
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '%': goto yy134;
+ case ':': goto yy136;
+ case '<': goto yy138;
+ case '=': goto yy140;
+ default: goto yy44;
+ }
+yy44:
+#line 272 "ext/yylex.re"
+ { RET(cast_sym_LT); }
+#line 446 "<stdout>"
+yy45:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '=': goto yy142;
+ default: goto yy46;
+ }
+yy46:
+#line 258 "ext/yylex.re"
+ { RET(cast_sym_EQ); }
+#line 456 "<stdout>"
+yy47:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '=': goto yy144;
+ case '>': goto yy146;
+ default: goto yy48;
+ }
+yy48:
+#line 273 "ext/yylex.re"
+ { RET(cast_sym_GT); }
+#line 467 "<stdout>"
+yy49:
+ ++YYCURSOR;
+#line 276 "ext/yylex.re"
+ { RET(cast_sym_QUESTION); }
+#line 472 "<stdout>"
+yy51:
+ yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
- case '"': goto yy131;
- case '\'': goto yy232;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- 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 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy233;
- case 'o': goto yy360;
- default: goto yy5;
+ case '"': goto yy85;
+ case '\'': goto yy148;
+ default: goto yy150;
}
-yy12:
- yyaccept = 0;
+yy52:
+#line 139 "ext/yylex.re"
+ {
+ value = rb_str_new(p->tok, cursor - p->tok);
+ if (rb_funcall2(rb_funcall2(self, rb_intern("type_names"), 0, NULL),
+ rb_intern("include?"), 1, &value) == Qtrue) {
+ RETVALUE(cast_sym_TYPENAME);
+ } else {
+ RETVALUE(cast_sym_ID);
+ }
+ }
+#line 492 "<stdout>"
+yy53:
+ ++YYCURSOR;
+#line 261 "ext/yylex.re"
+ { RET(cast_sym_LBRACKET); }
+#line 497 "<stdout>"
+yy55:
+ ++YYCURSOR;
+#line 262 "ext/yylex.re"
+ { RET(cast_sym_RBRACKET); }
+#line 502 "<stdout>"
+yy57:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '=': goto yy151;
+ default: goto yy58;
+ }
+yy58:
+#line 274 "ext/yylex.re"
+ { RET(cast_sym_XOR); }
+#line 512 "<stdout>"
+yy59:
+ yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
- case '"': goto yy131;
- case '\'': goto yy232;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- 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 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- 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 yy233;
- case 'f': goto yy350;
- case 'n': goto yy352;
- default: goto yy5;
+ case '"': goto yy85;
+ case '\'': goto yy148;
+ case 'B': goto yy153;
+ case 'C': goto yy154;
+ case 'I': goto yy155;
+ default: goto yy150;
}
-yy13:
- yyaccept = 0;
+yy60:
+ yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
- case '"': goto yy131;
- case '\'': goto yy232;
+ case '"': goto yy85;
+ case '\'': goto yy148;
+ case 'u': goto yy156;
+ default: goto yy150;
+ }
+yy61:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '"': goto yy85;
+ case '\'': goto yy148;
+ case 'r': goto yy157;
+ default: goto yy150;
+ }
+yy62:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '"': goto yy85;
+ case '\'': goto yy148;
+ case 'a': goto yy158;
+ case 'h': goto yy159;
+ case 'o': goto yy160;
+ default: goto yy150;
+ }
+yy63:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '"': goto yy85;
+ case '\'': goto yy148;
+ case 'e': goto yy161;
+ case 'o': goto yy162;
+ default: goto yy150;
+ }
+yy64:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '"': goto yy85;
+ case '\'': goto yy148;
+ case 'l': goto yy164;
+ case 'n': goto yy165;
+ case 'x': goto yy166;
+ default: goto yy150;
+ }
+yy65:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '"': goto yy85;
+ case '\'': goto yy148;
+ case 'l': goto yy167;
+ case 'o': goto yy168;
+ default: goto yy150;
+ }
+yy66:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '"': goto yy85;
+ case '\'': goto yy148;
+ case 'o': goto yy169;
+ default: goto yy150;
+ }
+yy67:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '"': goto yy85;
+ case '\'': goto yy148;
+ case 'f': goto yy170;
+ case 'n': goto yy172;
+ default: goto yy150;
+ }
+yy68:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '"': goto yy85;
+ case '\'': goto yy148;
+ case 'o': goto yy173;
+ default: goto yy150;
+ }
+yy69:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '"': goto yy85;
+ case '\'': goto yy148;
+ case 'e': goto yy174;
+ default: goto yy150;
+ }
+yy70:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '"': goto yy85;
+ case '\'': goto yy148;
+ case 'h': goto yy175;
+ case 'i': goto yy176;
+ case 't': goto yy177;
+ case 'w': goto yy178;
+ default: goto yy150;
+ }
+yy71:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '"': goto yy85;
+ case '\'': goto yy148;
+ case 'y': goto yy179;
+ default: goto yy150;
+ }
+yy72:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '"': goto yy85;
+ case '\'': goto yy148;
+ case 'n': goto yy180;
+ default: goto yy150;
+ }
+yy73:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '"': goto yy85;
+ case '\'': goto yy148;
+ case 'o': goto yy181;
+ default: goto yy150;
+ }
+yy74:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '"': goto yy85;
+ case '\'': goto yy148;
+ case 'h': goto yy182;
+ default: goto yy150;
+ }
+yy75:
+ ++YYCURSOR;
+#line 254 "ext/yylex.re"
+ { RET(cast_sym_LBRACE); }
+#line 673 "<stdout>"
+yy77:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '=': goto yy183;
+ case '|': goto yy185;
+ default: goto yy78;
+ }
+yy78:
+#line 275 "ext/yylex.re"
+ { RET(cast_sym_OR); }
+#line 684 "<stdout>"
+yy79:
+ ++YYCURSOR;
+#line 255 "ext/yylex.re"
+ { RET(cast_sym_RBRACE); }
+#line 689 "<stdout>"
+yy81:
+ ++YYCURSOR;
+#line 266 "ext/yylex.re"
+ { RET(cast_sym_NOT); }
+#line 694 "<stdout>"
+yy83:
+ ++YYCURSOR;
+#line 252 "ext/yylex.re"
+ { RET(cast_sym_NEQ); }
+#line 699 "<stdout>"
+yy85:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy86:
+ switch (yych) {
+ case '"': goto yy87;
+ case '\\': goto yy89;
+ default: goto yy85;
+ }
+yy87:
+ ++YYCURSOR;
+#line 219 "ext/yylex.re"
+ {
+ value = cast_new_StringLiteral_at(p->lineno);
+ if (p->tok[0] == '"') {
+ cp = p->tok;
+ } else {
+ cast_StringLiteral_set_prefix(value, rb_str_new(p->tok, 1));
+ cp = p->tok + 1;
+ }
+ cast_StringLiteral_set_val(value, rb_str_new(cp + 1, cursor - cp - 2));
+ RETVALUE(cast_sym_SCON);
+ }
+#line 724 "<stdout>"
+yy89:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '"':
+ case '\'':
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
- case '8':
- case '9':
- 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 '?':
+ 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 'p':
- case 'q':
case 'r':
- case 's':
case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy233;
- case 'o': goto yy346;
- default: goto yy5;
+ case 'v': goto yy85;
+ case 'x': goto yy187;
+ default: goto yy90;
}
-yy14:
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
+yy90:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy5;
+ case 1: goto yy32;
+ case 2: goto yy36;
+ case 3: goto yy52;
+ case 4: goto yy117;
+ case 5: goto yy126;
+ default: goto yy207;
+ }
+yy91:
+ ++YYCURSOR;
+#line 238 "ext/yylex.re"
+ { RET(cast_sym_MODEQ); }
+#line 767 "<stdout>"
+yy93:
+ ++YYCURSOR;
+#line 281 "ext/yylex.re"
+ { RET(cast_sym_RBRACE); }
+#line 772 "<stdout>"
+yy95:
+ ++YYCURSOR;
+#line 247 "ext/yylex.re"
+ { RET(cast_sym_ANDAND); }
+#line 777 "<stdout>"
+yy97:
+ ++YYCURSOR;
+#line 239 "ext/yylex.re"
+ { RET(cast_sym_ANDEQ); }
+#line 782 "<stdout>"
+yy99:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy100:
switch (yych) {
- case '"': goto yy131;
- case '\'': goto yy232;
+ case '\'': goto yy188;
+ case '\\': goto yy101;
+ default: goto yy99;
+ }
+yy101:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '"':
+ case '\'':
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
- case '8':
- case '9':
- 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 '?':
+ case '\\':
case 'a':
case 'b':
- case 'c':
- case 'd':
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 yy233;
- case 'e': goto yy326;
- default: goto yy5;
+ case 'v': goto yy99;
+ case 'x': goto yy190;
+ default: goto yy90;
}
-yy15:
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
+yy102:
+ ++YYCURSOR;
+#line 236 "ext/yylex.re"
+ { RET(cast_sym_MULEQ); }
+#line 824 "<stdout>"
+yy104:
+ ++YYCURSOR;
+#line 244 "ext/yylex.re"
+ { RET(cast_sym_INC); }
+#line 829 "<stdout>"
+yy106:
+ ++YYCURSOR;
+#line 234 "ext/yylex.re"
+ { RET(cast_sym_ADDEQ); }
+#line 834 "<stdout>"
+yy108:
+ ++YYCURSOR;
+#line 245 "ext/yylex.re"
+ { RET(cast_sym_DEC); }
+#line 839 "<stdout>"
+yy110:
+ ++YYCURSOR;
+#line 235 "ext/yylex.re"
+ { RET(cast_sym_SUBEQ); }
+#line 844 "<stdout>"
+yy112:
+ ++YYCURSOR;
+#line 246 "ext/yylex.re"
+ { RET(cast_sym_ARROW); }
+#line 849 "<stdout>"
+yy114:
+ yych = *++YYCURSOR;
switch (yych) {
- case '"': goto yy131;
- case '\'': goto yy232;
+ case '.': goto yy191;
+ default: goto yy90;
+ }
+yy115:
+ yyaccept = 4;
+ YYMARKER = ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
- case '9':
- case 'A':
- case 'B':
- case 'C':
- case 'D':
+ case '9': goto yy115;
case 'E':
+ case 'e': goto yy127;
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 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 'u':
- case 'v':
- case 'x':
- case 'y':
- case 'z': goto yy233;
- case 'h': goto yy293;
- case 'i': goto yy294;
- case 't': goto yy295;
- case 'w': goto yy296;
- default: goto yy5;
+ case 'l': goto yy193;
+ default: goto yy117;
}
-yy16:
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
+yy117:
+#line 177 "ext/yylex.re"
+ {
+ value = cast_new_FloatLiteral_at(p->lineno);
+ cast_FloatLiteral_set_format(value, ID2SYM(rb_intern("dec")));
+ cast_FloatLiteral_set_val(value, rb_float_new(strtod(p->tok, (char **)&cp)));
+ if (cp < cursor)
+ cast_FloatLiteral_set_suffix(value, rb_str_new(cp, cursor - cp));
+
+ ep = (char *)memchr(p->tok, 'e', cp - p->tok);
+ if (!ep)
+ ep = (char *)memchr(p->tok, 'E', cp - p->tok);
+ if (ep)
+ cast_FloatLiteral_set_exponent(value, LONG2NUM(strtod(ep + 1, NULL)));
+
+ RETVALUE(cast_sym_FCON);
+ }
+#line 897 "<stdout>"
+yy118:
+ ++YYCURSOR;
+#line 98 "ext/yylex.re"
+ { goto comment; }
+#line 902 "<stdout>"
+yy120:
+ ++YYCURSOR;
+#line 99 "ext/yylex.re"
+ { goto comment2; }
+#line 907 "<stdout>"
+yy122:
+ ++YYCURSOR;
+#line 237 "ext/yylex.re"
+ { RET(cast_sym_DIVEQ); }
+#line 912 "<stdout>"
+yy124:
+ yyaccept = 5;
+ YYMARKER = ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
switch (yych) {
- case '"': goto yy131;
- case '\'': goto yy232;
+ case '.': goto yy115;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
- case '9':
- case 'A':
- case 'B':
- case 'C':
- case 'D':
+ case '9': goto yy124;
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 'e': goto yy127;
+ case 'L': goto yy194;
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 'z': goto yy233;
- case 'y': goto yy286;
- default: goto yy5;
+ case 'u': goto yy195;
+ case 'l': goto yy196;
+ default: goto yy126;
}
-yy17:
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
+yy126:
+#line 157 "ext/yylex.re"
+ {
+ value = cast_new_IntLiteral_at(p->lineno);
+ cast_IntLiteral_set_format(value, ID2SYM(rb_intern("oct")));
+ cast_IntLiteral_set_val(value, LONG2NUM(strtol(p->tok, (char **)&cp, 8)));
+ if (cp < cursor) {
+ if (cp[0] == '8' || cp[0] == '9')
+ rb_raise(cast_eParseError, "bad octal digit: %c", cp[0]);
+ cast_IntLiteral_set_suffix(value, rb_str_new(cp, cursor - cp));
+ }
+ RETVALUE(cast_sym_ICON);
+ }
+#line 951 "<stdout>"
+yy127:
+ yych = *++YYCURSOR;
switch (yych) {
- case '"': goto yy131;
- case '\'': goto yy232;
+ case '+':
+ case '-': goto yy197;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
- case '9':
- 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 '9': goto yy198;
+ default: goto yy90;
+ }
+yy128:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'L': goto yy200;
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 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy233;
- case 'n': goto yy274;
- default: goto yy5;
+ case 'u': goto yy201;
+ default: goto yy36;
}
-yy18:
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
+yy129:
+ yych = *++YYCURSOR;
switch (yych) {
- case '"': goto yy131;
- case '\'': goto yy232;
+ case 'L': goto yy202;
+ case 'l': goto yy203;
+ default: goto yy36;
+ }
+yy130:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy204;
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -1158,65 +998,88 @@
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 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy233;
- case 'o': goto yy263;
- default: goto yy5;
+ case 'f': goto yy205;
+ default: goto yy90;
}
-yy19:
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
+yy131:
+ yych = *++YYCURSOR;
switch (yych) {
- case '"': goto yy131;
- case '\'': goto yy232;
+ case 'U':
+ case 'u': goto yy201;
+ case 'l': goto yy200;
+ default: goto yy36;
+ }
+yy132:
+ ++YYCURSOR;
+#line 280 "ext/yylex.re"
+ { RET(cast_sym_RBRACKET); }
+#line 1024 "<stdout>"
+yy134:
+ ++YYCURSOR;
+#line 279 "ext/yylex.re"
+ { RET(cast_sym_LBRACE); }
+#line 1029 "<stdout>"
+yy136:
+ ++YYCURSOR;
+#line 278 "ext/yylex.re"
+ { RET(cast_sym_LBRACKET); }
+#line 1034 "<stdout>"
+yy138:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '=': goto yy208;
+ default: goto yy139;
+ }
+yy139:
+#line 243 "ext/yylex.re"
+ { RET(cast_sym_LSHIFT); }
+#line 1044 "<stdout>"
+yy140:
+ ++YYCURSOR;
+#line 249 "ext/yylex.re"
+ { RET(cast_sym_LEQ); }
+#line 1049 "<stdout>"
+yy142:
+ ++YYCURSOR;
+#line 251 "ext/yylex.re"
+ { RET(cast_sym_EQEQ); }
+#line 1054 "<stdout>"
+yy144:
+ ++YYCURSOR;
+#line 250 "ext/yylex.re"
+ { RET(cast_sym_GEQ); }
+#line 1059 "<stdout>"
+yy146:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '=': goto yy210;
+ default: goto yy147;
+ }
+yy147:
+#line 242 "ext/yylex.re"
+ { RET(cast_sym_RSHIFT); }
+#line 1069 "<stdout>"
+yy148:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\'': goto yy90;
+ default: goto yy100;
+ }
+yy149:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy150:
+ switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -1257,10 +1120,11 @@
case 'c':
case 'd':
case 'e':
case 'f':
case 'g':
+ case 'h':
case 'i':
case 'j':
case 'k':
case 'l':
case 'm':
@@ -1274,20 +1138,75 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- case 'h': goto yy258;
- default: goto yy5;
+ case 'z': goto yy149;
+ default: goto yy52;
}
-yy20:
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
+yy151:
+ ++YYCURSOR;
+#line 240 "ext/yylex.re"
+ { RET(cast_sym_XOREQ); }
+#line 1151 "<stdout>"
+yy153:
+ yych = *++YYCURSOR;
switch (yych) {
- case '"': goto yy131;
- case '\'': goto yy232;
+ case 'o': goto yy212;
+ default: goto yy150;
+ }
+yy154:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'o': goto yy213;
+ default: goto yy150;
+ }
+yy155:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'm': goto yy214;
+ default: goto yy150;
+ }
+yy156:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 't': goto yy215;
+ default: goto yy150;
+ }
+yy157:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'e': goto yy216;
+ default: goto yy150;
+ }
+yy158:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 's': goto yy217;
+ default: goto yy150;
+ }
+yy159:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy218;
+ default: goto yy150;
+ }
+yy160:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'n': goto yy219;
+ default: goto yy150;
+ }
+yy161:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'f': goto yy220;
+ default: goto yy150;
+ }
+yy162:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -1295,15 +1214,18 @@
case '6':
case '7':
case '8':
case '9':
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':
@@ -1338,27 +1260,61 @@
case 'p':
case 'q':
case 'r':
case 's':
case 't':
- case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- case 'B': goto yy235;
- case 'C': goto yy236;
- case 'I': goto yy237;
- default: goto yy5;
+ case 'z': goto yy149;
+ case 'u': goto yy221;
+ default: goto yy163;
}
-yy21:
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
+yy163:
+#line 108 "ext/yylex.re"
+ { RET(cast_sym_DO); }
+#line 1277 "<stdout>"
+yy164:
+ yych = *++YYCURSOR;
switch (yych) {
- case '"': goto yy131;
- case '\'': goto yy232;
+ case 's': goto yy222;
+ default: goto yy150;
+ }
+yy165:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'u': goto yy223;
+ default: goto yy150;
+ }
+yy166:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 't': goto yy224;
+ default: goto yy150;
+ }
+yy167:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'o': goto yy225;
+ default: goto yy150;
+ }
+yy168:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'r': goto yy226;
+ default: goto yy150;
+ }
+yy169:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 't': goto yy228;
+ default: goto yy150;
+ }
+yy170:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -1417,645 +1373,101 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy5;
+ case 'z': goto yy149;
+ default: goto yy171;
}
-yy22:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
+yy171:
+#line 116 "ext/yylex.re"
+ { RET(cast_sym_IF); }
+#line 1385 "<stdout>"
+yy172:
+ yych = *++YYCURSOR;
switch (yych) {
- case '.': goto yy163;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy188;
- case 'E':
- case 'e': goto yy166;
- case 'L': goto yy168;
- case 'U':
- case 'u': goto yy167;
- case 'X':
- case 'x': goto yy187;
- case 'l': goto yy169;
- default: goto yy23;
+ case 'l': goto yy229;
+ case 't': goto yy230;
+ default: goto yy150;
}
-yy23:
-#line 168 "ext/yylex.re"
- {
- value = cast_new_IntLiteral_at(p->lineno);
- cast_IntLiteral_set_format(value, ID2SYM(rb_intern("dec")));
- cast_IntLiteral_set_val(value, LONG2NUM(strtol(p->tok, (char **)&cp, 10)));
- if (cp < cursor)
- cast_IntLiteral_set_suffix(value, rb_str_new(cp, cursor - cp));
- RETVALUE(cast_sym_ICON);
- }
-#line 1461 "<stdout>"
-yy24:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- goto yy165;
-yy25:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
+yy173:
+ yych = *++YYCURSOR;
switch (yych) {
- case '.': goto yy152;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy153;
- default: goto yy26;
+ case 'n': goto yy232;
+ default: goto yy150;
}
-yy26:
-#line 263 "ext/yylex.re"
- { RET(cast_sym_DOT); }
-#line 1486 "<stdout>"
-yy27:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
+yy174:
+ yych = *++YYCURSOR;
switch (yych) {
- case '\'': goto yy28;
- default: goto yy143;
+ case 'g': goto yy233;
+ case 's': goto yy234;
+ case 't': goto yy235;
+ default: goto yy150;
}
-yy28:
-#line 298 "ext/yylex.re"
- {
- rb_raise(cast_eParseError, "%ld: unexpected character: %c (ASCII %d)\n", p->lineno, *p->tok, (int)*p->tok);
- goto std;
- }
-#line 1500 "<stdout>"
-yy29:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
- goto yy132;
-yy30:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '=': goto yy125;
- case '>': goto yy127;
- default: goto yy31;
- }
-yy31:
-#line 273 "ext/yylex.re"
- { RET(cast_sym_GT); }
-#line 1515 "<stdout>"
-yy32:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '%': goto yy115;
- case ':': goto yy117;
- case '<': goto yy121;
- case '=': goto yy119;
- default: goto yy33;
- }
-yy33:
-#line 272 "ext/yylex.re"
- { RET(cast_sym_LT); }
-#line 1528 "<stdout>"
-yy34:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '+': goto yy111;
- case '=': goto yy113;
- default: goto yy35;
- }
-yy35:
-#line 268 "ext/yylex.re"
- { RET(cast_sym_ADD); }
-#line 1539 "<stdout>"
-yy36:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '-': goto yy107;
- case '=': goto yy109;
- case '>': goto yy105;
- default: goto yy37;
- }
-yy37:
-#line 267 "ext/yylex.re"
- { RET(cast_sym_SUB); }
-#line 1551 "<stdout>"
-yy38:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '=': goto yy103;
- default: goto yy39;
- }
-yy39:
-#line 269 "ext/yylex.re"
- { RET(cast_sym_MUL); }
-#line 1561 "<stdout>"
-yy40:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '=': goto yy101;
- case '>': goto yy99;
- default: goto yy41;
- }
-yy41:
-#line 271 "ext/yylex.re"
- { RET(cast_sym_MOD); }
-#line 1572 "<stdout>"
-yy42:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '&': goto yy95;
- case '=': goto yy97;
- default: goto yy43;
- }
-yy43:
-#line 264 "ext/yylex.re"
- { RET(cast_sym_AND); }
-#line 1583 "<stdout>"
-yy44:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '=': goto yy93;
- default: goto yy45;
- }
-yy45:
-#line 274 "ext/yylex.re"
- { RET(cast_sym_XOR); }
-#line 1593 "<stdout>"
-yy46:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '=': goto yy91;
- case '|': goto yy89;
- default: goto yy47;
- }
-yy47:
-#line 275 "ext/yylex.re"
- { RET(cast_sym_OR); }
-#line 1604 "<stdout>"
-yy48:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '=': goto yy87;
- default: goto yy49;
- }
-yy49:
-#line 258 "ext/yylex.re"
- { RET(cast_sym_EQ); }
-#line 1614 "<stdout>"
-yy50:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '=': goto yy85;
- default: goto yy51;
- }
-yy51:
-#line 265 "ext/yylex.re"
- { RET(cast_sym_BANG); }
-#line 1624 "<stdout>"
-yy52:
- ++YYCURSOR;
-#line 253 "ext/yylex.re"
- { RET(cast_sym_SEMICOLON); }
-#line 1629 "<stdout>"
-yy54:
- ++YYCURSOR;
-#line 254 "ext/yylex.re"
- { RET(cast_sym_LBRACE); }
-#line 1634 "<stdout>"
-yy56:
- ++YYCURSOR;
-#line 255 "ext/yylex.re"
- { RET(cast_sym_RBRACE); }
-#line 1639 "<stdout>"
-yy58:
- ++YYCURSOR;
-#line 256 "ext/yylex.re"
- { RET(cast_sym_COMMA); }
-#line 1644 "<stdout>"
-yy60:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '>': goto yy83;
- default: goto yy61;
- }
-yy61:
-#line 257 "ext/yylex.re"
- { RET(cast_sym_COLON); }
-#line 1654 "<stdout>"
-yy62:
- ++YYCURSOR;
-#line 259 "ext/yylex.re"
- { RET(cast_sym_LPAREN); }
-#line 1659 "<stdout>"
-yy64:
- ++YYCURSOR;
-#line 260 "ext/yylex.re"
- { RET(cast_sym_RPAREN); }
-#line 1664 "<stdout>"
-yy66:
- ++YYCURSOR;
-#line 261 "ext/yylex.re"
- { RET(cast_sym_LBRACKET); }
-#line 1669 "<stdout>"
-yy68:
- ++YYCURSOR;
-#line 262 "ext/yylex.re"
- { RET(cast_sym_RBRACKET); }
-#line 1674 "<stdout>"
-yy70:
- ++YYCURSOR;
-#line 266 "ext/yylex.re"
- { RET(cast_sym_NOT); }
-#line 1679 "<stdout>"
-yy72:
- ++YYCURSOR;
-#line 276 "ext/yylex.re"
- { RET(cast_sym_QUESTION); }
-#line 1684 "<stdout>"
-yy74:
- ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy82;
-yy75:
-#line 283 "ext/yylex.re"
- { goto std; }
-#line 1692 "<stdout>"
-yy76:
- ++YYCURSOR;
-#line 286 "ext/yylex.re"
- {
- if(cursor == p->eof) RET(Qnil);
- goto std;
- }
-#line 1700 "<stdout>"
-yy78:
- ++YYCURSOR;
-#line 292 "ext/yylex.re"
- {
- p->pos = cursor; ++p->lineno;
- goto std;
- }
-#line 1708 "<stdout>"
-yy80:
+yy175:
yych = *++YYCURSOR;
- goto yy28;
-yy81:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
-yy82:
switch (yych) {
- case '\t':
- case '\v':
- case '\f':
- case ' ': goto yy81;
- default: goto yy75;
+ case 'o': goto yy236;
+ default: goto yy150;
}
-yy83:
- ++YYCURSOR;
-#line 280 "ext/yylex.re"
- { RET(cast_sym_RBRACKET); }
-#line 1728 "<stdout>"
-yy85:
- ++YYCURSOR;
-#line 252 "ext/yylex.re"
- { RET(cast_sym_NEQ); }
-#line 1733 "<stdout>"
-yy87:
- ++YYCURSOR;
-#line 251 "ext/yylex.re"
- { RET(cast_sym_EQEQ); }
-#line 1738 "<stdout>"
-yy89:
- ++YYCURSOR;
-#line 248 "ext/yylex.re"
- { RET(cast_sym_OROR); }
-#line 1743 "<stdout>"
-yy91:
- ++YYCURSOR;
-#line 241 "ext/yylex.re"
- { RET(cast_sym_OREQ); }
-#line 1748 "<stdout>"
-yy93:
- ++YYCURSOR;
-#line 240 "ext/yylex.re"
- { RET(cast_sym_XOREQ); }
-#line 1753 "<stdout>"
-yy95:
- ++YYCURSOR;
-#line 247 "ext/yylex.re"
- { RET(cast_sym_ANDAND); }
-#line 1758 "<stdout>"
-yy97:
- ++YYCURSOR;
-#line 239 "ext/yylex.re"
- { RET(cast_sym_ANDEQ); }
-#line 1763 "<stdout>"
-yy99:
- ++YYCURSOR;
-#line 281 "ext/yylex.re"
- { RET(cast_sym_RBRACE); }
-#line 1768 "<stdout>"
-yy101:
- ++YYCURSOR;
-#line 238 "ext/yylex.re"
- { RET(cast_sym_MODEQ); }
-#line 1773 "<stdout>"
-yy103:
- ++YYCURSOR;
-#line 236 "ext/yylex.re"
- { RET(cast_sym_MULEQ); }
-#line 1778 "<stdout>"
-yy105:
- ++YYCURSOR;
-#line 246 "ext/yylex.re"
- { RET(cast_sym_ARROW); }
-#line 1783 "<stdout>"
-yy107:
- ++YYCURSOR;
-#line 245 "ext/yylex.re"
- { RET(cast_sym_DEC); }
-#line 1788 "<stdout>"
-yy109:
- ++YYCURSOR;
-#line 235 "ext/yylex.re"
- { RET(cast_sym_SUBEQ); }
-#line 1793 "<stdout>"
-yy111:
- ++YYCURSOR;
-#line 244 "ext/yylex.re"
- { RET(cast_sym_INC); }
-#line 1798 "<stdout>"
-yy113:
- ++YYCURSOR;
-#line 234 "ext/yylex.re"
- { RET(cast_sym_ADDEQ); }
-#line 1803 "<stdout>"
-yy115:
- ++YYCURSOR;
-#line 279 "ext/yylex.re"
- { RET(cast_sym_LBRACE); }
-#line 1808 "<stdout>"
-yy117:
- ++YYCURSOR;
-#line 278 "ext/yylex.re"
- { RET(cast_sym_LBRACKET); }
-#line 1813 "<stdout>"
-yy119:
- ++YYCURSOR;
-#line 249 "ext/yylex.re"
- { RET(cast_sym_LEQ); }
-#line 1818 "<stdout>"
-yy121:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '=': goto yy123;
- default: goto yy122;
- }
-yy122:
-#line 243 "ext/yylex.re"
- { RET(cast_sym_LSHIFT); }
-#line 1828 "<stdout>"
-yy123:
- ++YYCURSOR;
-#line 233 "ext/yylex.re"
- { RET(cast_sym_LSHIFTEQ); }
-#line 1833 "<stdout>"
-yy125:
- ++YYCURSOR;
-#line 250 "ext/yylex.re"
- { RET(cast_sym_GEQ); }
-#line 1838 "<stdout>"
-yy127:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '=': goto yy129;
- default: goto yy128;
- }
-yy128:
-#line 242 "ext/yylex.re"
- { RET(cast_sym_RSHIFT); }
-#line 1848 "<stdout>"
-yy129:
- ++YYCURSOR;
-#line 232 "ext/yylex.re"
- { RET(cast_sym_RSHIFTEQ); }
-#line 1853 "<stdout>"
-yy131:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
-yy132:
+yy176:
+ yych = *++YYCURSOR;
switch (yych) {
- case '"': goto yy135;
- case '\\': goto yy133;
- default: goto yy131;
+ case 'g': goto yy237;
+ case 'z': goto yy238;
+ default: goto yy150;
}
-yy133:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
+yy177:
+ yych = *++YYCURSOR;
switch (yych) {
- case '"':
- case '\'':
- case '?':
- case '\\':
- case 'a':
- case 'b':
- case 'f':
- case 'n':
- case 'r':
- case 't':
- case 'v': goto yy131;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7': goto yy137;
- case 'x': goto yy138;
- default: goto yy134;
+ case 'a': goto yy239;
+ case 'r': goto yy240;
+ default: goto yy150;
}
-yy134:
- YYCURSOR = YYMARKER;
- switch (yyaccept) {
- case 0: goto yy5;
- case 1: goto yy23;
- case 2: goto yy26;
- case 3: goto yy28;
- case 4: goto yy155;
- case 5: goto yy190;
- default: goto yy200;
- }
-yy135:
- ++YYCURSOR;
-#line 219 "ext/yylex.re"
- {
- value = cast_new_StringLiteral_at(p->lineno);
- if (p->tok[0] == '"') {
- cp = p->tok;
- } else {
- cast_StringLiteral_set_prefix(value, rb_str_new(p->tok, 1));
- cp = p->tok + 1;
- }
- cast_StringLiteral_set_val(value, rb_str_new(cp + 1, cursor - cp - 2));
- RETVALUE(cast_sym_SCON);
- }
-#line 1916 "<stdout>"
-yy137:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
+yy178:
+ yych = *++YYCURSOR;
switch (yych) {
- case '"': goto yy135;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7': goto yy141;
- case '\\': goto yy133;
- default: goto yy131;
+ case 'i': goto yy241;
+ default: goto yy150;
}
-yy138:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
+yy179:
+ yych = *++YYCURSOR;
switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- case 'A':
- case 'B':
- case 'C':
- case 'D':
- case 'E':
- case 'F':
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f': goto yy139;
- default: goto yy134;
+ case 'p': goto yy242;
+ default: goto yy150;
}
-yy139:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
+yy180:
+ yych = *++YYCURSOR;
switch (yych) {
- case '"': goto yy135;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- case 'A':
- case 'B':
- case 'C':
- case 'D':
- case 'E':
- case 'F':
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f': goto yy139;
- case '\\': goto yy133;
- default: goto yy131;
+ case 'i': goto yy243;
+ case 's': goto yy244;
+ default: goto yy150;
}
-yy141:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
+yy181:
+ yych = *++YYCURSOR;
switch (yych) {
- case '"': goto yy135;
- case '\\': goto yy133;
- default: goto yy131;
+ case 'i': goto yy245;
+ case 'l': goto yy246;
+ default: goto yy150;
}
-yy142:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
-yy143:
+yy182:
+ yych = *++YYCURSOR;
switch (yych) {
- case '\'': goto yy149;
- case '\\': goto yy144;
- default: goto yy142;
+ case 'i': goto yy247;
+ default: goto yy150;
}
-yy144:
+yy183:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- switch (yych) {
- case '"':
- case '\'':
- case '?':
- case '\\':
- case 'a':
- case 'b':
- case 'f':
- case 'n':
- case 'r':
- case 't':
- case 'v': goto yy142;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7': goto yy145;
- case 'x': goto yy146;
- default: goto yy134;
- }
-yy145:
+#line 241 "ext/yylex.re"
+ { RET(cast_sym_OREQ); }
+#line 1463 "<stdout>"
+yy185:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- switch (yych) {
- case '\'': goto yy149;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7': goto yy151;
- case '\\': goto yy144;
- default: goto yy142;
- }
-yy146:
+#line 248 "ext/yylex.re"
+ { RET(cast_sym_OROR); }
+#line 1468 "<stdout>"
+yy187:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '0':
@@ -2077,46 +1489,15 @@
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
- case 'f': goto yy147;
- default: goto yy134;
+ case 'f': goto yy85;
+ default: goto yy90;
}
-yy147:
+yy188:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- switch (yych) {
- case '\'': goto yy149;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- case 'A':
- case 'B':
- case 'C':
- case 'D':
- case 'E':
- case 'F':
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f': goto yy147;
- case '\\': goto yy144;
- default: goto yy142;
- }
-yy149:
- ++YYCURSOR;
#line 208 "ext/yylex.re"
{
value = cast_new_CharLiteral_at(p->lineno);
if (p->tok[0] == '\'') {
cp = p->tok;
@@ -2125,241 +1506,87 @@
cp = p->tok + 1;
}
cast_CharLiteral_set_val(value, rb_str_new(cp + 1, cursor - cp - 2));
RETVALUE(cast_sym_CCON);
}
-#line 2131 "<stdout>"
-yy151:
+#line 1512 "<stdout>"
+yy190:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
- case '\'': goto yy149;
- case '\\': goto yy144;
- default: goto yy142;
- }
-yy152:
- yych = *++YYCURSOR;
- switch (yych) {
- case '.': goto yy161;
- default: goto yy134;
- }
-yy153:
- yyaccept = 4;
- YYMARKER = ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
- yych = *YYCURSOR;
- switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
- case '9': goto yy153;
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
case 'E':
- case 'e': goto yy156;
case 'F':
- case 'L':
- case 'f':
- case 'l': goto yy157;
- default: goto yy155;
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy99;
+ default: goto yy90;
}
-yy155:
-#line 177 "ext/yylex.re"
- {
- value = cast_new_FloatLiteral_at(p->lineno);
- cast_FloatLiteral_set_format(value, ID2SYM(rb_intern("dec")));
- cast_FloatLiteral_set_val(value, rb_float_new(strtod(p->tok, (char **)&cp)));
- if (cp < cursor)
- cast_FloatLiteral_set_suffix(value, rb_str_new(cp, cursor - cp));
-
- ep = (char *)memchr(p->tok, 'e', cp - p->tok);
- if (!ep)
- ep = (char *)memchr(p->tok, 'E', cp - p->tok);
- if (ep)
- cast_FloatLiteral_set_exponent(value, LONG2NUM(strtod(ep + 1, NULL)));
-
- RETVALUE(cast_sym_FCON);
- }
-#line 2188 "<stdout>"
-yy156:
- yych = *++YYCURSOR;
- switch (yych) {
- case '+':
- case '-': goto yy158;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy159;
- default: goto yy134;
- }
-yy157:
- yych = *++YYCURSOR;
- goto yy155;
-yy158:
- yych = *++YYCURSOR;
- switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy159;
- default: goto yy134;
- }
-yy159:
+yy191:
++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy159;
- case 'F':
- case 'L':
- case 'f':
- case 'l': goto yy157;
- default: goto yy155;
- }
-yy161:
- ++YYCURSOR;
#line 231 "ext/yylex.re"
{ RET(cast_sym_ELLIPSIS); }
-#line 2249 "<stdout>"
-yy163:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- switch (yych) {
- case 'E':
- case 'e': goto yy179;
- default: goto yy178;
- }
-yy164:
- yyaccept = 1;
- YYMARKER = ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
- yych = *YYCURSOR;
-yy165:
- switch (yych) {
- case '.': goto yy163;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy164;
- case 'E':
- case 'e': goto yy166;
- case 'L': goto yy168;
- case 'U':
- case 'u': goto yy167;
- case 'l': goto yy169;
- default: goto yy23;
- }
-yy166:
+#line 1546 "<stdout>"
+yy193:
+ ++YYCURSOR;
+ goto yy117;
+yy194:
yych = *++YYCURSOR;
switch (yych) {
- case '+':
- case '-': goto yy174;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy175;
- default: goto yy134;
- }
-yy167:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'L': goto yy172;
- case 'l': goto yy173;
- default: goto yy23;
- }
-yy168:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'L': goto yy170;
+ case 'L': goto yy248;
case 'U':
- case 'u': goto yy171;
- default: goto yy23;
+ case 'u': goto yy249;
+ default: goto yy126;
}
-yy169:
+yy195:
yych = *++YYCURSOR;
switch (yych) {
- case 'U':
- case 'u': goto yy171;
- case 'l': goto yy170;
- default: goto yy23;
+ case 'L': goto yy250;
+ case 'l': goto yy251;
+ default: goto yy126;
}
-yy170:
+yy196:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
- case 'u': goto yy171;
- default: goto yy23;
+ case 'u': goto yy249;
+ case 'l': goto yy248;
+ default: goto yy126;
}
-yy171:
+yy197:
yych = *++YYCURSOR;
- goto yy23;
-yy172:
- yych = *++YYCURSOR;
switch (yych) {
- case 'L': goto yy171;
- default: goto yy23;
- }
-yy173:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'l': goto yy171;
- default: goto yy23;
- }
-yy174:
- yych = *++YYCURSOR;
- switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
- case '9': goto yy175;
- default: goto yy134;
+ case '9': goto yy198;
+ default: goto yy90;
}
-yy175:
+yy198:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '0':
@@ -2369,267 +1596,53 @@
case '4':
case '5':
case '6':
case '7':
case '8':
- case '9': goto yy175;
+ case '9': goto yy198;
case 'F':
case 'L':
case 'f':
- case 'l': goto yy157;
- default: goto yy155;
- }
-yy177:
- yyaccept = 4;
- YYMARKER = ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
- yych = *YYCURSOR;
-yy178:
- switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy177;
- case 'E':
- case 'e': goto yy183;
- case 'F':
- case 'L':
- case 'f':
- case 'l': goto yy157;
- default: goto yy155;
- }
-yy179:
- yych = *++YYCURSOR;
- switch (yych) {
- case '+':
- case '-': goto yy180;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy181;
- default: goto yy134;
- }
-yy180:
- yych = *++YYCURSOR;
- switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy181;
- default: goto yy134;
- }
-yy181:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy181;
- case 'F':
- case 'L':
- case 'f':
- case 'l': goto yy157;
- default: goto yy155;
- }
-yy183:
- yych = *++YYCURSOR;
- switch (yych) {
- case '+':
- case '-': goto yy184;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy185;
- default: goto yy134;
- }
-yy184:
- yych = *++YYCURSOR;
- switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy185;
- default: goto yy134;
- }
-yy185:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy185;
- case 'F':
- case 'L':
- case 'f':
- case 'l': goto yy157;
- default: goto yy155;
- }
-yy187:
- yych = *++YYCURSOR;
- switch (yych) {
- case '.': goto yy201;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- case 'A':
- case 'B':
- case 'C':
- case 'D':
- case 'E':
- case 'F':
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f': goto yy198;
- default: goto yy134;
- }
-yy188:
- yyaccept = 5;
- YYMARKER = ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
- yych = *YYCURSOR;
- switch (yych) {
- case '.': goto yy163;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy188;
- case 'E':
- case 'e': goto yy166;
- case 'L': goto yy192;
- case 'U':
- case 'u': goto yy191;
case 'l': goto yy193;
- default: goto yy190;
+ default: goto yy117;
}
-yy190:
-#line 157 "ext/yylex.re"
- {
- value = cast_new_IntLiteral_at(p->lineno);
- cast_IntLiteral_set_format(value, ID2SYM(rb_intern("oct")));
- cast_IntLiteral_set_val(value, LONG2NUM(strtol(p->tok, (char **)&cp, 8)));
- if (cp < cursor) {
- if (cp[0] == '8' || cp[0] == '9')
- rb_raise(cast_eParseError, "bad octal digit: %c", cp[0]);
- cast_IntLiteral_set_suffix(value, rb_str_new(cp, cursor - cp));
- }
- RETVALUE(cast_sym_ICON);
- }
-#line 2579 "<stdout>"
-yy191:
+yy200:
yych = *++YYCURSOR;
switch (yych) {
- case 'L': goto yy196;
- case 'l': goto yy197;
- default: goto yy190;
- }
-yy192:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'L': goto yy194;
case 'U':
- case 'u': goto yy195;
- default: goto yy190;
+ case 'u': goto yy201;
+ default: goto yy36;
}
-yy193:
+yy201:
+ ++YYCURSOR;
+ goto yy36;
+yy202:
yych = *++YYCURSOR;
switch (yych) {
- case 'U':
- case 'u': goto yy195;
- case 'l': goto yy194;
- default: goto yy190;
+ case 'L': goto yy201;
+ default: goto yy36;
}
-yy194:
+yy203:
yych = *++YYCURSOR;
switch (yych) {
- case 'U':
- case 'u': goto yy195;
- default: goto yy190;
+ case 'l': goto yy201;
+ default: goto yy36;
}
-yy195:
+yy204:
yych = *++YYCURSOR;
- goto yy190;
-yy196:
- yych = *++YYCURSOR;
switch (yych) {
- case 'L': goto yy195;
- default: goto yy190;
+ case 'P':
+ case 'p': goto yy90;
+ default: goto yy253;
}
-yy197:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'l': goto yy195;
- default: goto yy190;
- }
-yy198:
+yy205:
yyaccept = 6;
YYMARKER = ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
switch (yych) {
- case '.': goto yy210;
+ case '.': goto yy252;
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -2647,398 +1660,212 @@
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
- case 'f': goto yy198;
- case 'L': goto yy213;
+ case 'f': goto yy205;
+ case 'L': goto yy254;
case 'P':
- case 'p': goto yy211;
+ case 'p': goto yy255;
case 'U':
- case 'u': goto yy212;
- case 'l': goto yy214;
- default: goto yy200;
+ case 'u': goto yy256;
+ case 'l': goto yy257;
+ default: goto yy207;
}
-yy200:
+yy207:
#line 149 "ext/yylex.re"
{
value = cast_new_IntLiteral_at(p->lineno);
cast_IntLiteral_set_format(value, ID2SYM(rb_intern("hex")));
cast_IntLiteral_set_val(value, LONG2NUM(strtol(p->tok, (char **)&cp, 16)));
if (cp < cursor)
cast_IntLiteral_set_suffix(value, rb_str_new(cp, cursor - cp));
RETVALUE(cast_sym_ICON);
}
-#line 2672 "<stdout>"
-yy201:
+#line 1685 "<stdout>"
+yy208:
+ ++YYCURSOR;
+#line 233 "ext/yylex.re"
+ { RET(cast_sym_LSHIFTEQ); }
+#line 1690 "<stdout>"
+yy210:
+ ++YYCURSOR;
+#line 232 "ext/yylex.re"
+ { RET(cast_sym_RSHIFTEQ); }
+#line 1695 "<stdout>"
+yy212:
yych = *++YYCURSOR;
switch (yych) {
- case 'P':
- case 'p': goto yy134;
- default: goto yy203;
+ case 'o': goto yy258;
+ default: goto yy150;
}
-yy202:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
- yych = *YYCURSOR;
-yy203:
+yy213:
+ yych = *++YYCURSOR;
switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- case 'A':
- case 'B':
- case 'C':
- case 'D':
- case 'E':
- case 'F':
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f': goto yy202;
- case 'P':
- case 'p': goto yy204;
- default: goto yy134;
+ case 'm': goto yy259;
+ default: goto yy150;
}
-yy204:
+yy214:
yych = *++YYCURSOR;
switch (yych) {
- case '+':
- case '-': goto yy205;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy206;
- default: goto yy134;
+ case 'a': goto yy260;
+ default: goto yy150;
}
-yy205:
+yy215:
yych = *++YYCURSOR;
switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy206;
- default: goto yy134;
+ case 'o': goto yy261;
+ default: goto yy150;
}
-yy206:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
+yy216:
+ yych = *++YYCURSOR;
switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy206;
- case 'F':
- case 'L':
- case 'f':
- case 'l': goto yy209;
- default: goto yy208;
+ case 'a': goto yy263;
+ default: goto yy150;
}
-yy208:
-#line 192 "ext/yylex.re"
- {
- value = cast_new_FloatLiteral_at(p->lineno);
- cast_FloatLiteral_set_format(value, ID2SYM(rb_intern("hex")));
- cast_FloatLiteral_set_val(value, rb_float_new(strtod(p->tok, (char **)&cp)));
- if (cp < cursor)
- cast_FloatLiteral_set_suffix(value, rb_str_new(cp, cursor - cp));
-
- ep = (char *)memchr(p->tok, 'p', cp - p->tok);
- if (!ep)
- ep = (char *)memchr(p->tok, 'P', cp - p->tok);
- if (ep)
- cast_FloatLiteral_set_exponent(value, LONG2NUM(strtod(ep + 1, NULL)));
-
- RETVALUE(cast_sym_FCON);
- }
-#line 2782 "<stdout>"
-yy209:
+yy217:
yych = *++YYCURSOR;
- goto yy208;
-yy210:
- yych = *++YYCURSOR;
switch (yych) {
- case 'P':
- case 'p': goto yy224;
- default: goto yy223;
+ case 'e': goto yy264;
+ default: goto yy150;
}
-yy211:
+yy218:
yych = *++YYCURSOR;
switch (yych) {
- case '+':
- case '-': goto yy219;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy220;
- default: goto yy134;
+ case 'r': goto yy266;
+ default: goto yy150;
}
-yy212:
+yy219:
yych = *++YYCURSOR;
switch (yych) {
- case 'L': goto yy217;
- case 'l': goto yy218;
- default: goto yy200;
+ case 's': goto yy268;
+ case 't': goto yy269;
+ default: goto yy150;
}
-yy213:
+yy220:
yych = *++YYCURSOR;
switch (yych) {
- case 'L': goto yy215;
- case 'U':
- case 'u': goto yy216;
- default: goto yy200;
+ case 'a': goto yy270;
+ default: goto yy150;
}
-yy214:
+yy221:
yych = *++YYCURSOR;
switch (yych) {
- case 'U':
- case 'u': goto yy216;
- case 'l': goto yy215;
- default: goto yy200;
+ case 'b': goto yy271;
+ default: goto yy150;
}
-yy215:
+yy222:
yych = *++YYCURSOR;
switch (yych) {
- case 'U':
- case 'u': goto yy216;
- default: goto yy200;
+ case 'e': goto yy272;
+ default: goto yy150;
}
-yy216:
+yy223:
yych = *++YYCURSOR;
- goto yy200;
-yy217:
- yych = *++YYCURSOR;
switch (yych) {
- case 'L': goto yy216;
- default: goto yy200;
+ case 'm': goto yy274;
+ default: goto yy150;
}
-yy218:
+yy224:
yych = *++YYCURSOR;
switch (yych) {
- case 'l': goto yy216;
- default: goto yy200;
+ case 'e': goto yy276;
+ default: goto yy150;
}
-yy219:
+yy225:
yych = *++YYCURSOR;
switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy220;
- default: goto yy134;
+ case 'a': goto yy277;
+ default: goto yy150;
}
-yy220:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
+yy226:
+ yych = *++YYCURSOR;
switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
- case '9': goto yy220;
- case 'F':
- case 'L':
- case 'f':
- case 'l': goto yy209;
- default: goto yy208;
- }
-yy222:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
- yych = *YYCURSOR;
-yy223:
- switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
case '9':
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': goto yy222;
- case 'P':
- case 'p': goto yy228;
- default: goto yy134;
- }
-yy224:
- yych = *++YYCURSOR;
- switch (yych) {
- case '+':
- case '-': goto yy225;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy226;
- default: goto yy134;
- }
-yy225:
- yych = *++YYCURSOR;
- switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy226;
- default: goto yy134;
- }
-yy226:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy226;
- case 'F':
- case 'L':
case 'f':
- case 'l': goto yy209;
- default: goto yy208;
+ 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 yy149;
+ default: goto yy227;
}
+yy227:
+#line 114 "ext/yylex.re"
+ { RET(cast_sym_FOR); }
+#line 1852 "<stdout>"
yy228:
yych = *++YYCURSOR;
switch (yych) {
- case '+':
- case '-': goto yy229;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy230;
- default: goto yy134;
+ case 'o': goto yy278;
+ default: goto yy150;
}
yy229:
yych = *++YYCURSOR;
switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy230;
- default: goto yy134;
+ case 'i': goto yy280;
+ default: goto yy150;
}
yy230:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- switch (yych) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy230;
- case 'F':
- case 'L':
- case 'f':
- case 'l': goto yy209;
- default: goto yy208;
- }
-yy232:
yych = *++YYCURSOR;
switch (yych) {
- case '\'': goto yy134;
- default: goto yy143;
- }
-yy233:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
-yy234:
- switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -3097,76 +1924,141 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy5;
+ case 'z': goto yy149;
+ default: goto yy231;
}
+yy231:
+#line 117 "ext/yylex.re"
+ { RET(cast_sym_INT); }
+#line 1936 "<stdout>"
+yy232:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'g': goto yy281;
+ default: goto yy150;
+ }
+yy233:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'i': goto yy283;
+ default: goto yy150;
+ }
+yy234:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 't': goto yy284;
+ default: goto yy150;
+ }
yy235:
yych = *++YYCURSOR;
switch (yych) {
- case 'o': goto yy254;
- default: goto yy234;
+ case 'u': goto yy285;
+ default: goto yy150;
}
yy236:
yych = *++YYCURSOR;
switch (yych) {
- case 'o': goto yy247;
- default: goto yy234;
+ case 'r': goto yy286;
+ default: goto yy150;
}
yy237:
yych = *++YYCURSOR;
switch (yych) {
- case 'm': goto yy238;
- default: goto yy234;
+ case 'n': goto yy287;
+ default: goto yy150;
}
yy238:
yych = *++YYCURSOR;
switch (yych) {
- case 'a': goto yy239;
- default: goto yy234;
+ case 'e': goto yy288;
+ default: goto yy150;
}
yy239:
yych = *++YYCURSOR;
switch (yych) {
- case 'g': goto yy240;
- default: goto yy234;
+ case 't': goto yy289;
+ default: goto yy150;
}
yy240:
yych = *++YYCURSOR;
switch (yych) {
- case 'i': goto yy241;
- default: goto yy234;
+ case 'u': goto yy290;
+ default: goto yy150;
}
yy241:
yych = *++YYCURSOR;
switch (yych) {
- case 'n': goto yy242;
- default: goto yy234;
+ case 't': goto yy291;
+ default: goto yy150;
}
yy242:
yych = *++YYCURSOR;
switch (yych) {
- case 'a': goto yy243;
- default: goto yy234;
+ case 'e': goto yy292;
+ default: goto yy150;
}
yy243:
yych = *++YYCURSOR;
switch (yych) {
- case 'r': goto yy244;
- default: goto yy234;
+ case 'o': goto yy293;
+ default: goto yy150;
}
yy244:
yych = *++YYCURSOR;
switch (yych) {
- case 'y': goto yy245;
- default: goto yy234;
+ case 'i': goto yy294;
+ default: goto yy150;
}
yy245:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy295;
+ default: goto yy150;
+ }
+yy246:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy297;
+ default: goto yy150;
+ }
+yy247:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'l': goto yy298;
+ default: goto yy150;
+ }
+yy248:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'U':
+ case 'u': goto yy249;
+ default: goto yy126;
+ }
+yy249:
++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ goto yy126;
+yy250:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'L': goto yy249;
+ default: goto yy126;
+ }
+yy251:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'l': goto yy249;
+ default: goto yy126;
+ }
+yy252:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+yy253:
+ switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -3179,96 +2071,81 @@
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 yy233;
- default: goto yy246;
+ case 'f': goto yy252;
+ case 'P':
+ case 'p': goto yy255;
+ default: goto yy90;
}
-yy246:
-#line 137 "ext/yylex.re"
- { RET(cast_sym_IMAGINARY); }
-#line 3237 "<stdout>"
-yy247:
+yy254:
yych = *++YYCURSOR;
switch (yych) {
- case 'm': goto yy248;
- default: goto yy234;
+ case 'L': goto yy299;
+ case 'U':
+ case 'u': goto yy300;
+ default: goto yy207;
}
-yy248:
+yy255:
yych = *++YYCURSOR;
switch (yych) {
- case 'p': goto yy249;
- default: goto yy234;
+ case '+':
+ case '-': goto yy301;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy302;
+ default: goto yy90;
}
-yy249:
+yy256:
yych = *++YYCURSOR;
switch (yych) {
- case 'l': goto yy250;
- default: goto yy234;
+ case 'L': goto yy305;
+ case 'l': goto yy306;
+ default: goto yy207;
}
-yy250:
+yy257:
yych = *++YYCURSOR;
switch (yych) {
- case 'e': goto yy251;
- default: goto yy234;
+ case 'U':
+ case 'u': goto yy300;
+ case 'l': goto yy299;
+ default: goto yy207;
}
-yy251:
+yy258:
yych = *++YYCURSOR;
switch (yych) {
- case 'x': goto yy252;
- default: goto yy234;
+ case 'l': goto yy307;
+ default: goto yy150;
}
-yy252:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy259:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'p': goto yy309;
+ default: goto yy150;
+ }
+yy260:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'g': goto yy310;
+ default: goto yy150;
+ }
+yy261:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -3327,32 +2204,26 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy253;
+ case 'z': goto yy149;
+ default: goto yy262;
}
-yy253:
-#line 136 "ext/yylex.re"
- { RET(cast_sym_COMPLEX); }
-#line 3339 "<stdout>"
-yy254:
+yy262:
+#line 101 "ext/yylex.re"
+ { RET(cast_sym_AUTO); }
+#line 2216 "<stdout>"
+yy263:
yych = *++YYCURSOR;
switch (yych) {
- case 'o': goto yy255;
- default: goto yy234;
+ case 'k': goto yy311;
+ default: goto yy150;
}
-yy255:
+yy264:
yych = *++YYCURSOR;
switch (yych) {
- case 'l': goto yy256;
- default: goto yy234;
- }
-yy256:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -3411,38 +2282,20 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy257;
+ case 'z': goto yy149;
+ default: goto yy265;
}
-yy257:
-#line 135 "ext/yylex.re"
- { RET(cast_sym_BOOL); }
-#line 3423 "<stdout>"
-yy258:
+yy265:
+#line 103 "ext/yylex.re"
+ { RET(cast_sym_CASE); }
+#line 2294 "<stdout>"
+yy266:
yych = *++YYCURSOR;
switch (yych) {
- case 'i': goto yy259;
- default: goto yy234;
- }
-yy259:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'l': goto yy260;
- default: goto yy234;
- }
-yy260:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'e': goto yy261;
- default: goto yy234;
- }
-yy261:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -3501,63 +2354,44 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy262;
+ case 'z': goto yy149;
+ default: goto yy267;
}
-yy262:
-#line 132 "ext/yylex.re"
- { RET(cast_sym_WHILE); }
-#line 3513 "<stdout>"
-yy263:
+yy267:
+#line 104 "ext/yylex.re"
+ { RET(cast_sym_CHAR); }
+#line 2366 "<stdout>"
+yy268:
yych = *++YYCURSOR;
switch (yych) {
- case 'i': goto yy264;
- case 'l': goto yy265;
- default: goto yy234;
+ case 't': goto yy313;
+ default: goto yy150;
}
-yy264:
+yy269:
yych = *++YYCURSOR;
switch (yych) {
- case 'd': goto yy272;
- default: goto yy234;
+ case 'i': goto yy315;
+ default: goto yy150;
}
-yy265:
+yy270:
yych = *++YYCURSOR;
switch (yych) {
- case 'a': goto yy266;
- default: goto yy234;
+ case 'u': goto yy316;
+ default: goto yy150;
}
-yy266:
+yy271:
yych = *++YYCURSOR;
switch (yych) {
- case 't': goto yy267;
- default: goto yy234;
+ case 'l': goto yy317;
+ default: goto yy150;
}
-yy267:
+yy272:
yych = *++YYCURSOR;
switch (yych) {
- case 'i': goto yy268;
- default: goto yy234;
- }
-yy268:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'l': goto yy269;
- default: goto yy234;
- }
-yy269:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'e': goto yy270;
- default: goto yy234;
- }
-yy270:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -3616,20 +2450,20 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy271;
+ case 'z': goto yy149;
+ default: goto yy273;
}
-yy271:
-#line 131 "ext/yylex.re"
- { RET(cast_sym_VOLATILE); }
-#line 3628 "<stdout>"
-yy272:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy273:
+#line 110 "ext/yylex.re"
+ { RET(cast_sym_ELSE); }
+#line 2462 "<stdout>"
+yy274:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -3688,63 +2522,32 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy273;
+ case 'z': goto yy149;
+ default: goto yy275;
}
-yy273:
-#line 130 "ext/yylex.re"
- { RET(cast_sym_VOID); }
-#line 3700 "<stdout>"
-yy274:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'i': goto yy275;
- case 's': goto yy276;
- default: goto yy234;
- }
yy275:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'o': goto yy283;
- default: goto yy234;
- }
+#line 111 "ext/yylex.re"
+ { RET(cast_sym_ENUM); }
+#line 2534 "<stdout>"
yy276:
yych = *++YYCURSOR;
switch (yych) {
- case 'i': goto yy277;
- default: goto yy234;
+ case 'r': goto yy318;
+ default: goto yy150;
}
yy277:
yych = *++YYCURSOR;
switch (yych) {
- case 'g': goto yy278;
- default: goto yy234;
+ case 't': goto yy319;
+ default: goto yy150;
}
yy278:
yych = *++YYCURSOR;
switch (yych) {
- case 'n': goto yy279;
- default: goto yy234;
- }
-yy279:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'e': goto yy280;
- default: goto yy234;
- }
-yy280:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'd': goto yy281;
- default: goto yy234;
- }
-yy281:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -3803,26 +2606,26 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy282;
+ case 'z': goto yy149;
+ default: goto yy279;
}
-yy282:
-#line 129 "ext/yylex.re"
- { RET(cast_sym_UNSIGNED); }
-#line 3815 "<stdout>"
-yy283:
+yy279:
+#line 115 "ext/yylex.re"
+ { RET(cast_sym_GOTO); }
+#line 2618 "<stdout>"
+yy280:
yych = *++YYCURSOR;
switch (yych) {
- case 'n': goto yy284;
- default: goto yy234;
+ case 'n': goto yy321;
+ default: goto yy150;
}
-yy284:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy281:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -3881,50 +2684,92 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy285;
+ case 'z': goto yy149;
+ default: goto yy282;
}
+yy282:
+#line 118 "ext/yylex.re"
+ { RET(cast_sym_LONG); }
+#line 2696 "<stdout>"
+yy283:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 's': goto yy322;
+ default: goto yy150;
+ }
+yy284:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'r': goto yy323;
+ default: goto yy150;
+ }
yy285:
-#line 128 "ext/yylex.re"
- { RET(cast_sym_UNION); }
-#line 3893 "<stdout>"
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'r': goto yy324;
+ default: goto yy150;
+ }
yy286:
yych = *++YYCURSOR;
switch (yych) {
- case 'p': goto yy287;
- default: goto yy234;
+ case 't': goto yy325;
+ default: goto yy150;
}
yy287:
yych = *++YYCURSOR;
switch (yych) {
- case 'e': goto yy288;
- default: goto yy234;
+ case 'e': goto yy327;
+ default: goto yy150;
}
yy288:
yych = *++YYCURSOR;
switch (yych) {
- case 'd': goto yy289;
- default: goto yy234;
+ case 'o': goto yy328;
+ default: goto yy150;
}
yy289:
yych = *++YYCURSOR;
switch (yych) {
- case 'e': goto yy290;
- default: goto yy234;
+ case 'i': goto yy329;
+ default: goto yy150;
}
yy290:
yych = *++YYCURSOR;
switch (yych) {
- case 'f': goto yy291;
- default: goto yy234;
+ case 'c': goto yy330;
+ default: goto yy150;
}
yy291:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy331;
+ default: goto yy150;
+ }
+yy292:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy332;
+ default: goto yy150;
+ }
+yy293:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'n': goto yy333;
+ default: goto yy150;
+ }
+yy294:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'g': goto yy335;
+ default: goto yy150;
+ }
+yy295:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -3983,160 +2828,108 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy292;
+ case 'z': goto yy149;
+ default: goto yy296;
}
-yy292:
-#line 127 "ext/yylex.re"
- { RET(cast_sym_TYPEDEF); }
-#line 3995 "<stdout>"
-yy293:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'o': goto yy322;
- default: goto yy234;
- }
-yy294:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'g': goto yy312;
- case 'z': goto yy313;
- default: goto yy234;
- }
-yy295:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'a': goto yy302;
- case 'r': goto yy303;
- default: goto yy234;
- }
yy296:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'i': goto yy297;
- default: goto yy234;
- }
+#line 130 "ext/yylex.re"
+ { RET(cast_sym_VOID); }
+#line 2840 "<stdout>"
yy297:
yych = *++YYCURSOR;
switch (yych) {
- case 't': goto yy298;
- default: goto yy234;
+ case 't': goto yy336;
+ default: goto yy150;
}
yy298:
yych = *++YYCURSOR;
switch (yych) {
- case 'c': goto yy299;
- default: goto yy234;
+ case 'e': goto yy337;
+ default: goto yy150;
}
yy299:
yych = *++YYCURSOR;
switch (yych) {
- case 'h': goto yy300;
- default: goto yy234;
+ case 'U':
+ case 'u': goto yy300;
+ default: goto yy207;
}
yy300:
++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ goto yy207;
+yy301:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
- case '9':
- case 'A':
- case 'B':
- case 'C':
- case 'D':
- case 'E':
+ case '9': goto yy302;
+ default: goto yy90;
+ }
+yy302:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy302;
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 yy233;
- default: goto yy301;
+ case 'l': goto yy339;
+ default: goto yy304;
}
-yy301:
-#line 126 "ext/yylex.re"
- { RET(cast_sym_SWITCH); }
-#line 4111 "<stdout>"
-yy302:
+yy304:
+#line 192 "ext/yylex.re"
+ {
+ value = cast_new_FloatLiteral_at(p->lineno);
+ cast_FloatLiteral_set_format(value, ID2SYM(rb_intern("hex")));
+ cast_FloatLiteral_set_val(value, rb_float_new(strtod(p->tok, (char **)&cp)));
+ if (cp < cursor)
+ cast_FloatLiteral_set_suffix(value, rb_str_new(cp, cursor - cp));
+
+ ep = (char *)memchr(p->tok, 'p', cp - p->tok);
+ if (!ep)
+ ep = (char *)memchr(p->tok, 'P', cp - p->tok);
+ if (ep)
+ cast_FloatLiteral_set_exponent(value, LONG2NUM(strtod(ep + 1, NULL)));
+
+ RETVALUE(cast_sym_FCON);
+ }
+#line 2916 "<stdout>"
+yy305:
yych = *++YYCURSOR;
switch (yych) {
- case 't': goto yy308;
- default: goto yy234;
+ case 'L': goto yy300;
+ default: goto yy207;
}
-yy303:
+yy306:
yych = *++YYCURSOR;
switch (yych) {
- case 'u': goto yy304;
- default: goto yy234;
+ case 'l': goto yy300;
+ default: goto yy207;
}
-yy304:
+yy307:
yych = *++YYCURSOR;
switch (yych) {
- case 'c': goto yy305;
- default: goto yy234;
- }
-yy305:
- yych = *++YYCURSOR;
- switch (yych) {
- case 't': goto yy306;
- default: goto yy234;
- }
-yy306:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -4195,32 +2988,32 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy307;
+ case 'z': goto yy149;
+ default: goto yy308;
}
-yy307:
-#line 125 "ext/yylex.re"
- { RET(cast_sym_STRUCT); }
-#line 4207 "<stdout>"
yy308:
+#line 135 "ext/yylex.re"
+ { RET(cast_sym_BOOL); }
+#line 3000 "<stdout>"
+yy309:
yych = *++YYCURSOR;
switch (yych) {
- case 'i': goto yy309;
- default: goto yy234;
+ case 'l': goto yy340;
+ default: goto yy150;
}
-yy309:
+yy310:
yych = *++YYCURSOR;
switch (yych) {
- case 'c': goto yy310;
- default: goto yy234;
+ case 'i': goto yy341;
+ default: goto yy150;
}
-yy310:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy311:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -4279,44 +3072,20 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy311;
+ case 'z': goto yy149;
+ default: goto yy312;
}
-yy311:
-#line 124 "ext/yylex.re"
- { RET(cast_sym_STATIC); }
-#line 4291 "<stdout>"
yy312:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'n': goto yy318;
- default: goto yy234;
- }
+#line 102 "ext/yylex.re"
+ { RET(cast_sym_BREAK); }
+#line 3084 "<stdout>"
yy313:
yych = *++YYCURSOR;
switch (yych) {
- case 'e': goto yy314;
- default: goto yy234;
- }
-yy314:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'o': goto yy315;
- default: goto yy234;
- }
-yy315:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'f': goto yy316;
- default: goto yy234;
- }
-yy316:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -4375,32 +3144,44 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy317;
+ case 'z': goto yy149;
+ default: goto yy314;
}
+yy314:
+#line 105 "ext/yylex.re"
+ { RET(cast_sym_CONST); }
+#line 3156 "<stdout>"
+yy315:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'n': goto yy342;
+ default: goto yy150;
+ }
+yy316:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'l': goto yy343;
+ default: goto yy150;
+ }
yy317:
-#line 123 "ext/yylex.re"
- { RET(cast_sym_SIZEOF); }
-#line 4387 "<stdout>"
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'e': goto yy344;
+ default: goto yy150;
+ }
yy318:
yych = *++YYCURSOR;
switch (yych) {
- case 'e': goto yy319;
- default: goto yy234;
+ case 'n': goto yy346;
+ default: goto yy150;
}
yy319:
yych = *++YYCURSOR;
switch (yych) {
- case 'd': goto yy320;
- default: goto yy234;
- }
-yy320:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -4459,32 +3240,44 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy321;
+ case 'z': goto yy149;
+ default: goto yy320;
}
+yy320:
+#line 113 "ext/yylex.re"
+ { RET(cast_sym_FLOAT); }
+#line 3252 "<stdout>"
yy321:
-#line 122 "ext/yylex.re"
- { RET(cast_sym_SIGNED); }
-#line 4471 "<stdout>"
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'e': goto yy348;
+ default: goto yy150;
+ }
yy322:
yych = *++YYCURSOR;
switch (yych) {
- case 'r': goto yy323;
- default: goto yy234;
+ case 't': goto yy350;
+ default: goto yy150;
}
yy323:
yych = *++YYCURSOR;
switch (yych) {
- case 't': goto yy324;
- default: goto yy234;
+ case 'i': goto yy351;
+ default: goto yy150;
}
yy324:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'n': goto yy352;
+ default: goto yy150;
+ }
+yy325:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -4543,70 +3336,56 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy325;
+ case 'z': goto yy149;
+ default: goto yy326;
}
-yy325:
+yy326:
#line 121 "ext/yylex.re"
{ RET(cast_sym_SHORT); }
-#line 4555 "<stdout>"
-yy326:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'g': goto yy327;
- case 's': goto yy329;
- case 't': goto yy328;
- default: goto yy234;
- }
+#line 3348 "<stdout>"
yy327:
yych = *++YYCURSOR;
switch (yych) {
- case 'i': goto yy340;
- default: goto yy234;
+ case 'd': goto yy354;
+ default: goto yy150;
}
yy328:
yych = *++YYCURSOR;
switch (yych) {
- case 'u': goto yy336;
- default: goto yy234;
+ case 'f': goto yy356;
+ default: goto yy150;
}
yy329:
yych = *++YYCURSOR;
switch (yych) {
- case 't': goto yy330;
- default: goto yy234;
+ case 'c': goto yy358;
+ default: goto yy150;
}
yy330:
yych = *++YYCURSOR;
switch (yych) {
- case 'r': goto yy331;
- default: goto yy234;
+ case 't': goto yy360;
+ default: goto yy150;
}
yy331:
yych = *++YYCURSOR;
switch (yych) {
- case 'i': goto yy332;
- default: goto yy234;
+ case 'h': goto yy362;
+ default: goto yy150;
}
yy332:
yych = *++YYCURSOR;
switch (yych) {
- case 'c': goto yy333;
- default: goto yy234;
+ case 'e': goto yy364;
+ default: goto yy150;
}
yy333:
yych = *++YYCURSOR;
switch (yych) {
- case 't': goto yy334;
- default: goto yy234;
- }
-yy334:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -4665,32 +3444,32 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy335;
+ case 'z': goto yy149;
+ default: goto yy334;
}
+yy334:
+#line 128 "ext/yylex.re"
+ { RET(cast_sym_UNION); }
+#line 3456 "<stdout>"
yy335:
-#line 134 "ext/yylex.re"
- { RET(cast_sym_RESTRICT); }
-#line 4677 "<stdout>"
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'n': goto yy365;
+ default: goto yy150;
+ }
yy336:
yych = *++YYCURSOR;
switch (yych) {
- case 'r': goto yy337;
- default: goto yy234;
+ case 'i': goto yy366;
+ default: goto yy150;
}
yy337:
yych = *++YYCURSOR;
switch (yych) {
- case 'n': goto yy338;
- default: goto yy234;
- }
-yy338:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -4749,44 +3528,47 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy339;
+ case 'z': goto yy149;
+ default: goto yy338;
}
+yy338:
+#line 132 "ext/yylex.re"
+ { RET(cast_sym_WHILE); }
+#line 3540 "<stdout>"
yy339:
-#line 120 "ext/yylex.re"
- { RET(cast_sym_RETURN); }
-#line 4761 "<stdout>"
+ ++YYCURSOR;
+ goto yy304;
yy340:
yych = *++YYCURSOR;
switch (yych) {
- case 's': goto yy341;
- default: goto yy234;
+ case 'e': goto yy367;
+ default: goto yy150;
}
yy341:
yych = *++YYCURSOR;
switch (yych) {
- case 't': goto yy342;
- default: goto yy234;
+ case 'n': goto yy368;
+ default: goto yy150;
}
yy342:
yych = *++YYCURSOR;
switch (yych) {
- case 'e': goto yy343;
- default: goto yy234;
+ case 'u': goto yy369;
+ default: goto yy150;
}
yy343:
yych = *++YYCURSOR;
switch (yych) {
- case 'r': goto yy344;
- default: goto yy234;
+ case 't': goto yy370;
+ default: goto yy150;
}
yy344:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -4845,32 +3627,20 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
+ case 'z': goto yy149;
default: goto yy345;
}
yy345:
-#line 119 "ext/yylex.re"
- { RET(cast_sym_REGISTER); }
-#line 4857 "<stdout>"
+#line 109 "ext/yylex.re"
+ { RET(cast_sym_DOUBLE); }
+#line 3639 "<stdout>"
yy346:
yych = *++YYCURSOR;
switch (yych) {
- case 'n': goto yy347;
- default: goto yy234;
- }
-yy347:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'g': goto yy348;
- default: goto yy234;
- }
-yy348:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -4929,99 +3699,20 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy349;
+ case 'z': goto yy149;
+ default: goto yy347;
}
-yy349:
-#line 118 "ext/yylex.re"
- { RET(cast_sym_LONG); }
-#line 4941 "<stdout>"
-yy350:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- 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 yy233;
- default: goto yy351;
- }
-yy351:
-#line 116 "ext/yylex.re"
- { RET(cast_sym_IF); }
-#line 5013 "<stdout>"
-yy352:
+yy347:
+#line 112 "ext/yylex.re"
+ { RET(cast_sym_EXTERN); }
+#line 3711 "<stdout>"
+yy348:
yych = *++YYCURSOR;
switch (yych) {
- case 'l': goto yy355;
- case 't': goto yy353;
- default: goto yy234;
- }
-yy353:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -5080,38 +3771,32 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy354;
+ case 'z': goto yy149;
+ default: goto yy349;
}
-yy354:
-#line 117 "ext/yylex.re"
- { RET(cast_sym_INT); }
-#line 5092 "<stdout>"
-yy355:
+yy349:
+#line 133 "ext/yylex.re"
+ { RET(cast_sym_INLINE); }
+#line 3783 "<stdout>"
+yy350:
yych = *++YYCURSOR;
switch (yych) {
- case 'i': goto yy356;
- default: goto yy234;
+ case 'e': goto yy372;
+ default: goto yy150;
}
-yy356:
+yy351:
yych = *++YYCURSOR;
switch (yych) {
- case 'n': goto yy357;
- default: goto yy234;
+ case 'c': goto yy373;
+ default: goto yy150;
}
-yy357:
+yy352:
yych = *++YYCURSOR;
switch (yych) {
- case 'e': goto yy358;
- default: goto yy234;
- }
-yy358:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -5170,32 +3855,20 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy359;
+ case 'z': goto yy149;
+ default: goto yy353;
}
-yy359:
-#line 133 "ext/yylex.re"
- { RET(cast_sym_INLINE); }
-#line 5182 "<stdout>"
-yy360:
+yy353:
+#line 120 "ext/yylex.re"
+ { RET(cast_sym_RETURN); }
+#line 3867 "<stdout>"
+yy354:
yych = *++YYCURSOR;
switch (yych) {
- case 't': goto yy361;
- default: goto yy234;
- }
-yy361:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'o': goto yy362;
- default: goto yy234;
- }
-yy362:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -5254,32 +3927,20 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy363;
+ case 'z': goto yy149;
+ default: goto yy355;
}
-yy363:
-#line 115 "ext/yylex.re"
- { RET(cast_sym_GOTO); }
-#line 5266 "<stdout>"
-yy364:
+yy355:
+#line 122 "ext/yylex.re"
+ { RET(cast_sym_SIGNED); }
+#line 3939 "<stdout>"
+yy356:
yych = *++YYCURSOR;
switch (yych) {
- case 'o': goto yy368;
- default: goto yy234;
- }
-yy365:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'r': goto yy366;
- default: goto yy234;
- }
-yy366:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -5338,32 +3999,20 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy367;
+ case 'z': goto yy149;
+ default: goto yy357;
}
-yy367:
-#line 114 "ext/yylex.re"
- { RET(cast_sym_FOR); }
-#line 5350 "<stdout>"
-yy368:
+yy357:
+#line 123 "ext/yylex.re"
+ { RET(cast_sym_SIZEOF); }
+#line 4011 "<stdout>"
+yy358:
yych = *++YYCURSOR;
switch (yych) {
- case 'a': goto yy369;
- default: goto yy234;
- }
-yy369:
- yych = *++YYCURSOR;
- switch (yych) {
- case 't': goto yy370;
- default: goto yy234;
- }
-yy370:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -5422,56 +4071,20 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy371;
+ case 'z': goto yy149;
+ default: goto yy359;
}
-yy371:
-#line 113 "ext/yylex.re"
- { RET(cast_sym_FLOAT); }
-#line 5434 "<stdout>"
-yy372:
+yy359:
+#line 124 "ext/yylex.re"
+ { RET(cast_sym_STATIC); }
+#line 4083 "<stdout>"
+yy360:
yych = *++YYCURSOR;
switch (yych) {
- case 's': goto yy383;
- default: goto yy234;
- }
-yy373:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'u': goto yy380;
- default: goto yy234;
- }
-yy374:
- yych = *++YYCURSOR;
- switch (yych) {
- case 't': goto yy375;
- default: goto yy234;
- }
-yy375:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'e': goto yy376;
- default: goto yy234;
- }
-yy376:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'r': goto yy377;
- default: goto yy234;
- }
-yy377:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'n': goto yy378;
- default: goto yy234;
- }
-yy378:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -5530,26 +4143,20 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy379;
+ case 'z': goto yy149;
+ default: goto yy361;
}
-yy379:
-#line 112 "ext/yylex.re"
- { RET(cast_sym_EXTERN); }
-#line 5542 "<stdout>"
-yy380:
+yy361:
+#line 125 "ext/yylex.re"
+ { RET(cast_sym_STRUCT); }
+#line 4155 "<stdout>"
+yy362:
yych = *++YYCURSOR;
switch (yych) {
- case 'm': goto yy381;
- default: goto yy234;
- }
-yy381:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -5608,104 +4215,56 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy382;
+ case 'z': goto yy149;
+ default: goto yy363;
}
-yy382:
-#line 111 "ext/yylex.re"
- { RET(cast_sym_ENUM); }
-#line 5620 "<stdout>"
-yy383:
+yy363:
+#line 126 "ext/yylex.re"
+ { RET(cast_sym_SWITCH); }
+#line 4227 "<stdout>"
+yy364:
yych = *++YYCURSOR;
switch (yych) {
- case 'e': goto yy384;
- default: goto yy234;
+ case 'f': goto yy374;
+ default: goto yy150;
}
-yy384:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- 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 yy233;
- default: goto yy385;
+yy365:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'e': goto yy376;
+ default: goto yy150;
}
-yy385:
-#line 110 "ext/yylex.re"
- { RET(cast_sym_ELSE); }
-#line 5698 "<stdout>"
-yy386:
+yy366:
yych = *++YYCURSOR;
switch (yych) {
- case 'f': goto yy394;
- default: goto yy234;
+ case 'l': goto yy377;
+ default: goto yy150;
}
-yy387:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy367:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'x': goto yy378;
+ default: goto yy150;
+ }
+yy368:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy380;
+ default: goto yy150;
+ }
+yy369:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'e': goto yy381;
+ default: goto yy150;
+ }
+yy370:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -5759,43 +4318,37 @@
case 'p':
case 'q':
case 'r':
case 's':
case 't':
+ case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- case 'u': goto yy389;
- default: goto yy388;
+ case 'z': goto yy149;
+ default: goto yy371;
}
-yy388:
-#line 108 "ext/yylex.re"
- { RET(cast_sym_DO); }
-#line 5776 "<stdout>"
-yy389:
+yy371:
+#line 107 "ext/yylex.re"
+ { RET(cast_sym_DEFAULT); }
+#line 4335 "<stdout>"
+yy372:
yych = *++YYCURSOR;
switch (yych) {
- case 'b': goto yy390;
- default: goto yy234;
+ case 'r': goto yy383;
+ default: goto yy150;
}
-yy390:
+yy373:
yych = *++YYCURSOR;
switch (yych) {
- case 'l': goto yy391;
- default: goto yy234;
+ case 't': goto yy385;
+ default: goto yy150;
}
-yy391:
+yy374:
yych = *++YYCURSOR;
switch (yych) {
- case 'e': goto yy392;
- default: goto yy234;
- }
-yy392:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -5854,44 +4407,32 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy393;
+ case 'z': goto yy149;
+ default: goto yy375;
}
-yy393:
-#line 109 "ext/yylex.re"
- { RET(cast_sym_DOUBLE); }
-#line 5866 "<stdout>"
-yy394:
+yy375:
+#line 127 "ext/yylex.re"
+ { RET(cast_sym_TYPEDEF); }
+#line 4419 "<stdout>"
+yy376:
yych = *++YYCURSOR;
switch (yych) {
- case 'a': goto yy395;
- default: goto yy234;
+ case 'd': goto yy387;
+ default: goto yy150;
}
-yy395:
+yy377:
yych = *++YYCURSOR;
switch (yych) {
- case 'u': goto yy396;
- default: goto yy234;
+ case 'e': goto yy389;
+ default: goto yy150;
}
-yy396:
+yy378:
yych = *++YYCURSOR;
switch (yych) {
- case 'l': goto yy397;
- default: goto yy234;
- }
-yy397:
- yych = *++YYCURSOR;
- switch (yych) {
- case 't': goto yy398;
- default: goto yy234;
- }
-yy398:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -5950,75 +4491,26 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy399;
+ case 'z': goto yy149;
+ default: goto yy379;
}
-yy399:
-#line 107 "ext/yylex.re"
- { RET(cast_sym_DEFAULT); }
-#line 5962 "<stdout>"
-yy400:
+yy379:
+#line 136 "ext/yylex.re"
+ { RET(cast_sym_COMPLEX); }
+#line 4503 "<stdout>"
+yy380:
yych = *++YYCURSOR;
switch (yych) {
- case 's': goto yy416;
- default: goto yy234;
+ case 'r': goto yy391;
+ default: goto yy150;
}
-yy401:
+yy381:
yych = *++YYCURSOR;
switch (yych) {
- case 'a': goto yy413;
- default: goto yy234;
- }
-yy402:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'n': goto yy403;
- default: goto yy234;
- }
-yy403:
- yych = *++YYCURSOR;
- switch (yych) {
- case 's': goto yy404;
- case 't': goto yy405;
- default: goto yy234;
- }
-yy404:
- yych = *++YYCURSOR;
- switch (yych) {
- case 't': goto yy411;
- default: goto yy234;
- }
-yy405:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'i': goto yy406;
- default: goto yy234;
- }
-yy406:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'n': goto yy407;
- default: goto yy234;
- }
-yy407:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'u': goto yy408;
- default: goto yy234;
- }
-yy408:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'e': goto yy409;
- default: goto yy234;
- }
-yy409:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -6077,20 +4569,20 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy410;
+ case 'z': goto yy149;
+ default: goto yy382;
}
-yy410:
+yy382:
#line 106 "ext/yylex.re"
{ RET(cast_sym_CONTINUE); }
-#line 6089 "<stdout>"
-yy411:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+#line 4581 "<stdout>"
+yy383:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -6149,26 +4641,20 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy412;
+ case 'z': goto yy149;
+ default: goto yy384;
}
-yy412:
-#line 105 "ext/yylex.re"
- { RET(cast_sym_CONST); }
-#line 6161 "<stdout>"
-yy413:
+yy384:
+#line 119 "ext/yylex.re"
+ { RET(cast_sym_REGISTER); }
+#line 4653 "<stdout>"
+yy385:
yych = *++YYCURSOR;
switch (yych) {
- case 'r': goto yy414;
- default: goto yy234;
- }
-yy414:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -6227,26 +4713,20 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy415;
+ case 'z': goto yy149;
+ default: goto yy386;
}
-yy415:
-#line 104 "ext/yylex.re"
- { RET(cast_sym_CHAR); }
-#line 6239 "<stdout>"
-yy416:
+yy386:
+#line 134 "ext/yylex.re"
+ { RET(cast_sym_RESTRICT); }
+#line 4725 "<stdout>"
+yy387:
yych = *++YYCURSOR;
switch (yych) {
- case 'e': goto yy417;
- default: goto yy234;
- }
-yy417:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -6305,38 +4785,20 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy418;
+ case 'z': goto yy149;
+ default: goto yy388;
}
-yy418:
-#line 103 "ext/yylex.re"
- { RET(cast_sym_CASE); }
-#line 6317 "<stdout>"
-yy419:
+yy388:
+#line 129 "ext/yylex.re"
+ { RET(cast_sym_UNSIGNED); }
+#line 4797 "<stdout>"
+yy389:
yych = *++YYCURSOR;
switch (yych) {
- case 'e': goto yy420;
- default: goto yy234;
- }
-yy420:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'a': goto yy421;
- default: goto yy234;
- }
-yy421:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'k': goto yy422;
- default: goto yy234;
- }
-yy422:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -6395,32 +4857,26 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy423;
+ case 'z': goto yy149;
+ default: goto yy390;
}
-yy423:
-#line 102 "ext/yylex.re"
- { RET(cast_sym_BREAK); }
-#line 6407 "<stdout>"
-yy424:
+yy390:
+#line 131 "ext/yylex.re"
+ { RET(cast_sym_VOLATILE); }
+#line 4869 "<stdout>"
+yy391:
yych = *++YYCURSOR;
switch (yych) {
- case 't': goto yy425;
- default: goto yy234;
+ case 'y': goto yy392;
+ default: goto yy150;
}
-yy425:
+yy392:
yych = *++YYCURSOR;
switch (yych) {
- case 'o': goto yy426;
- default: goto yy234;
- }
-yy426:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
case '0':
case '1':
case '2':
case '3':
case '4':
@@ -6479,121 +4935,105 @@
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
- case 'z': goto yy233;
- default: goto yy427;
+ case 'z': goto yy149;
+ default: goto yy393;
}
-yy427:
-#line 101 "ext/yylex.re"
- { RET(cast_sym_AUTO); }
-#line 6491 "<stdout>"
-yy428:
- ++YYCURSOR;
-#line 237 "ext/yylex.re"
- { RET(cast_sym_DIVEQ); }
-#line 6496 "<stdout>"
-yy430:
- ++YYCURSOR;
-#line 99 "ext/yylex.re"
- { goto comment2; }
-#line 6501 "<stdout>"
-yy432:
- ++YYCURSOR;
-#line 98 "ext/yylex.re"
- { goto comment; }
-#line 6506 "<stdout>"
+yy393:
+#line 137 "ext/yylex.re"
+ { RET(cast_sym_IMAGINARY); }
+#line 4947 "<stdout>"
}
#line 302 "ext/yylex.re"
comment:
-#line 6513 "<stdout>"
+#line 4954 "<stdout>"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
switch (yych) {
- case 0x00: goto yy440;
- case '\n': goto yy438;
- case '*': goto yy436;
- default: goto yy442;
+ case 0x00: goto yy396;
+ case '\n': goto yy400;
+ case '*': goto yy402;
+ default: goto yy398;
}
-yy436:
+yy396:
++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '/': goto yy443;
- default: goto yy437;
- }
-yy437:
+#line 314 "ext/yylex.re"
+ {
+ if (cursor == p->eof)
+ rb_raise(cast_eParseError,
+ "%ld: unclosed multiline comment",
+ p->lineno);
+ }
+#line 4974 "<stdout>"
+yy398:
+ ++YYCURSOR;
+yy399:
#line 321 "ext/yylex.re"
{ goto comment; }
-#line 6533 "<stdout>"
-yy438:
+#line 4980 "<stdout>"
+yy400:
++YYCURSOR;
#line 308 "ext/yylex.re"
{
p->tok = p->pos = cursor; ++p->lineno;
goto comment;
}
-#line 6541 "<stdout>"
-yy440:
- ++YYCURSOR;
-#line 314 "ext/yylex.re"
- {
- if (cursor == p->eof)
- rb_raise(cast_eParseError,
- "%ld: unclosed multiline comment",
- p->lineno);
- }
-#line 6551 "<stdout>"
-yy442:
+#line 4988 "<stdout>"
+yy402:
yych = *++YYCURSOR;
- goto yy437;
-yy443:
+ switch (yych) {
+ case '/': goto yy403;
+ default: goto yy399;
+ }
+yy403:
++YYCURSOR;
#line 306 "ext/yylex.re"
{ goto std; }
-#line 6559 "<stdout>"
+#line 4999 "<stdout>"
}
#line 322 "ext/yylex.re"
comment2:
-#line 6566 "<stdout>"
+#line 5006 "<stdout>"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
- case 0x00: goto yy449;
- case '\n': goto yy447;
- default: goto yy451;
+ case 0x00: goto yy407;
+ case '\n': goto yy411;
+ default: goto yy409;
}
-yy447:
+yy407:
++YYCURSOR;
-#line 327 "ext/yylex.re"
- {
- p->tok = p->pos = cursor; ++p->lineno;
- goto std;
- }
-#line 6583 "<stdout>"
-yy449:
- ++YYCURSOR;
#line 333 "ext/yylex.re"
{
if (cursor == p->eof) RET(Qnil);
goto std;
}
-#line 6591 "<stdout>"
-yy451:
+#line 5023 "<stdout>"
+yy409:
++YYCURSOR;
#line 338 "ext/yylex.re"
{ goto comment2; }
-#line 6596 "<stdout>"
+#line 5028 "<stdout>"
+yy411:
+ ++YYCURSOR;
+#line 327 "ext/yylex.re"
+ {
+ p->tok = p->pos = cursor; ++p->lineno;
+ goto std;
+ }
+#line 5036 "<stdout>"
}
#line 339 "ext/yylex.re"
}