Front page | perl.cvs.parrot |
Postings from January 2009
[svn:parrot] r34884 - trunk/compilers/pirc/new
From:
kjs
Date:
January 3, 2009 07:24
Subject:
[svn:parrot] r34884 - trunk/compilers/pirc/new
Message ID:
20090103152319.06797CB9FA@x12.develooper.com
Author: kjs
Date: Sat Jan 3 07:23:12 2009
New Revision: 34884
Modified:
trunk/compilers/pirc/new/pir.y
trunk/compilers/pirc/new/pircompunit.c
trunk/compilers/pirc/new/piremit.c
trunk/compilers/pirc/new/pirparser.c
trunk/compilers/pirc/new/pirparser.h
trunk/compilers/pirc/new/pirsymbol.c
trunk/compilers/pirc/new/pirsymbol.h
Log:
[pirc] fix correct pbc generation for PMC "Sub" .const stuff.
+ cleanup.
Modified: trunk/compilers/pirc/new/pir.y
==============================================================================
--- trunk/compilers/pirc/new/pir.y (original)
+++ trunk/compilers/pirc/new/pir.y Sat Jan 3 07:23:12 2009
@@ -308,7 +308,6 @@
<ival> TK_NREG "number register"
<ival> TK_SREG "string register"
<ival> TK_IREG "integer register"
- <cval> TK_CONST_VALUE "constant-value"
%token TK_ARROW "=>"
TK_NE "!="
@@ -2028,10 +2027,9 @@
;
-constant : TK_STRINGC { $$ = new_const(lexer, STRING_VAL, $1); }
- | TK_INTC { $$ = new_const(lexer, INT_VAL, $1); }
+constant : TK_INTC { $$ = new_const(lexer, INT_VAL, $1); }
| TK_NUMC { $$ = new_const(lexer, NUM_VAL, $1); }
- | TK_USTRINGC { $$ = new_const(lexer, USTRING_VAL, $1); }
+ | stringconst
;
stringconst : TK_STRINGC { $$ = new_const(lexer, STRING_VAL, $1); }
Modified: trunk/compilers/pirc/new/pircompunit.c
==============================================================================
--- trunk/compilers/pirc/new/pircompunit.c (original)
+++ trunk/compilers/pirc/new/pircompunit.c Sat Jan 3 07:23:12 2009
@@ -1256,7 +1256,7 @@
case NUM_VAL:
c->val.nval = va_arg(arg_ptr, double);
break;
- case PMC_VAL:
+ case PMC_VAL: /* value of a PMC_VAL constant is also a string */
case STRING_VAL:
c->val.sval = va_arg(arg_ptr, char *);
break;
@@ -1312,11 +1312,8 @@
new_pmc_const(lexer_state * const lexer, char const * const type,
char const * const name, constant * const value)
{
- /*
- fprintf(stderr, "new pmc (%s) const (%s) with value %s\n", type, name, value->val.sval);
- */
-
- if (STREQ(type, "Sub")) {
+ /* type must be 'sub', and value must be a string, holding the name of a sub */
+ if (STREQ(type, "Sub") && value->type == STRING_VAL) {
/* create a symbol representing the constant */
symbol *constsym = new_symbol(lexer, name, PMC_TYPE);
/* create a target from the symbol */
@@ -1325,16 +1322,13 @@
/* declare it as a local, so that it will get a register assigned. */
declare_local(lexer, PMC_TYPE, constsym);
- value->name = name;
- value->type = PMC_VAL;
+ value->name = name; /* set name of constant node */
+ value->type = PMC_VAL; /* set type of constant node */
+ value->val.pval = value->val.sval;
new_sub_instr(lexer, PARROT_OP_set_p_pc, "set_p_pc", 0);
push_operand(lexer, expr_from_target(lexer, consttarg));
- push_operand(lexer, expr_from_int(lexer, 99)); /* must be index in const table of
- the sub stored in <value>
- must be patched back later.
- How to do this?
- */
+ push_operand(lexer, expr_from_const(lexer, value));
}
Modified: trunk/compilers/pirc/new/piremit.c
==============================================================================
--- trunk/compilers/pirc/new/piremit.c (original)
+++ trunk/compilers/pirc/new/piremit.c Sat Jan 3 07:23:12 2009
@@ -479,16 +479,16 @@
break;
}
case PMC_VAL: {
- /*
-
- int index = add_pmc_const(lexer->bc, c->val.pval);
-
- XXX create a new PMC here using the name in c->val.pval?
-
- emit_int_arg(lexer->bc, index);
-
- */
- fprintf(stderr, "emit_pbc_const_arg: pmc type\n");
+ if (c->name) { /* XXX this check necessary? */
+ /* look up the sub by its name stored in c->val.pval, then
+ * find out what that sub's PMC_CONST is in the constant table,
+ * and emit that.
+ */
+
+ global_label *sub = find_global_label(lexer, c->val.pval);
+ int sub_pmc_index = sub->const_table_index;
+ emit_int_arg(lexer->bc, sub_pmc_index);
+ }
break;
}
case USTRING_VAL: {
Modified: trunk/compilers/pirc/new/pirparser.c
==============================================================================
--- trunk/compilers/pirc/new/pirparser.c (original)
+++ trunk/compilers/pirc/new/pirparser.c Sat Jan 3 07:23:12 2009
@@ -125,72 +125,71 @@
TK_NREG = 306,
TK_SREG = 307,
TK_IREG = 308,
- TK_CONST_VALUE = 309,
- TK_ARROW = 310,
- TK_NE = 311,
- TK_EQ = 312,
- TK_LT = 313,
- TK_LE = 314,
- TK_GT = 315,
- TK_GE = 316,
- TK_USHIFT = 317,
- TK_RSHIFT = 318,
- TK_LSHIFT = 319,
- TK_FDIV = 320,
- TK_OR = 321,
- TK_AND = 322,
- TK_XOR = 323,
- TK_CONC = 324,
- TK_ASSIGN_USHIFT = 325,
- TK_ASSIGN_RSHIFT = 326,
- TK_ASSIGN_LSHIFT = 327,
- TK_ASSIGN_INC = 328,
- TK_ASSIGN_DEC = 329,
- TK_ASSIGN_MUL = 330,
- TK_ASSIGN_MOD = 331,
- TK_ASSIGN_POW = 332,
- TK_ASSIGN_DIV = 333,
- TK_ASSIGN_BOR = 334,
- TK_ASSIGN_BAND = 335,
- TK_ASSIGN_FDIV = 336,
- TK_ASSIGN_BNOT = 337,
- TK_ASSIGN_CONC = 338,
- TK_FLAG_INIT = 339,
- TK_FLAG_LOAD = 340,
- TK_FLAG_MAIN = 341,
- TK_FLAG_ANON = 342,
- TK_FLAG_METHOD = 343,
- TK_FLAG_OUTER = 344,
- TK_FLAG_VTABLE = 345,
- TK_FLAG_LEX = 346,
- TK_FLAG_MULTI = 347,
- TK_FLAG_POSTCOMP = 348,
- TK_FLAG_IMMEDIATE = 349,
- TK_FLAG_SUBID = 350,
- TK_FLAG_INSTANCEOF = 351,
- TK_FLAG_NSENTRY = 352,
- TK_FLAG_UNIQUE_REG = 353,
- TK_FLAG_NAMED = 354,
- TK_FLAG_SLURPY = 355,
- TK_FLAG_FLAT = 356,
- TK_FLAG_OPTIONAL = 357,
- TK_FLAG_OPT_FLAG = 358,
- TK_FLAG_INVOCANT = 359,
- TK_MACRO = 360,
- TK_ENDM = 361,
- TK_MACRO_LOCAL = 362,
- TK_MACRO_LABEL = 363,
- TK_MACRO_CONST = 364,
- TK_MACRO_LABEL_ID = 365,
- TK_MACRO_LOCAL_ID = 366,
- TK_MACRO_IDENT = 367,
- TK_MACRO_ARG_IDENT = 368,
- TK_MACRO_ARG_OTHER = 369,
- TK_MACRO_CONST_VAL = 370,
- TK_PASM_MARKER_START = 371,
- TK_PIR_MARKER_START = 372,
- TK_PCC_SUB = 373,
- TK_PARROT_OP = 374
+ TK_ARROW = 309,
+ TK_NE = 310,
+ TK_EQ = 311,
+ TK_LT = 312,
+ TK_LE = 313,
+ TK_GT = 314,
+ TK_GE = 315,
+ TK_USHIFT = 316,
+ TK_RSHIFT = 317,
+ TK_LSHIFT = 318,
+ TK_FDIV = 319,
+ TK_OR = 320,
+ TK_AND = 321,
+ TK_XOR = 322,
+ TK_CONC = 323,
+ TK_ASSIGN_USHIFT = 324,
+ TK_ASSIGN_RSHIFT = 325,
+ TK_ASSIGN_LSHIFT = 326,
+ TK_ASSIGN_INC = 327,
+ TK_ASSIGN_DEC = 328,
+ TK_ASSIGN_MUL = 329,
+ TK_ASSIGN_MOD = 330,
+ TK_ASSIGN_POW = 331,
+ TK_ASSIGN_DIV = 332,
+ TK_ASSIGN_BOR = 333,
+ TK_ASSIGN_BAND = 334,
+ TK_ASSIGN_FDIV = 335,
+ TK_ASSIGN_BNOT = 336,
+ TK_ASSIGN_CONC = 337,
+ TK_FLAG_INIT = 338,
+ TK_FLAG_LOAD = 339,
+ TK_FLAG_MAIN = 340,
+ TK_FLAG_ANON = 341,
+ TK_FLAG_METHOD = 342,
+ TK_FLAG_OUTER = 343,
+ TK_FLAG_VTABLE = 344,
+ TK_FLAG_LEX = 345,
+ TK_FLAG_MULTI = 346,
+ TK_FLAG_POSTCOMP = 347,
+ TK_FLAG_IMMEDIATE = 348,
+ TK_FLAG_SUBID = 349,
+ TK_FLAG_INSTANCEOF = 350,
+ TK_FLAG_NSENTRY = 351,
+ TK_FLAG_UNIQUE_REG = 352,
+ TK_FLAG_NAMED = 353,
+ TK_FLAG_SLURPY = 354,
+ TK_FLAG_FLAT = 355,
+ TK_FLAG_OPTIONAL = 356,
+ TK_FLAG_OPT_FLAG = 357,
+ TK_FLAG_INVOCANT = 358,
+ TK_MACRO = 359,
+ TK_ENDM = 360,
+ TK_MACRO_LOCAL = 361,
+ TK_MACRO_LABEL = 362,
+ TK_MACRO_CONST = 363,
+ TK_MACRO_LABEL_ID = 364,
+ TK_MACRO_LOCAL_ID = 365,
+ TK_MACRO_IDENT = 366,
+ TK_MACRO_ARG_IDENT = 367,
+ TK_MACRO_ARG_OTHER = 368,
+ TK_MACRO_CONST_VAL = 369,
+ TK_PASM_MARKER_START = 370,
+ TK_PIR_MARKER_START = 371,
+ TK_PCC_SUB = 372,
+ TK_PARROT_OP = 373
};
#endif
/* Tokens. */
@@ -245,72 +244,71 @@
#define TK_NREG 306
#define TK_SREG 307
#define TK_IREG 308
-#define TK_CONST_VALUE 309
-#define TK_ARROW 310
-#define TK_NE 311
-#define TK_EQ 312
-#define TK_LT 313
-#define TK_LE 314
-#define TK_GT 315
-#define TK_GE 316
-#define TK_USHIFT 317
-#define TK_RSHIFT 318
-#define TK_LSHIFT 319
-#define TK_FDIV 320
-#define TK_OR 321
-#define TK_AND 322
-#define TK_XOR 323
-#define TK_CONC 324
-#define TK_ASSIGN_USHIFT 325
-#define TK_ASSIGN_RSHIFT 326
-#define TK_ASSIGN_LSHIFT 327
-#define TK_ASSIGN_INC 328
-#define TK_ASSIGN_DEC 329
-#define TK_ASSIGN_MUL 330
-#define TK_ASSIGN_MOD 331
-#define TK_ASSIGN_POW 332
-#define TK_ASSIGN_DIV 333
-#define TK_ASSIGN_BOR 334
-#define TK_ASSIGN_BAND 335
-#define TK_ASSIGN_FDIV 336
-#define TK_ASSIGN_BNOT 337
-#define TK_ASSIGN_CONC 338
-#define TK_FLAG_INIT 339
-#define TK_FLAG_LOAD 340
-#define TK_FLAG_MAIN 341
-#define TK_FLAG_ANON 342
-#define TK_FLAG_METHOD 343
-#define TK_FLAG_OUTER 344
-#define TK_FLAG_VTABLE 345
-#define TK_FLAG_LEX 346
-#define TK_FLAG_MULTI 347
-#define TK_FLAG_POSTCOMP 348
-#define TK_FLAG_IMMEDIATE 349
-#define TK_FLAG_SUBID 350
-#define TK_FLAG_INSTANCEOF 351
-#define TK_FLAG_NSENTRY 352
-#define TK_FLAG_UNIQUE_REG 353
-#define TK_FLAG_NAMED 354
-#define TK_FLAG_SLURPY 355
-#define TK_FLAG_FLAT 356
-#define TK_FLAG_OPTIONAL 357
-#define TK_FLAG_OPT_FLAG 358
-#define TK_FLAG_INVOCANT 359
-#define TK_MACRO 360
-#define TK_ENDM 361
-#define TK_MACRO_LOCAL 362
-#define TK_MACRO_LABEL 363
-#define TK_MACRO_CONST 364
-#define TK_MACRO_LABEL_ID 365
-#define TK_MACRO_LOCAL_ID 366
-#define TK_MACRO_IDENT 367
-#define TK_MACRO_ARG_IDENT 368
-#define TK_MACRO_ARG_OTHER 369
-#define TK_MACRO_CONST_VAL 370
-#define TK_PASM_MARKER_START 371
-#define TK_PIR_MARKER_START 372
-#define TK_PCC_SUB 373
-#define TK_PARROT_OP 374
+#define TK_ARROW 309
+#define TK_NE 310
+#define TK_EQ 311
+#define TK_LT 312
+#define TK_LE 313
+#define TK_GT 314
+#define TK_GE 315
+#define TK_USHIFT 316
+#define TK_RSHIFT 317
+#define TK_LSHIFT 318
+#define TK_FDIV 319
+#define TK_OR 320
+#define TK_AND 321
+#define TK_XOR 322
+#define TK_CONC 323
+#define TK_ASSIGN_USHIFT 324
+#define TK_ASSIGN_RSHIFT 325
+#define TK_ASSIGN_LSHIFT 326
+#define TK_ASSIGN_INC 327
+#define TK_ASSIGN_DEC 328
+#define TK_ASSIGN_MUL 329
+#define TK_ASSIGN_MOD 330
+#define TK_ASSIGN_POW 331
+#define TK_ASSIGN_DIV 332
+#define TK_ASSIGN_BOR 333
+#define TK_ASSIGN_BAND 334
+#define TK_ASSIGN_FDIV 335
+#define TK_ASSIGN_BNOT 336
+#define TK_ASSIGN_CONC 337
+#define TK_FLAG_INIT 338
+#define TK_FLAG_LOAD 339
+#define TK_FLAG_MAIN 340
+#define TK_FLAG_ANON 341
+#define TK_FLAG_METHOD 342
+#define TK_FLAG_OUTER 343
+#define TK_FLAG_VTABLE 344
+#define TK_FLAG_LEX 345
+#define TK_FLAG_MULTI 346
+#define TK_FLAG_POSTCOMP 347
+#define TK_FLAG_IMMEDIATE 348
+#define TK_FLAG_SUBID 349
+#define TK_FLAG_INSTANCEOF 350
+#define TK_FLAG_NSENTRY 351
+#define TK_FLAG_UNIQUE_REG 352
+#define TK_FLAG_NAMED 353
+#define TK_FLAG_SLURPY 354
+#define TK_FLAG_FLAT 355
+#define TK_FLAG_OPTIONAL 356
+#define TK_FLAG_OPT_FLAG 357
+#define TK_FLAG_INVOCANT 358
+#define TK_MACRO 359
+#define TK_ENDM 360
+#define TK_MACRO_LOCAL 361
+#define TK_MACRO_LABEL 362
+#define TK_MACRO_CONST 363
+#define TK_MACRO_LABEL_ID 364
+#define TK_MACRO_LOCAL_ID 365
+#define TK_MACRO_IDENT 366
+#define TK_MACRO_ARG_IDENT 367
+#define TK_MACRO_ARG_OTHER 368
+#define TK_MACRO_CONST_VAL 369
+#define TK_PASM_MARKER_START 370
+#define TK_PIR_MARKER_START 371
+#define TK_PCC_SUB 372
+#define TK_PARROT_OP 373
@@ -588,7 +586,7 @@
struct macro_param *pval;
}
/* Line 187 of yacc.c. */
-#line 592 "pirparser.c"
+#line 590 "pirparser.c"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
@@ -601,7 +599,7 @@
/* Line 216 of yacc.c. */
-#line 605 "pirparser.c"
+#line 603 "pirparser.c"
#ifdef short
# undef short
@@ -816,20 +814,20 @@
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 10
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1072
+#define YYLAST 1055
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 140
+#define YYNTOKENS 139
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 167
/* YYNRULES -- Number of rules. */
-#define YYNRULES 424
+#define YYNRULES 423
/* YYNRULES -- Number of states. */
#define YYNSTATES 661
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 375
+#define YYMAXUTOK 374
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -840,16 +838,16 @@
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 131, 2, 2, 2, 136, 138, 2,
- 120, 121, 135, 133, 122, 130, 129, 134, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 126,
- 2, 123, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 130, 2, 2, 2, 135, 137, 2,
+ 119, 120, 134, 132, 121, 129, 128, 133, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 125,
+ 2, 122, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 124, 2, 125, 2, 2, 2, 2, 2, 2,
+ 2, 123, 2, 124, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 127, 137, 128, 132, 2, 2, 2,
+ 2, 2, 2, 126, 136, 127, 131, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -874,7 +872,7 @@
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 139
+ 115, 116, 117, 118, 138
};
#if YYDEBUG
@@ -922,184 +920,184 @@
1093, 1095, 1097, 1099, 1101, 1103, 1105, 1107, 1109, 1111,
1113, 1115, 1117, 1119, 1121, 1123, 1125, 1127, 1129, 1131,
1133, 1135, 1137, 1139, 1141, 1143, 1145, 1147, 1149, 1151,
- 1153, 1155, 1157, 1159, 1161, 1163, 1165, 1167, 1170, 1172,
- 1174, 1177, 1179, 1182, 1184, 1187, 1190, 1192, 1195, 1198,
- 1200, 1202, 1204, 1208, 1210
+ 1153, 1155, 1157, 1159, 1161, 1163, 1165, 1168, 1170, 1172,
+ 1175, 1177, 1180, 1182, 1185, 1188, 1190, 1193, 1196, 1198,
+ 1200, 1202, 1206, 1208
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 141, 0, -1, 117, 142, -1, 116, 298, -1, 143,
- 144, 143, -1, -1, 35, -1, 145, -1, 144, 35,
- 145, -1, 168, -1, 282, -1, 164, -1, 162, -1,
- 163, -1, 159, -1, 160, -1, 161, -1, 146, -1,
- 147, -1, 148, -1, 109, 37, 115, -1, 149, 120,
- 150, 121, 35, 153, 106, -1, 105, 293, -1, -1,
- 151, -1, 152, -1, 151, 122, 152, -1, 293, -1,
- -1, 154, -1, 155, -1, 154, 155, -1, 156, 35,
- -1, 157, -1, 158, -1, 108, 110, -1, 107, 289,
- 111, -1, 5, 46, -1, 10, 48, -1, 11, 46,
- -1, 34, 46, 122, 46, -1, 3, 46, -1, 4,
- 46, 123, 46, -1, 13, 124, 165, 125, -1, -1,
- 166, -1, 167, -1, 166, 126, 167, -1, 46, -1,
- 170, 172, 35, 178, 186, 169, -1, 7, -1, 6,
- 171, -1, 293, -1, 46, -1, -1, 172, 173, -1,
- 87, -1, 84, -1, 85, -1, 86, -1, 91, -1,
- 93, -1, 94, -1, 92, 174, -1, 89, 120, 171,
- 121, -1, 88, 278, -1, 90, 278, -1, 95, 279,
- -1, 96, 279, -1, 97, 279, -1, 120, 175, 121,
- -1, -1, 176, -1, 177, -1, 176, 122, 177, -1,
- 293, -1, 46, -1, 213, -1, 179, -1, -1, 179,
- 180, -1, 8, 181, 182, 35, -1, 289, 293, -1,
- -1, 182, 183, -1, 256, -1, 184, -1, 185, -1,
- 104, 120, 177, 121, -1, 98, -1, -1, 186, 187,
- -1, 36, 188, -1, 188, -1, 203, -1, 220, -1,
- 226, -1, 227, -1, 231, -1, 280, -1, 257, -1,
- 232, -1, 216, -1, 202, -1, 201, -1, 198, -1,
- 199, -1, 189, -1, 200, -1, 190, -1, 112, 191,
- 35, -1, -1, 120, 192, 121, -1, -1, 193, -1,
- 194, -1, 193, 122, 194, -1, 113, -1, 114, -1,
- 112, 191, -1, 195, -1, 127, 196, 128, -1, -1,
- 196, 197, -1, 35, -1, 114, -1, 113, -1, 112,
- 191, -1, 35, -1, 160, 35, -1, 1, 35, -1,
- 44, 290, 35, -1, 28, 251, 35, -1, 204, 35,
- -1, 205, 206, -1, 215, -1, 37, -1, 207, -1,
- 209, -1, -1, 208, -1, 210, -1, 208, 122, 210,
- -1, 213, 123, 285, -1, 211, -1, 213, -1, 286,
- -1, 293, -1, 292, -1, 212, -1, 250, 213, -1,
- 124, 214, 125, -1, 285, -1, 214, 126, 285, -1,
- 290, 123, 205, 211, 122, 208, -1, 290, 123, 205,
- 211, -1, 290, 123, 205, 213, 122, 208, -1, 218,
- 35, -1, 37, -1, 294, -1, 290, 123, 48, -1,
- 290, 123, 49, -1, 290, 123, 287, -1, 290, 123,
- 292, -1, 290, 123, 217, -1, 290, 123, 219, -1,
- 290, 123, 205, 213, -1, 290, 123, 294, 213, -1,
- 290, 123, 50, 213, -1, 290, 297, 285, -1, 290,
- 73, 48, -1, 290, 73, 49, -1, 290, 74, 48,
- -1, 290, 74, 49, -1, 290, 73, 290, -1, 290,
- 74, 290, -1, 290, 123, 295, 285, -1, 290, 123,
- 290, 296, 285, -1, 294, 213, 123, 285, -1, 50,
- 213, 123, 285, -1, 48, 296, 290, -1, 49, 296,
- 290, -1, 46, 296, 290, -1, 46, 296, 46, -1,
- 48, 296, 48, -1, 49, 296, 49, -1, 48, 296,
- 49, -1, 49, 296, 48, -1, 221, 35, -1, 224,
- 44, 37, 45, 293, -1, 224, 44, 38, 45, 293,
- -1, 224, 44, 39, 45, 293, -1, 224, 44, 40,
- 45, 293, -1, 224, 44, 41, 45, 293, -1, 224,
- 44, 42, 45, 293, -1, 224, 44, 43, 45, 293,
- -1, 224, 44, 45, 45, 293, -1, 224, 44, 44,
- 45, 293, -1, 224, 286, 225, 293, -1, 224, 44,
- 50, 225, 293, -1, 224, 37, 225, 293, -1, 224,
- 292, 225, 293, -1, 224, 38, 225, 293, -1, 224,
- 39, 225, 293, -1, 224, 40, 225, 293, -1, 224,
- 41, 225, 293, -1, 224, 42, 225, 293, -1, 224,
- 43, 225, 293, -1, 224, 45, 45, 293, -1, 224,
- 45, 122, 293, -1, 224, 44, 45, 293, -1, 224,
- 44, 122, 293, -1, 224, 222, 45, 293, -1, 290,
- 288, 285, -1, 48, 288, 290, -1, 49, 288, 290,
- -1, 46, 288, 290, -1, 48, 288, 48, -1, 48,
- 288, 49, -1, 49, 288, 48, -1, 49, 288, 49,
- -1, 46, 288, 46, -1, 46, 288, 223, -1, 48,
- 288, 46, -1, 49, 288, 46, -1, 48, -1, 49,
- -1, 42, -1, 43, -1, 45, -1, 122, -1, 45,
- 293, 35, -1, 12, 289, 228, 35, -1, 229, -1,
- 228, 122, 229, -1, 293, 230, -1, -1, 98, -1,
- 9, 46, 122, 250, 35, -1, 233, -1, 234, -1,
- 243, -1, 26, 35, 235, 238, 35, 240, 27, 35,
- -1, -1, 236, -1, 237, -1, 236, 237, -1, 30,
- 266, 35, -1, 29, 248, 239, -1, 32, 250, -1,
- 14, 250, 35, 15, 249, -1, -1, 122, 250, -1,
- -1, 241, -1, 242, -1, 241, 242, -1, 31, 254,
- 35, -1, 227, -1, 244, 35, -1, 251, 123, 245,
- -1, 290, 123, 245, -1, 245, -1, 247, -1, 246,
- -1, 250, 129, 249, 261, -1, 248, 261, -1, 250,
- -1, 46, -1, 293, -1, 50, -1, 52, -1, 46,
- -1, 293, -1, 50, -1, 120, 252, 121, -1, -1,
- 253, -1, 254, -1, 253, 122, 254, -1, 290, 255,
- -1, 46, 55, 290, -1, -1, 255, 256, -1, 102,
- -1, 103, -1, 100, -1, 99, 278, -1, 258, -1,
- 259, -1, 268, -1, 260, -1, 269, -1, 18, 261,
- 35, -1, 33, 245, 35, -1, 19, 261, 35, -1,
- 120, 262, 121, -1, -1, 263, -1, 264, -1, 263,
- 122, 264, -1, 266, -1, 265, -1, 46, 55, 267,
- -1, 267, 276, -1, 285, -1, 24, 35, 273, 25,
- 35, -1, 22, 35, 270, 23, 35, -1, -1, 271,
- -1, 272, -1, 271, 272, -1, 20, 266, 35, -1,
- -1, 274, -1, 275, -1, 274, 275, -1, 21, 266,
- 35, -1, -1, 276, 277, -1, 101, -1, 99, 278,
- -1, -1, 279, -1, 120, 46, 121, -1, 281, 35,
- -1, 282, -1, 283, -1, 17, 284, -1, 16, 284,
- -1, 38, 293, 123, 48, -1, 39, 293, 123, 49,
- -1, 41, 293, 123, 46, -1, 46, 293, 123, 286,
- -1, 290, -1, 286, -1, 46, -1, 48, -1, 49,
- -1, 47, -1, 46, -1, 47, -1, 56, -1, 57,
- -1, 58, -1, 59, -1, 61, -1, 60, -1, 38,
- -1, 39, -1, 40, -1, 41, -1, 291, -1, 292,
- -1, 293, -1, 50, -1, 51, -1, 53, -1, 52,
- -1, 37, -1, 294, -1, 42, -1, 43, -1, 45,
- -1, 38, -1, 39, -1, 41, -1, 40, -1, 44,
- -1, 130, -1, 131, -1, 132, -1, 133, -1, 130,
- -1, 134, -1, 135, -1, 136, -1, 137, -1, 138,
- -1, 132, -1, 139, -1, 69, -1, 62, -1, 63,
- -1, 64, -1, 66, -1, 67, -1, 65, -1, 68,
- -1, 57, -1, 59, -1, 58, -1, 61, -1, 60,
- -1, 56, -1, 75, -1, 76, -1, 77, -1, 78,
- -1, 81, -1, 79, -1, 80, -1, 82, -1, 83,
- -1, 71, -1, 72, -1, 70, -1, 299, 300, -1,
- 143, -1, 301, -1, 300, 301, -1, 302, -1, 164,
- 35, -1, 231, -1, 160, 35, -1, 146, 35, -1,
- 190, -1, 36, 303, -1, 304, 303, -1, 306, -1,
- 198, -1, 306, -1, 305, 172, 36, -1, 118, -1,
- 205, 207, 35, -1
+ 140, 0, -1, 116, 141, -1, 115, 297, -1, 142,
+ 143, 142, -1, -1, 35, -1, 144, -1, 143, 35,
+ 144, -1, 167, -1, 281, -1, 163, -1, 161, -1,
+ 162, -1, 158, -1, 159, -1, 160, -1, 145, -1,
+ 146, -1, 147, -1, 108, 37, 114, -1, 148, 119,
+ 149, 120, 35, 152, 105, -1, 104, 292, -1, -1,
+ 150, -1, 151, -1, 150, 121, 151, -1, 292, -1,
+ -1, 153, -1, 154, -1, 153, 154, -1, 155, 35,
+ -1, 156, -1, 157, -1, 107, 109, -1, 106, 288,
+ 110, -1, 5, 46, -1, 10, 48, -1, 11, 46,
+ -1, 34, 46, 121, 46, -1, 3, 46, -1, 4,
+ 46, 122, 46, -1, 13, 123, 164, 124, -1, -1,
+ 165, -1, 166, -1, 165, 125, 166, -1, 46, -1,
+ 169, 171, 35, 177, 185, 168, -1, 7, -1, 6,
+ 170, -1, 292, -1, 46, -1, -1, 171, 172, -1,
+ 86, -1, 83, -1, 84, -1, 85, -1, 90, -1,
+ 92, -1, 93, -1, 91, 173, -1, 88, 119, 170,
+ 120, -1, 87, 277, -1, 89, 277, -1, 94, 278,
+ -1, 95, 278, -1, 96, 278, -1, 119, 174, 120,
+ -1, -1, 175, -1, 176, -1, 175, 121, 176, -1,
+ 292, -1, 46, -1, 212, -1, 178, -1, -1, 178,
+ 179, -1, 8, 180, 181, 35, -1, 288, 292, -1,
+ -1, 181, 182, -1, 255, -1, 183, -1, 184, -1,
+ 103, 119, 176, 120, -1, 97, -1, -1, 185, 186,
+ -1, 36, 187, -1, 187, -1, 202, -1, 219, -1,
+ 225, -1, 226, -1, 230, -1, 279, -1, 256, -1,
+ 231, -1, 215, -1, 201, -1, 200, -1, 197, -1,
+ 198, -1, 188, -1, 199, -1, 189, -1, 111, 190,
+ 35, -1, -1, 119, 191, 120, -1, -1, 192, -1,
+ 193, -1, 192, 121, 193, -1, 112, -1, 113, -1,
+ 111, 190, -1, 194, -1, 126, 195, 127, -1, -1,
+ 195, 196, -1, 35, -1, 113, -1, 112, -1, 111,
+ 190, -1, 35, -1, 159, 35, -1, 1, 35, -1,
+ 44, 289, 35, -1, 28, 250, 35, -1, 203, 35,
+ -1, 204, 205, -1, 214, -1, 37, -1, 206, -1,
+ 208, -1, -1, 207, -1, 209, -1, 207, 121, 209,
+ -1, 212, 122, 284, -1, 210, -1, 212, -1, 285,
+ -1, 292, -1, 291, -1, 211, -1, 249, 212, -1,
+ 123, 213, 124, -1, 284, -1, 213, 125, 284, -1,
+ 289, 122, 204, 210, 121, 207, -1, 289, 122, 204,
+ 210, -1, 289, 122, 204, 212, 121, 207, -1, 217,
+ 35, -1, 37, -1, 293, -1, 289, 122, 48, -1,
+ 289, 122, 49, -1, 289, 122, 286, -1, 289, 122,
+ 291, -1, 289, 122, 216, -1, 289, 122, 218, -1,
+ 289, 122, 204, 212, -1, 289, 122, 293, 212, -1,
+ 289, 122, 50, 212, -1, 289, 296, 284, -1, 289,
+ 72, 48, -1, 289, 72, 49, -1, 289, 73, 48,
+ -1, 289, 73, 49, -1, 289, 72, 289, -1, 289,
+ 73, 289, -1, 289, 122, 294, 284, -1, 289, 122,
+ 289, 295, 284, -1, 293, 212, 122, 284, -1, 50,
+ 212, 122, 284, -1, 48, 295, 289, -1, 49, 295,
+ 289, -1, 46, 295, 289, -1, 46, 295, 46, -1,
+ 48, 295, 48, -1, 49, 295, 49, -1, 48, 295,
+ 49, -1, 49, 295, 48, -1, 220, 35, -1, 223,
+ 44, 37, 45, 292, -1, 223, 44, 38, 45, 292,
+ -1, 223, 44, 39, 45, 292, -1, 223, 44, 40,
+ 45, 292, -1, 223, 44, 41, 45, 292, -1, 223,
+ 44, 42, 45, 292, -1, 223, 44, 43, 45, 292,
+ -1, 223, 44, 45, 45, 292, -1, 223, 44, 44,
+ 45, 292, -1, 223, 285, 224, 292, -1, 223, 44,
+ 50, 224, 292, -1, 223, 37, 224, 292, -1, 223,
+ 291, 224, 292, -1, 223, 38, 224, 292, -1, 223,
+ 39, 224, 292, -1, 223, 40, 224, 292, -1, 223,
+ 41, 224, 292, -1, 223, 42, 224, 292, -1, 223,
+ 43, 224, 292, -1, 223, 45, 45, 292, -1, 223,
+ 45, 121, 292, -1, 223, 44, 45, 292, -1, 223,
+ 44, 121, 292, -1, 223, 221, 45, 292, -1, 289,
+ 287, 284, -1, 48, 287, 289, -1, 49, 287, 289,
+ -1, 46, 287, 289, -1, 48, 287, 48, -1, 48,
+ 287, 49, -1, 49, 287, 48, -1, 49, 287, 49,
+ -1, 46, 287, 46, -1, 46, 287, 222, -1, 48,
+ 287, 46, -1, 49, 287, 46, -1, 48, -1, 49,
+ -1, 42, -1, 43, -1, 45, -1, 121, -1, 45,
+ 292, 35, -1, 12, 288, 227, 35, -1, 228, -1,
+ 227, 121, 228, -1, 292, 229, -1, -1, 97, -1,
+ 9, 46, 121, 249, 35, -1, 232, -1, 233, -1,
+ 242, -1, 26, 35, 234, 237, 35, 239, 27, 35,
+ -1, -1, 235, -1, 236, -1, 235, 236, -1, 30,
+ 265, 35, -1, 29, 247, 238, -1, 32, 249, -1,
+ 14, 249, 35, 15, 248, -1, -1, 121, 249, -1,
+ -1, 240, -1, 241, -1, 240, 241, -1, 31, 253,
+ 35, -1, 226, -1, 243, 35, -1, 250, 122, 244,
+ -1, 289, 122, 244, -1, 244, -1, 246, -1, 245,
+ -1, 249, 128, 248, 260, -1, 247, 260, -1, 249,
+ -1, 46, -1, 292, -1, 50, -1, 52, -1, 46,
+ -1, 292, -1, 50, -1, 119, 251, 120, -1, -1,
+ 252, -1, 253, -1, 252, 121, 253, -1, 289, 254,
+ -1, 46, 54, 289, -1, -1, 254, 255, -1, 101,
+ -1, 102, -1, 99, -1, 98, 277, -1, 257, -1,
+ 258, -1, 267, -1, 259, -1, 268, -1, 18, 260,
+ 35, -1, 33, 244, 35, -1, 19, 260, 35, -1,
+ 119, 261, 120, -1, -1, 262, -1, 263, -1, 262,
+ 121, 263, -1, 265, -1, 264, -1, 46, 54, 266,
+ -1, 266, 275, -1, 284, -1, 24, 35, 272, 25,
+ 35, -1, 22, 35, 269, 23, 35, -1, -1, 270,
+ -1, 271, -1, 270, 271, -1, 20, 265, 35, -1,
+ -1, 273, -1, 274, -1, 273, 274, -1, 21, 265,
+ 35, -1, -1, 275, 276, -1, 100, -1, 98, 277,
+ -1, -1, 278, -1, 119, 46, 120, -1, 280, 35,
+ -1, 281, -1, 282, -1, 17, 283, -1, 16, 283,
+ -1, 38, 292, 122, 48, -1, 39, 292, 122, 49,
+ -1, 41, 292, 122, 46, -1, 46, 292, 122, 285,
+ -1, 289, -1, 285, -1, 48, -1, 49, -1, 286,
+ -1, 46, -1, 47, -1, 55, -1, 56, -1, 57,
+ -1, 58, -1, 60, -1, 59, -1, 38, -1, 39,
+ -1, 40, -1, 41, -1, 290, -1, 291, -1, 292,
+ -1, 50, -1, 51, -1, 53, -1, 52, -1, 37,
+ -1, 293, -1, 42, -1, 43, -1, 45, -1, 38,
+ -1, 39, -1, 41, -1, 40, -1, 44, -1, 129,
+ -1, 130, -1, 131, -1, 132, -1, 129, -1, 133,
+ -1, 134, -1, 135, -1, 136, -1, 137, -1, 131,
+ -1, 138, -1, 68, -1, 61, -1, 62, -1, 63,
+ -1, 65, -1, 66, -1, 64, -1, 67, -1, 56,
+ -1, 58, -1, 57, -1, 60, -1, 59, -1, 55,
+ -1, 74, -1, 75, -1, 76, -1, 77, -1, 80,
+ -1, 78, -1, 79, -1, 81, -1, 82, -1, 70,
+ -1, 71, -1, 69, -1, 298, 299, -1, 142, -1,
+ 300, -1, 299, 300, -1, 301, -1, 163, 35, -1,
+ 230, -1, 159, 35, -1, 145, 35, -1, 189, -1,
+ 36, 302, -1, 303, 302, -1, 305, -1, 197, -1,
+ 305, -1, 304, 171, 36, -1, 117, -1, 204, 206,
+ 35, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 554, 554, 555, 560, 566, 567, 570, 571, 574,
- 575, 576, 577, 578, 579, 580, 581, 582, 589, 590,
- 593, 597, 603, 610, 611, 614, 615, 618, 622, 623,
- 626, 627, 630, 633, 634, 637, 641, 652, 656, 658,
- 662, 668, 672, 676, 681, 682, 686, 688, 692, 696,
- 702, 706, 710, 711, 714, 715, 718, 720, 722, 724,
- 726, 728, 730, 732, 734, 736, 738, 740, 742, 744,
- 748, 753, 757, 761, 770, 781, 783, 785, 789, 798,
- 799, 812, 816, 821, 822, 826, 827, 828, 831, 838,
- 844, 845, 855, 857, 860, 861, 862, 863, 864, 865,
- 866, 867, 868, 869, 870, 871, 872, 873, 874, 880,
- 883, 888, 889, 894, 895, 898, 900, 908, 916, 917,
- 919, 922, 928, 929, 938, 939, 940, 941, 949, 953,
- 957, 966, 973, 980, 983, 984, 987, 996, 1003, 1006,
- 1007, 1010, 1011, 1014, 1050, 1052, 1056, 1058, 1063, 1065,
- 1069, 1092, 1096, 1098, 1107, 1118, 1130, 1140, 1143, 1144,
- 1147, 1156, 1165, 1170, 1175, 1196, 1201, 1242, 1260, 1267,
- 1272, 1283, 1294, 1305, 1316, 1321, 1326, 1331, 1341, 1360,
- 1394, 1396, 1398, 1400, 1402, 1404, 1406, 1408, 1413, 1422,
- 1424, 1426, 1428, 1430, 1432, 1434, 1436, 1438, 1440, 1452,
- 1457, 1459, 1461, 1463, 1465, 1467, 1469, 1471, 1473, 1475,
- 1477, 1479, 1481, 1512, 1538, 1546, 1555, 1564, 1566, 1568,
- 1570, 1572, 1576, 1581, 1583, 1588, 1589, 1592, 1593, 1596,
- 1597, 1600, 1608, 1612, 1614, 1618, 1622, 1623, 1626, 1641,
- 1645, 1646, 1649, 1661, 1662, 1666, 1668, 1672, 1676, 1678,
- 1680, 1686, 1687, 1692, 1693, 1697, 1699, 1708, 1710, 1714,
- 1718, 1720, 1722, 1726, 1727, 1730, 1750, 1757, 1759, 1769,
- 1786, 1788, 1790, 1794, 1803, 1808, 1815, 1816, 1820, 1822,
- 1826, 1828, 1833, 1834, 1838, 1840, 1842, 1844, 1854, 1858,
- 1859, 1860, 1861, 1864, 1869, 1880, 1887, 1892, 1893, 1897,
- 1899, 1903, 1904, 1907, 1911, 1915, 1919, 1928, 1938, 1939,
- 1944, 1946, 1951, 1956, 1957, 1961, 1963, 1967, 1973, 1974,
- 1978, 1980, 1988, 1989, 1993, 1997, 2000, 2001, 2004, 2008,
- 2012, 2014, 2016, 2018, 2026, 2027, 2031, 2032, 2033, 2034,
- 2037, 2038, 2041, 2042, 2043, 2044, 2045, 2046, 2049, 2050,
- 2051, 2052, 2060, 2063, 2064, 2075, 2076, 2077, 2078, 2082,
- 2083, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2096,
- 2097, 2098, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108,
- 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118,
- 2119, 2120, 2121, 2122, 2123, 2129, 2130, 2131, 2132, 2133,
- 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2152, 2160, 2164,
- 2165, 2168, 2169, 2170, 2171, 2172, 2173, 2176, 2178, 2179,
- 2182, 2183, 2186, 2190, 2195
+ 0, 553, 553, 554, 559, 565, 566, 569, 570, 573,
+ 574, 575, 576, 577, 578, 579, 580, 581, 588, 589,
+ 592, 596, 602, 609, 610, 613, 614, 617, 621, 622,
+ 625, 626, 629, 632, 633, 636, 640, 651, 655, 657,
+ 661, 667, 671, 675, 680, 681, 685, 687, 691, 695,
+ 701, 705, 709, 710, 713, 714, 717, 719, 721, 723,
+ 725, 727, 729, 731, 733, 735, 737, 739, 741, 743,
+ 747, 752, 756, 760, 769, 780, 782, 784, 788, 797,
+ 798, 811, 815, 820, 821, 825, 826, 827, 830, 837,
+ 843, 844, 854, 856, 859, 860, 861, 862, 863, 864,
+ 865, 866, 867, 868, 869, 870, 871, 872, 873, 879,
+ 882, 887, 888, 893, 894, 897, 899, 907, 915, 916,
+ 918, 921, 927, 928, 937, 938, 939, 940, 948, 952,
+ 956, 965, 972, 979, 982, 983, 986, 995, 1002, 1005,
+ 1006, 1009, 1010, 1013, 1049, 1051, 1055, 1057, 1062, 1064,
+ 1068, 1091, 1095, 1097, 1106, 1117, 1129, 1139, 1142, 1143,
+ 1146, 1155, 1164, 1169, 1174, 1195, 1200, 1241, 1259, 1266,
+ 1271, 1282, 1293, 1304, 1315, 1320, 1325, 1330, 1340, 1359,
+ 1393, 1395, 1397, 1399, 1401, 1403, 1405, 1407, 1412, 1421,
+ 1423, 1425, 1427, 1429, 1431, 1433, 1435, 1437, 1439, 1451,
+ 1456, 1458, 1460, 1462, 1464, 1466, 1468, 1470, 1472, 1474,
+ 1476, 1478, 1480, 1511, 1537, 1545, 1554, 1563, 1565, 1567,
+ 1569, 1571, 1575, 1580, 1582, 1587, 1588, 1591, 1592, 1595,
+ 1596, 1599, 1607, 1611, 1613, 1617, 1621, 1622, 1625, 1640,
+ 1644, 1645, 1648, 1660, 1661, 1665, 1667, 1671, 1675, 1677,
+ 1679, 1685, 1686, 1691, 1692, 1696, 1698, 1707, 1709, 1713,
+ 1717, 1719, 1721, 1725, 1726, 1729, 1749, 1756, 1758, 1768,
+ 1785, 1787, 1789, 1793, 1802, 1807, 1814, 1815, 1819, 1821,
+ 1825, 1827, 1832, 1833, 1837, 1839, 1841, 1843, 1853, 1857,
+ 1858, 1859, 1860, 1863, 1868, 1879, 1886, 1891, 1892, 1896,
+ 1898, 1902, 1903, 1906, 1910, 1914, 1918, 1927, 1937, 1938,
+ 1943, 1945, 1950, 1955, 1956, 1960, 1962, 1966, 1972, 1973,
+ 1977, 1979, 1987, 1988, 1992, 1996, 1999, 2000, 2003, 2007,
+ 2011, 2013, 2015, 2017, 2025, 2026, 2030, 2031, 2032, 2035,
+ 2036, 2039, 2040, 2041, 2042, 2043, 2044, 2047, 2048, 2049,
+ 2050, 2058, 2061, 2062, 2073, 2074, 2075, 2076, 2080, 2081,
+ 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2094, 2095,
+ 2096, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107,
+ 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117,
+ 2118, 2119, 2120, 2121, 2127, 2128, 2129, 2130, 2131, 2132,
+ 2133, 2134, 2135, 2136, 2137, 2138, 2150, 2158, 2162, 2163,
+ 2166, 2167, 2168, 2169, 2170, 2171, 2174, 2176, 2177, 2180,
+ 2181, 2184, 2188, 2193
};
#endif
@@ -1121,52 +1119,51 @@
"\"string\"", "\"if\"", "\"unless\"", "\"null\"", "\"goto\"",
"\"string constant\"", "\"unicode string\"", "\"integer constant\"",
"\"number constant\"", "\"PMC register\"", "\"number register\"",
- "\"string register\"", "\"integer register\"", "\"constant-value\"",
- "\"=>\"", "\"!=\"", "\"==\"", "\"<\"", "\"<=\"", "\">\"", "\">=\"",
- "\">>>\"", "\">>\"", "\"<<\"", "\"//\"", "\"||\"", "\"&&\"", "\"~~\"",
- "\".\"", "\">>>=\"", "\">>=\"", "\"<<=\"", "\"+=\"", "\"-=\"", "\"*=\"",
- "\"%=\"", "\"**=\"", "\"/=\"", "\"|=\"", "\"&=\"", "\"//=\"", "\"~=\"",
- "\".=\"", "\":init\"", "\":load\"", "\":main\"", "\":anon\"",
- "\":method\"", "\":outer\"", "\":vtable\"", "\":lex\"", "\":multi\"",
- "\":postcomp\"", "\":immediate\"", "\":subid\"", "\":instanceof\"",
- "\":nsentry\"", "\":unique_reg\"", "\":named\"", "\":slurpy\"",
- "\":flat\"", "\":optional\"", "\":opt_flag\"", "\":invocant\"",
- "\".macro\"", "\".endm\"", "\".macro_local\"", "\".macro_label\"",
- "\".macro_const\"", "\"macro-label\"", "\"macro-local\"",
- "\"macro-identifier\"", "\"macro-id-argument\"", "\"macro-argument\"",
- "\"macro-constant\"", "\"<pasm-input>\"", "\"<pir-input>\"",
- "\".pcc_sub\"", "\"parrot-op\"", "'('", "')'", "','", "'='", "'['",
- "']'", "';'", "'{'", "'}'", "'.'", "'-'", "'!'", "'~'", "'+'", "'/'",
- "'*'", "'%'", "'|'", "'&'", "\"**\"", "$accept", "TOP", "pir_contents",
- "opt_nl", "pir_chunks", "pir_chunk", "macro_definition", "macro_const",
- "macro", "macro_header", "macro_parameters", "macro_params",
- "macro_param", "macro_body", "macro_statements", "macro_statement",
- "macro_instr", "macro_label_decl", "macro_local_decl", "loadlib",
- "location_directive", "annotation", "hll_specifier", "hll_mapping",
- "namespace_decl", "opt_namespace", "namespace", "namespace_slice",
- "sub_def", "sub_end", "sub_head", "sub_id", "sub_flags", "sub_flag",
- "multi_type_list", "opt_multi_types", "multi_types", "multi_type",
- "parameter_list", "parameters", "parameter", "param", "param_flags",
- "param_flag", "invocant_param", "unique_reg_flag", "instructions",
- "instruction", "statement", "expansion_stat", "macro_expansion",
- "opt_macro_args", "macro_args", "macro_arg_list", "macro_arg",
- "braced_arg", "braced_contents", "braced_item", "empty_stat",
- "location_stat", "error_stat", "null_stat", "getresults_stat",
- "parrot_stat", "parrot_instruction", "parrot_op", "opt_op_args",
- "op_args", "parrot_op_args", "keylist_assignment", "op_arg",
- "op_arg_expr", "keyaccess", "keylist", "keys", "parrot_op_assign",
- "assignment_stat", "rhs_ident", "assignment", "binary_expr",
- "conditional_stat", "conditional_instr", "condition", "int_or_num",
- "if_unless", "then", "goto_stat", "local_decl", "local_id_list",
- "local_id", "has_unique_reg", "lex_decl", "invocation_stat",
- "invocation", "long_invocation_stat", "opt_long_arguments",
- "long_arguments", "long_argument", "long_invocation", "opt_ret_cont",
- "opt_long_results", "long_results", "long_result",
- "short_invocation_stat", "short_invocation", "simple_invocation",
- "methodcall", "subcall", "sub", "method", "pmc_object",
- "opt_target_list", "opt_list", "target_list", "result_target",
- "target_flags", "target_flag", "return_stat", "return_instr",
- "short_return_stat", "short_yield_stat", "arguments",
+ "\"string register\"", "\"integer register\"", "\"=>\"", "\"!=\"",
+ "\"==\"", "\"<\"", "\"<=\"", "\">\"", "\">=\"", "\">>>\"", "\">>\"",
+ "\"<<\"", "\"//\"", "\"||\"", "\"&&\"", "\"~~\"", "\".\"", "\">>>=\"",
+ "\">>=\"", "\"<<=\"", "\"+=\"", "\"-=\"", "\"*=\"", "\"%=\"", "\"**=\"",
+ "\"/=\"", "\"|=\"", "\"&=\"", "\"//=\"", "\"~=\"", "\".=\"", "\":init\"",
+ "\":load\"", "\":main\"", "\":anon\"", "\":method\"", "\":outer\"",
+ "\":vtable\"", "\":lex\"", "\":multi\"", "\":postcomp\"",
+ "\":immediate\"", "\":subid\"", "\":instanceof\"", "\":nsentry\"",
+ "\":unique_reg\"", "\":named\"", "\":slurpy\"", "\":flat\"",
+ "\":optional\"", "\":opt_flag\"", "\":invocant\"", "\".macro\"",
+ "\".endm\"", "\".macro_local\"", "\".macro_label\"", "\".macro_const\"",
+ "\"macro-label\"", "\"macro-local\"", "\"macro-identifier\"",
+ "\"macro-id-argument\"", "\"macro-argument\"", "\"macro-constant\"",
+ "\"<pasm-input>\"", "\"<pir-input>\"", "\".pcc_sub\"", "\"parrot-op\"",
+ "'('", "')'", "','", "'='", "'['", "']'", "';'", "'{'", "'}'", "'.'",
+ "'-'", "'!'", "'~'", "'+'", "'/'", "'*'", "'%'", "'|'", "'&'", "\"**\"",
+ "$accept", "TOP", "pir_contents", "opt_nl", "pir_chunks", "pir_chunk",
+ "macro_definition", "macro_const", "macro", "macro_header",
+ "macro_parameters", "macro_params", "macro_param", "macro_body",
+ "macro_statements", "macro_statement", "macro_instr", "macro_label_decl",
+ "macro_local_decl", "loadlib", "location_directive", "annotation",
+ "hll_specifier", "hll_mapping", "namespace_decl", "opt_namespace",
+ "namespace", "namespace_slice", "sub_def", "sub_end", "sub_head",
+ "sub_id", "sub_flags", "sub_flag", "multi_type_list", "opt_multi_types",
+ "multi_types", "multi_type", "parameter_list", "parameters", "parameter",
+ "param", "param_flags", "param_flag", "invocant_param",
+ "unique_reg_flag", "instructions", "instruction", "statement",
+ "expansion_stat", "macro_expansion", "opt_macro_args", "macro_args",
+ "macro_arg_list", "macro_arg", "braced_arg", "braced_contents",
+ "braced_item", "empty_stat", "location_stat", "error_stat", "null_stat",
+ "getresults_stat", "parrot_stat", "parrot_instruction", "parrot_op",
+ "opt_op_args", "op_args", "parrot_op_args", "keylist_assignment",
+ "op_arg", "op_arg_expr", "keyaccess", "keylist", "keys",
+ "parrot_op_assign", "assignment_stat", "rhs_ident", "assignment",
+ "binary_expr", "conditional_stat", "conditional_instr", "condition",
+ "int_or_num", "if_unless", "then", "goto_stat", "local_decl",
+ "local_id_list", "local_id", "has_unique_reg", "lex_decl",
+ "invocation_stat", "invocation", "long_invocation_stat",
+ "opt_long_arguments", "long_arguments", "long_argument",
+ "long_invocation", "opt_ret_cont", "opt_long_results", "long_results",
+ "long_result", "short_invocation_stat", "short_invocation",
+ "simple_invocation", "methodcall", "subcall", "sub", "method",
+ "pmc_object", "opt_target_list", "opt_list", "target_list",
+ "result_target", "target_flags", "target_flag", "return_stat",
+ "return_instr", "short_return_stat", "short_yield_stat", "arguments",
"opt_arguments_list", "arguments_list", "argument", "named_arg",
"short_arg", "arg", "long_return_stat", "long_yield_stat",
"opt_yield_expressions", "yield_expressions", "yield_expression",
@@ -1197,58 +1194,58 @@
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- 40, 41, 44, 61, 91, 93, 59, 123, 125, 46,
- 45, 33, 126, 43, 47, 42, 37, 124, 38, 375
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 40,
+ 41, 44, 61, 91, 93, 59, 123, 125, 46, 45,
+ 33, 126, 43, 47, 42, 37, 124, 38, 374
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint16 yyr1[] =
{
- 0, 140, 141, 141, 142, 143, 143, 144, 144, 145,
- 145, 145, 145, 145, 145, 145, 145, 145, 146, 146,
- 147, 148, 149, 150, 150, 151, 151, 152, 153, 153,
- 154, 154, 155, 156, 156, 157, 158, 159, 160, 160,
- 161, 162, 163, 164, 165, 165, 166, 166, 167, 168,
- 169, 170, 171, 171, 172, 172, 173, 173, 173, 173,
- 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
- 174, 175, 175, 176, 176, 177, 177, 177, 178, 179,
- 179, 180, 181, 182, 182, 183, 183, 183, 184, 185,
- 186, 186, 187, 187, 188, 188, 188, 188, 188, 188,
- 188, 188, 188, 188, 188, 188, 188, 188, 188, 189,
- 190, 191, 191, 192, 192, 193, 193, 194, 194, 194,
- 194, 195, 196, 196, 197, 197, 197, 197, 198, 199,
- 200, 201, 202, 203, 204, 204, 205, 206, 206, 207,
- 207, 208, 208, 209, 210, 210, 211, 211, 211, 211,
- 212, 213, 214, 214, 215, 215, 215, 216, 217, 217,
- 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
- 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
- 219, 219, 219, 219, 219, 219, 219, 219, 220, 221,
- 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
- 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
- 221, 221, 221, 222, 222, 222, 222, 222, 222, 222,
- 222, 222, 222, 222, 222, 223, 223, 224, 224, 225,
- 225, 226, 227, 228, 228, 229, 230, 230, 231, 232,
- 233, 233, 234, 235, 235, 236, 236, 237, 238, 238,
- 238, 239, 239, 240, 240, 241, 241, 242, 242, 243,
- 244, 244, 244, 245, 245, 246, 247, 248, 248, 249,
- 249, 249, 249, 250, 250, 251, 252, 252, 253, 253,
- 254, 254, 255, 255, 256, 256, 256, 256, 257, 258,
- 258, 258, 258, 259, 259, 260, 261, 262, 262, 263,
- 263, 264, 264, 265, 266, 267, 268, 269, 270, 270,
- 271, 271, 272, 273, 273, 274, 274, 275, 276, 276,
- 277, 277, 278, 278, 279, 280, 281, 281, 282, 283,
- 284, 284, 284, 284, 285, 285, 286, 286, 286, 286,
- 287, 287, 288, 288, 288, 288, 288, 288, 289, 289,
- 289, 289, 290, 291, 291, 292, 292, 292, 292, 293,
- 293, 294, 294, 294, 294, 294, 294, 294, 294, 295,
- 295, 295, 296, 296, 296, 296, 296, 296, 296, 296,
- 296, 296, 296, 296, 296, 296, 296, 296, 296, 296,
- 296, 296, 296, 296, 296, 297, 297, 297, 297, 297,
- 297, 297, 297, 297, 297, 297, 297, 298, 299, 300,
- 300, 301, 301, 301, 301, 301, 301, 302, 302, 302,
- 303, 303, 304, 305, 306
+ 0, 139, 140, 140, 141, 142, 142, 143, 143, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144, 145, 145,
+ 146, 147, 148, 149, 149, 150, 150, 151, 152, 152,
+ 153, 153, 154, 155, 155, 156, 157, 158, 159, 159,
+ 160, 161, 162, 163, 164, 164, 165, 165, 166, 167,
+ 168, 169, 170, 170, 171, 171, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 173, 174, 174, 175, 175, 176, 176, 176, 177, 178,
+ 178, 179, 180, 181, 181, 182, 182, 182, 183, 184,
+ 185, 185, 186, 186, 187, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 188,
+ 189, 190, 190, 191, 191, 192, 192, 193, 193, 193,
+ 193, 194, 195, 195, 196, 196, 196, 196, 197, 198,
+ 199, 200, 201, 202, 203, 203, 204, 205, 205, 206,
+ 206, 207, 207, 208, 209, 209, 210, 210, 210, 210,
+ 211, 212, 213, 213, 214, 214, 214, 215, 216, 216,
+ 217, 217, 217, 217, 217, 217, 217, 217, 217, 217,
+ 217, 217, 217, 217, 217, 217, 217, 217, 217, 217,
+ 218, 218, 218, 218, 218, 218, 218, 218, 219, 220,
+ 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
+ 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
+ 220, 220, 220, 221, 221, 221, 221, 221, 221, 221,
+ 221, 221, 221, 221, 221, 222, 222, 223, 223, 224,
+ 224, 225, 226, 227, 227, 228, 229, 229, 230, 231,
+ 232, 232, 233, 234, 234, 235, 235, 236, 237, 237,
+ 237, 238, 238, 239, 239, 240, 240, 241, 241, 242,
+ 243, 243, 243, 244, 244, 245, 246, 247, 247, 248,
+ 248, 248, 248, 249, 249, 250, 251, 251, 252, 252,
+ 253, 253, 254, 254, 255, 255, 255, 255, 256, 257,
+ 257, 257, 257, 258, 258, 259, 260, 261, 261, 262,
+ 262, 263, 263, 264, 265, 266, 267, 268, 269, 269,
+ 270, 270, 271, 272, 272, 273, 273, 274, 275, 275,
+ 276, 276, 277, 277, 278, 279, 280, 280, 281, 282,
+ 283, 283, 283, 283, 284, 284, 285, 285, 285, 286,
+ 286, 287, 287, 287, 287, 287, 287, 288, 288, 288,
+ 288, 289, 290, 290, 291, 291, 291, 291, 292, 292,
+ 293, 293, 293, 293, 293, 293, 293, 293, 294, 294,
+ 294, 295, 295, 295, 295, 295, 295, 295, 295, 295,
+ 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
+ 295, 295, 295, 295, 296, 296, 296, 296, 296, 296,
+ 296, 296, 296, 296, 296, 296, 297, 298, 299, 299,
+ 300, 300, 300, 300, 300, 300, 301, 301, 301, 302,
+ 302, 303, 304, 305
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -1294,9 +1291,9 @@
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 2, 1, 1,
- 2, 1, 2, 1, 2, 2, 1, 2, 2, 1,
- 1, 1, 3, 1, 3
+ 1, 1, 1, 1, 1, 1, 2, 1, 1, 2,
+ 1, 2, 1, 2, 2, 1, 2, 2, 1, 1,
+ 1, 3, 1, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -1304,66 +1301,66 @@
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
- 0, 5, 5, 0, 6, 408, 3, 0, 2, 0,
+ 0, 5, 5, 0, 6, 407, 3, 0, 2, 0,
1, 0, 0, 0, 0, 0, 136, 0, 0, 111,
- 423, 0, 18, 19, 0, 0, 0, 416, 139, 413,
- 407, 409, 411, 0, 54, 419, 0, 0, 0, 0,
+ 422, 0, 18, 19, 0, 0, 0, 415, 139, 412,
+ 406, 408, 410, 0, 54, 418, 0, 0, 0, 0,
0, 0, 5, 7, 17, 14, 15, 16, 12, 13,
- 11, 9, 54, 10, 0, 38, 39, 44, 128, 420,
- 417, 421, 359, 364, 365, 367, 366, 361, 362, 368,
- 363, 22, 360, 0, 113, 0, 415, 23, 414, 412,
- 336, 339, 337, 338, 355, 356, 358, 357, 0, 0,
- 140, 141, 144, 149, 145, 0, 146, 148, 147, 410,
- 418, 0, 41, 0, 37, 53, 51, 52, 0, 0,
- 0, 0, 328, 0, 6, 4, 0, 0, 48, 0,
- 45, 46, 20, 111, 117, 118, 122, 0, 114, 115,
- 120, 110, 0, 24, 25, 27, 355, 0, 152, 335,
- 334, 352, 353, 354, 424, 0, 150, 422, 57, 58,
- 59, 56, 322, 0, 322, 60, 0, 61, 62, 0,
- 0, 0, 55, 0, 0, 0, 0, 0, 0, 8,
- 79, 274, 0, 273, 43, 0, 119, 0, 112, 0,
- 0, 0, 151, 0, 142, 0, 65, 323, 0, 66,
- 71, 63, 67, 68, 69, 42, 0, 0, 0, 0,
- 40, 90, 78, 238, 47, 124, 111, 126, 125, 121,
- 123, 116, 28, 26, 153, 0, 0, 76, 0, 72,
- 73, 77, 75, 330, 331, 332, 333, 0, 0, 80,
- 127, 0, 0, 0, 29, 30, 0, 33, 34, 324,
- 64, 70, 0, 0, 50, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 136, 361, 362, 368, 363,
- 268, 355, 276, 0, 49, 91, 93, 107, 109, 105,
- 106, 108, 104, 103, 94, 0, 139, 135, 102, 0,
- 95, 0, 0, 96, 97, 98, 101, 239, 240, 241,
- 0, 262, 264, 263, 0, 267, 0, 100, 288, 289,
- 291, 290, 292, 99, 0, 326, 327, 0, 354, 360,
- 348, 349, 350, 351, 83, 0, 0, 35, 21, 31,
- 32, 74, 130, 0, 329, 297, 0, 0, 308, 313,
- 243, 0, 0, 92, 0, 0, 0, 0, 0, 277,
- 278, 282, 129, 133, 134, 137, 138, 145, 157, 188,
- 359, 364, 365, 367, 366, 361, 362, 368, 363, 336,
- 337, 338, 0, 0, 0, 353, 259, 266, 0, 0,
- 325, 406, 404, 405, 0, 0, 395, 396, 397, 398,
- 400, 401, 399, 402, 403, 0, 0, 0, 0, 82,
- 36, 0, 233, 236, 336, 0, 298, 299, 302, 301,
- 318, 305, 293, 295, 0, 0, 309, 310, 0, 0,
- 314, 315, 0, 0, 244, 245, 132, 294, 131, 231,
- 0, 0, 275, 0, 280, 0, 229, 230, 0, 0,
+ 11, 9, 54, 10, 0, 38, 39, 44, 128, 419,
+ 416, 420, 358, 363, 364, 366, 365, 360, 361, 367,
+ 362, 22, 359, 0, 113, 0, 414, 23, 413, 411,
+ 339, 340, 336, 337, 354, 355, 357, 356, 0, 0,
+ 140, 141, 144, 149, 145, 0, 146, 338, 148, 147,
+ 409, 417, 0, 41, 0, 37, 53, 51, 52, 0,
+ 0, 0, 0, 328, 0, 6, 4, 0, 0, 48,
+ 0, 45, 46, 20, 111, 117, 118, 122, 0, 114,
+ 115, 120, 110, 0, 24, 25, 27, 354, 0, 152,
+ 335, 334, 351, 352, 353, 423, 0, 150, 421, 57,
+ 58, 59, 56, 322, 0, 322, 60, 0, 61, 62,
+ 0, 0, 0, 55, 0, 0, 0, 0, 0, 0,
+ 8, 79, 274, 0, 273, 43, 0, 119, 0, 112,
+ 0, 0, 0, 151, 0, 142, 0, 65, 323, 0,
+ 66, 71, 63, 67, 68, 69, 42, 0, 0, 0,
+ 0, 40, 90, 78, 238, 47, 124, 111, 126, 125,
+ 121, 123, 116, 28, 26, 153, 0, 0, 76, 0,
+ 72, 73, 77, 75, 330, 331, 332, 333, 0, 0,
+ 80, 127, 0, 0, 0, 29, 30, 0, 33, 34,
+ 324, 64, 70, 0, 0, 50, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 136, 360, 361, 367,
+ 362, 268, 354, 276, 0, 49, 91, 93, 107, 109,
+ 105, 106, 108, 104, 103, 94, 0, 139, 135, 102,
+ 0, 95, 0, 0, 96, 97, 98, 101, 239, 240,
+ 241, 0, 262, 264, 263, 0, 267, 0, 100, 288,
+ 289, 291, 290, 292, 99, 0, 326, 327, 0, 353,
+ 359, 347, 348, 349, 350, 83, 0, 0, 35, 21,
+ 31, 32, 74, 130, 0, 329, 297, 0, 0, 308,
+ 313, 243, 0, 0, 92, 0, 0, 0, 0, 0,
+ 277, 278, 282, 129, 133, 134, 137, 138, 145, 157,
+ 188, 358, 363, 364, 366, 365, 360, 361, 367, 362,
+ 339, 336, 337, 0, 0, 0, 352, 259, 266, 0,
+ 0, 325, 405, 403, 404, 0, 0, 394, 395, 396,
+ 397, 399, 400, 398, 401, 402, 0, 0, 0, 0,
+ 82, 36, 0, 233, 236, 339, 0, 298, 299, 302,
+ 301, 318, 305, 293, 295, 0, 0, 309, 310, 0,
+ 0, 314, 315, 0, 0, 244, 245, 132, 294, 131,
+ 231, 0, 0, 275, 0, 280, 0, 229, 230, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 342, 343,
- 344, 345, 347, 346, 0, 0, 0, 0, 0, 0,
- 0, 272, 270, 271, 0, 269, 260, 170, 171, 174,
- 172, 173, 175, 359, 268, 341, 160, 161, 355, 369,
- 370, 371, 0, 164, 165, 261, 162, 0, 353, 360,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 341,
+ 342, 343, 344, 346, 345, 0, 0, 0, 0, 0,
+ 0, 0, 272, 270, 271, 0, 269, 260, 170, 171,
+ 174, 172, 173, 175, 358, 268, 160, 161, 354, 368,
+ 369, 370, 0, 164, 165, 261, 162, 0, 352, 359,
0, 169, 0, 81, 89, 322, 286, 284, 285, 0,
84, 86, 87, 85, 232, 0, 237, 235, 0, 296,
0, 304, 0, 0, 311, 0, 0, 316, 0, 0,
0, 0, 0, 246, 179, 281, 279, 283, 143, 200,
202, 203, 204, 205, 206, 207, 0, 0, 0, 0,
- 0, 0, 0, 0, 363, 210, 0, 211, 208, 209,
+ 0, 0, 0, 0, 362, 210, 0, 211, 208, 209,
221, 225, 226, 222, 216, 223, 217, 218, 214, 224,
- 219, 220, 215, 212, 198, 213, 201, 265, 394, 389,
- 391, 390, 393, 392, 382, 383, 384, 387, 385, 386,
- 388, 381, 373, 379, 372, 374, 375, 376, 377, 378,
- 380, 0, 0, 0, 168, 155, 166, 0, 167, 176,
+ 219, 220, 215, 212, 198, 213, 201, 265, 393, 388,
+ 390, 389, 392, 391, 381, 382, 383, 386, 384, 385,
+ 387, 380, 372, 378, 371, 373, 374, 375, 376, 377,
+ 379, 0, 0, 0, 168, 155, 166, 0, 167, 176,
178, 287, 0, 234, 303, 300, 322, 320, 319, 312,
307, 317, 306, 247, 0, 251, 267, 249, 253, 189,
190, 191, 192, 193, 194, 195, 197, 196, 199, 183,
@@ -1377,419 +1374,415 @@
static const yytype_int16 yydefgoto[] =
{
-1, 3, 8, 5, 42, 43, 21, 22, 23, 24,
- 132, 133, 134, 233, 234, 235, 236, 237, 238, 45,
- 25, 47, 48, 49, 26, 119, 120, 121, 51, 264,
- 52, 106, 101, 162, 191, 218, 219, 220, 201, 202,
- 229, 314, 388, 500, 501, 502, 227, 265, 266, 267,
- 27, 75, 127, 128, 129, 130, 177, 210, 59, 270,
- 271, 272, 273, 274, 275, 28, 344, 89, 90, 346,
- 91, 92, 93, 94, 137, 277, 278, 483, 279, 484,
- 280, 281, 362, 553, 282, 428, 283, 284, 391, 392,
- 507, 29, 286, 287, 288, 413, 414, 415, 522, 644,
- 647, 648, 649, 289, 290, 291, 292, 293, 294, 464,
- 95, 296, 338, 339, 340, 424, 503, 297, 298, 299,
- 300, 326, 395, 396, 397, 398, 399, 400, 301, 302,
- 405, 406, 407, 409, 410, 411, 511, 608, 186, 187,
- 303, 304, 53, 306, 112, 401, 139, 486, 454, 315,
- 140, 141, 142, 143, 72, 490, 591, 386, 6, 7,
+ 133, 134, 135, 234, 235, 236, 237, 238, 239, 45,
+ 25, 47, 48, 49, 26, 120, 121, 122, 51, 265,
+ 52, 107, 102, 163, 192, 219, 220, 221, 202, 203,
+ 230, 315, 389, 500, 501, 502, 228, 266, 267, 268,
+ 27, 75, 128, 129, 130, 131, 178, 211, 59, 271,
+ 272, 273, 274, 275, 276, 28, 345, 89, 90, 347,
+ 91, 92, 93, 94, 138, 278, 279, 483, 280, 484,
+ 281, 282, 363, 553, 283, 429, 284, 285, 392, 393,
+ 507, 29, 287, 288, 289, 414, 415, 416, 522, 644,
+ 647, 648, 649, 290, 291, 292, 293, 294, 295, 465,
+ 95, 297, 339, 340, 341, 425, 503, 298, 299, 300,
+ 301, 327, 396, 397, 398, 399, 400, 401, 302, 303,
+ 406, 407, 408, 410, 411, 412, 511, 608, 187, 188,
+ 304, 305, 53, 307, 113, 402, 140, 97, 455, 316,
+ 141, 142, 143, 144, 72, 490, 591, 387, 6, 7,
30, 31, 32, 60, 33, 34, 35
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -593
+#define YYPACT_NINF -596
static const yytype_int16 yypact[] =
{
- 118, 6, 6, 46, -593, -593, -593, 14, -593, 25,
- -593, 69, 9, 81, 13, 132, -593, 627, 106, 27,
- -593, 128, -593, -593, 60, 192, 213, -593, 549, -593,
- 14, -593, -593, 132, -593, -593, 138, 210, 212, 1017,
- 103, 214, 234, -593, -593, -593, -593, -593, -593, -593,
- -593, -593, -593, -593, 152, -593, -593, 230, -593, -593,
- -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
- -593, -593, -593, 162, 48, 247, -593, 627, -593, -593,
- -593, -593, -593, -593, 159, -593, -593, -593, 725, 250,
- 168, -593, -593, -593, -593, 167, -593, -593, 173, -593,
- -593, 604, -593, 169, -593, -593, -593, -593, 627, 627,
- 627, 627, -593, 178, 25, -593, 590, 1003, -593, 177,
- 181, -593, -593, 27, -593, -593, -593, 187, 189, -593,
- -593, -593, 188, 202, -593, -593, -593, 142, -593, -593,
- -593, -593, -593, -593, -593, 549, -593, -593, -593, -593,
- -593, -593, 205, 206, 205, -593, 211, -593, -593, 205,
- 205, 205, -593, 286, 216, 217, 218, 219, 287, -593,
- -593, -593, 299, -593, -593, 230, -593, -3, -593, 48,
- 300, 627, -593, 725, -593, 290, -593, -593, 1017, -593,
- 24, -593, -593, -593, -593, -593, 289, 295, 301, 49,
- -593, -593, 337, -593, -593, -593, 27, -593, -593, -593,
- -593, -593, 136, -593, -593, 225, 228, -593, 229, 231,
- -593, -593, -593, -593, -593, -593, -593, 277, 200, -593,
- -593, 200, 245, 251, 136, -593, 321, -593, -593, -593,
- -593, -593, 24, 323, -593, 200, 103, 239, 239, 326,
- 327, 328, 244, 989, 529, 632, 751, 768, 972, 627,
- -593, 84, 938, 331, -593, -593, -593, -593, -593, -593,
- -593, -593, -593, -593, -593, 332, 549, -593, -593, 334,
- -593, 335, 785, -593, -593, -593, -593, -593, -593, -593,
- 336, -593, -593, -593, 239, 243, 252, -593, -593, -593,
- -593, -593, -593, -593, 338, -593, -593, 664, 11, 167,
- -593, -593, -593, -593, -593, 627, 263, -593, -593, -593,
- -593, -593, -593, 627, -593, 802, 341, 343, 359, 360,
- 350, 351, 353, -593, 355, 357, 262, 339, 272, 273,
- -593, -593, -593, -593, -593, -593, -593, 276, -593, -593,
- -6, -6, -6, -6, -6, -6, -6, 455, -5, 163,
- 163, 163, 356, -6, 163, -6, -593, -593, 408, 989,
- -593, -593, -593, -593, 870, 887, -593, -593, -593, -593,
- -593, -593, -593, -593, -593, 149, 725, 279, 79, -593,
- -593, -20, -593, 298, 345, 282, 285, -593, -593, -593,
- -593, -593, -593, -593, 725, 386, 359, -593, 725, 393,
- 360, -593, 725, 76, 350, -593, -593, -593, -593, -593,
- 725, 972, -593, 938, 130, 725, -593, -593, 627, 627,
- 627, 627, 627, 627, 627, 374, 375, 376, 377, 378,
- 379, 380, 382, 1027, -6, 627, 627, 627, -593, -593,
- -593, -593, -593, -593, 819, 836, 853, 627, 627, 725,
- 627, -593, -593, -593, 239, -593, -593, -593, -593, -593,
- -593, -593, -593, 432, 20, -593, 594, 594, 84, -593,
- -593, -593, 549, -593, -593, -593, -593, 594, 396, -21,
- 725, -593, 725, -593, -593, 205, -593, -593, -593, 312,
- -593, -593, -593, -593, -593, 627, -593, -593, 725, -593,
- 802, 151, 398, 399, -593, 400, 402, -593, 403, 1003,
- 989, 1003, 404, -593, -593, -593, -593, -593, -593, -593,
- -593, -593, -593, -593, -593, -593, 627, 627, 627, 627,
- 627, 627, 627, 627, 627, -593, 627, -593, -593, -593,
- -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
- -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
- -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
- -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
- -593, 955, 904, 921, -593, 320, 322, 725, -593, -593,
- -593, -593, 24, -593, -593, -593, 205, -593, -593, -593,
- -593, -593, -593, -593, 421, 340, -593, -593, 21, -593,
- -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
- -593, -593, -593, -593, -593, -593, -593, 549, 549, -593,
- 342, -593, 446, 1003, -593, 938, -593, 437, 21, -593,
- 168, 168, -593, 408, -593, 431, 433, -593, -593, -593,
- -593
+ -67, -7, -7, 38, -596, -596, -596, 20, -596, 72,
+ -596, -2, 36, 51, -15, 88, -596, 333, 67, 52,
+ -596, 95, -596, -596, 56, 120, 150, -596, 610, -596,
+ 20, -596, -596, 88, -596, -596, 137, 166, 168, 1000,
+ 97, 170, 187, -596, -596, -596, -596, -596, -596, -596,
+ -596, -596, -596, -596, 102, -596, -596, 178, -596, -596,
+ -596, -596, -596, -596, -596, -596, -596, -596, -596, -596,
+ -596, -596, -596, 114, 33, 194, -596, 333, -596, -596,
+ -596, -596, -596, -596, 107, -596, -596, -596, 757, 196,
+ 111, -596, -596, -596, -596, 110, -596, -596, -596, 113,
+ -596, -596, 628, -596, 112, -596, -596, -596, -596, 333,
+ 333, 333, 333, -596, 118, 72, -596, 609, 360, -596,
+ 116, 117, -596, -596, 52, -596, -596, -596, 121, 123,
+ -596, -596, -596, 125, 128, -596, -596, -596, -8, -596,
+ -596, -596, -596, -596, -596, -596, 610, -596, -596, -596,
+ -596, -596, -596, 132, 134, 132, -596, 135, -596, -596,
+ 132, 132, 132, -596, 209, 139, 152, 153, 154, 213,
+ -596, -596, -596, 246, -596, -596, 178, -596, 0, -596,
+ 33, 247, 333, -596, 757, -596, 238, -596, -596, 1000,
+ -596, 226, -596, -596, -596, -596, -596, 241, 242, 244,
+ 115, -596, -596, 288, -596, -596, -596, 52, -596, -596,
+ -596, -596, -596, 103, -596, -596, 177, 181, -596, 183,
+ 184, -596, -596, -596, -596, -596, -596, -596, 276, 180,
+ -596, -596, 180, 199, 205, 103, -596, 289, -596, -596,
+ -596, -596, -596, 226, 290, -596, 180, 97, 204, 204,
+ 306, 307, 309, 227, 293, 527, 665, 779, 796, 590,
+ 333, -596, -23, 966, 312, -596, -596, -596, -596, -596,
+ -596, -596, -596, -596, -596, -596, 315, 610, -596, -596,
+ 316, -596, 319, 813, -596, -596, -596, -596, -596, -596,
+ -596, 320, -596, -596, -596, 204, 228, 235, -596, -596,
+ -596, -596, -596, -596, -596, 323, -596, -596, 693, -55,
+ 110, -596, -596, -596, -596, -596, 333, 249, -596, -596,
+ -596, -596, -596, -596, 333, -596, 830, 325, 327, 344,
+ 345, 335, 332, 346, -596, 351, 353, 258, 314, 270,
+ 271, -596, -596, -596, -596, -596, -596, -596, 269, -596,
+ -596, -30, -30, -30, -30, -30, -30, -30, 455, -19,
+ 148, 148, 148, 348, -30, 148, -30, -596, -596, 408,
+ 293, -596, -596, -596, -596, 898, 915, -596, -596, -596,
+ -596, -596, -596, -596, -596, -596, 149, 757, 272, 55,
+ -596, -596, -22, -596, 322, 366, 301, 302, -596, -596,
+ -596, -596, -596, -596, -596, 757, 399, 344, -596, 757,
+ 400, 345, -596, 757, 13, 335, -596, -596, -596, -596,
+ -596, 757, 590, -596, 966, 80, 757, -596, -596, 333,
+ 333, 333, 333, 333, 333, 333, 379, 381, 383, 387,
+ 388, 389, 390, 392, 1010, -30, 333, 333, 333, -596,
+ -596, -596, -596, -596, -596, 847, 864, 881, 333, 333,
+ 757, 333, -596, -596, -596, 204, -596, -596, -596, -596,
+ -596, -596, -596, -596, 429, 539, 623, 623, -23, -596,
+ -596, -596, 610, -596, -596, -596, -596, 623, 403, -14,
+ 757, -596, 757, -596, -596, 132, -596, -596, -596, 321,
+ -596, -596, -596, -596, -596, 333, -596, -596, 757, -596,
+ 830, 34, 404, 421, -596, 426, 427, -596, 428, 360,
+ 293, 360, 448, -596, -596, -596, -596, -596, -596, -596,
+ -596, -596, -596, -596, -596, -596, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, -596, 333, -596, -596, -596,
+ -596, -596, -596, -596, -596, -596, -596, -596, -596, -596,
+ -596, -596, -596, -596, -596, -596, -596, -596, -596, -596,
+ -596, -596, -596, -596, -596, -596, -596, -596, -596, -596,
+ -596, -596, -596, -596, -596, -596, -596, -596, -596, -596,
+ -596, 983, 932, 949, -596, 363, 364, 757, -596, -596,
+ -596, -596, 226, -596, -596, -596, 132, -596, -596, -596,
+ -596, -596, -596, -596, 451, 368, -596, -596, 31, -596,
+ -596, -596, -596, -596, -596, -596, -596, -596, -596, -596,
+ -596, -596, -596, -596, -596, -596, -596, 610, 610, -596,
+ 367, -596, 475, 360, -596, 966, -596, 416, 31, -596,
+ 111, 111, -596, 408, -596, 456, 466, -596, -596, -596,
+ -596
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -593, -593, -593, 32, -593, 372, 8, -593, -593, -593,
- -593, -593, 306, -593, -593, 255, -593, -593, -593, -593,
- -1, -593, -593, -593, 10, -593, -593, 315, -593, -593,
- -593, 303, 449, -593, -593, -593, -593, -237, -593, -593,
- -593, -593, -593, -593, -593, -593, -593, -593, 253, -593,
- -207, -102, -593, -593, 329, -593, -593, -593, -183, -593,
- -593, -593, -593, -593, -593, -217, -593, 233, -366, -593,
- 361, 28, -593, -91, -593, -593, -593, -593, -593, -593,
- -593, -593, -593, -593, -593, -90, -593, -592, -593, 7,
- -593, -179, -593, -593, -593, -593, -593, 99, -593, -593,
- -593, -593, -134, -593, -593, -240, -593, -593, -4, -136,
- -115, 266, -593, -593, -414, -593, 107, -593, -593, -593,
- -593, -236, -593, -593, 22, -593, -201, 26, -593, -593,
- -593, -593, 127, -593, -593, 125, -593, -593, -147, 56,
- -593, -593, -121, -593, 291, -82, -27, -593, -155, -124,
- -209, -593, -25, -17, -211, -593, -341, -593, -593, -593,
- -593, 506, -593, 509, -593, -593, 39
+ -596, -596, -596, 16, -596, 391, 5, -596, -596, -596,
+ -596, -596, 326, -596, -596, 275, -596, -596, -596, -596,
+ 7, -596, -596, -596, 11, -596, -596, 331, -596, -596,
+ -596, 324, 459, -596, -596, -596, -596, -239, -596, -596,
+ -596, -596, -596, -596, -596, -596, -596, -596, 257, -596,
+ -203, -100, -596, -596, 334, -596, -596, -596, -196, -596,
+ -596, -596, -596, -596, -596, -218, -596, 240, -498, -596,
+ 369, 49, -596, -93, -596, -596, -596, -596, -596, -596,
+ -596, -596, -596, -596, -596, -285, -596, -595, -596, 27,
+ -596, -194, -596, -596, -596, -596, -596, 119, -596, -596,
+ -596, -596, -130, -596, -596, -237, -596, -596, 15, -120,
+ -113, 287, -596, -596, -418, -596, 122, -596, -596, -596,
+ -596, -240, -596, -596, 40, -596, -295, 46, -596, -596,
+ -596, -596, 141, -596, -596, 130, -596, -596, -147, -74,
+ -596, -596, -192, -596, 295, -81, -27, 171, -214, -166,
+ -209, -596, -25, -17, -216, -596, -436, -596, -596, -596,
+ -596, 526, -596, 525, -596, -596, 32
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -360
+#define YYTABLE_NINF -359
static const yytype_int16 yytable[] =
{
- 71, 96, 172, 97, 146, 321, 138, 189, 46, 526,
- 276, 98, 327, 332, -159, 504, 309, 44, 307, 50,
- 268, 176, 107, 11, 12, 13, 646, 14, 36, 37,
- 38, 39, 205, 245, 9, 12, 13, 276, 14, 426,
- 446, 4, 40, 309, 269, 307, 10, 268, 285, 334,
- 15, 16, 645, 341, 61, -340, 646, 55, 367, 41,
- 135, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 217, 269, 61, 364, 115, 285, 568, 569, 570, 571,
- 572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
- 519, 164, 165, 166, 167, 80, 81, 82, 83, 221,
- 173, 214, 505, 88, 230, 520, 305, 316, 521, 206,
- 207, 208, 295, 46, 493, 54, 427, 447, 96, 17,
- 97, 323, 44, 18, 50, 209, 19, 56, 98, 466,
- 17, -273, 20, 305, 18, 592, 593, 57, 295, 295,
- -273, 108, 109, 73, 110, 485, 597, 74, 88, 111,
- 582, 221, 583, 584, 585, 586, 587, 588, 589, 590,
- 123, 124, 125, 76, 135, 469, 472, 58, 482, 16,
- 336, 107, 226, 222, 489, 126, 487, 494, 495, 496,
- 77, 497, 498, 499, 102, 347, 473, 63, 64, 65,
- 66, 67, 68, 69, 70, 474, 475, 476, 477, 478,
- 85, 86, 87, 512, -274, 455, 456, 515, 88, 459,
- 308, 518, 525, -274, 341, 192, 193, 194, 387, 448,
- 449, 450, 451, 452, 453, 222, 263, 78, 567, 495,
- 496, 655, 497, 498, 1, 2, 173, 308, 310, 311,
- 312, 313, 335, 231, 232, 554, 558, 562, 79, 96,
- 606, 97, 607, 263, 295, 363, 103, 365, 104, 98,
- 113, 429, 430, 431, 432, 433, 434, 182, 183, 114,
- 295, 650, 651, 458, 117, 460, 118, 122, 243, 479,
- 480, 481, 131, -274, 244, 144, 11, 12, 13, 245,
- 145, 88, 163, 246, 40, 247, 248, -273, 389, 249,
- 168, 250, 174, 251, 491, 252, 393, 175, 178, 180,
- 253, 179, 58, 254, 255, 63, 64, 65, 66, 256,
- 257, 258, 259, 260, 181, 185, 188, 261, 85, 86,
- 87, 190, 195, 200, 203, 212, 215, 223, 524, 196,
- 197, 198, 199, 528, 224, 228, 239, 225, 601, 240,
- 241, 465, 173, 242, 546, 317, 320, 318, 322, 325,
- 488, 328, 329, 330, 262, 640, 342, 343, 308, 348,
- 349, 366, 368, 370, 390, 369, 402, 565, 403, 404,
- 412, 408, 630, 633, 636, 420, 416, 594, 417, 19,
- 418, 596, 419, 422, 421, 423, 506, 262, 598, 425,
- 508, 457, 492, 509, 614, 616, 617, 510, 599, 513,
- 600, 529, 530, 531, 532, 533, 534, 535, 516, 536,
- 537, 538, 539, 540, 541, 542, 545, 543, 547, 548,
- 549, -163, 602, 609, 610, 611, 341, 612, 613, 618,
- 563, 564, 637, 566, 638, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 461, 96, 642, 97, 462, 641,
- 463, 653, 643, 652, 656, 98, 659, -158, 660, -136,
+ 71, 96, 147, 98, 322, 173, 526, 139, 190, 328,
+ 277, 99, 310, 504, 44, 427, 46, 333, 9, 308,
+ 50, -159, 108, 646, 177, 269, 447, 519, 4, 11,
+ 12, 13, 270, 14, 286, 206, 306, 277, 10, 310,
+ 592, 593, 520, 246, 54, 521, 308, 61, 1, 2,
+ 335, 597, 269, 646, 342, 368, 15, 16, 116, 270,
+ 136, 286, 645, 306, -273, 61, 317, 430, 431, 432,
+ 433, 434, 435, -273, 365, 36, 37, 38, 39, 459,
+ 324, 461, 12, 13, 55, 14, 193, 194, 195, 40,
+ 493, 428, 165, 166, 167, 168, -274, 56, 222, 505,
+ 88, 174, 448, 215, 73, -274, 41, 231, 57, 88,
+ 512, 207, 208, 209, 515, 296, 183, 184, 518, 96,
+ 44, 98, 46, 58, 17, 16, 50, 210, 18, 99,
+ 76, 19, 606, 467, 607, 109, 110, 20, 111, 650,
+ 651, 296, 296, 112, 124, 125, 126, 456, 457, 485,
+ 222, 460, 494, 495, 496, 78, 497, 498, 499, 127,
+ 546, 80, 81, 82, 83, 136, 470, 473, 482, 337,
+ 489, 74, 108, 227, 223, 77, 17, 487, 495, 496,
+ 18, 497, 498, 103, 348, 79, 474, 63, 64, 65,
+ 66, 67, 68, 69, 70, 475, 81, 476, 477, 478,
+ 85, 86, 87, 449, 450, 451, 452, 453, 454, 232,
+ 233, 309, 104, 525, 105, 342, 114, 388, 311, 312,
+ 313, 314, 115, 118, 119, 567, 223, 655, 123, 132,
+ -274, 145, 146, 88, 164, 264, -273, 174, 309, 169,
+ 175, 179, 176, 336, 180, 181, 554, 558, 562, 182,
+ 96, 186, 98, 189, 191, 196, 364, 296, 366, 201,
+ 99, 197, 264, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 218, 296, 198, 199, 200, 244, 479, 480,
+ 481, 204, 213, 245, 216, 11, 12, 13, 246, 224,
+ 226, 225, 247, 40, 248, 249, 229, 240, 250, 390,
+ 251, 241, 252, 242, 253, 243, 491, 394, 318, 254,
+ 319, 58, 255, 256, 63, 64, 65, 66, 257, 258,
+ 259, 260, 261, 326, 321, 323, 262, 85, 86, 87,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 261,
+ 524, 329, 330, 172, 331, 528, 263, 343, 601, 88,
+ 344, 349, 466, 174, 350, 367, 369, 370, 371, 391,
+ 403, 488, 404, 640, 405, 413, 409, 417, 422, 309,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 565,
+ 421, 418, 630, 633, 636, 594, 419, 19, 420, 596,
+ 423, 426, 424, 458, 492, 263, 598, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 614, 616, 617, 599,
+ 172, 600, 529, 530, 531, 532, 533, 534, 535, 506,
+ 508, 509, 513, 510, 536, 516, 537, 545, 538, 547,
+ 548, 549, 539, 540, 541, 542, 342, 543, -163, 609,
+ 602, 563, 564, 656, 566, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 462, 96, 610, 98, 463, 641,
+ 464, 611, 612, 613, -158, 99, -136, -136, -136, -136,
-136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
- -136, -136, -136, -136, -136, -136, 169, 213, 393, 319,
- 204, 216, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 116, 173, 173, 173, 444, 184, 333, 211, 345,
- 595, 221, 603, 523, 657, 639, 615, 658, 331, 619,
- 620, 621, 622, 623, 624, 625, 626, 627, 654, 628,
- 243, 527, 605, 514, 604, 517, 99, 324, 11, 12,
- 13, 245, 100, 0, 0, 246, 40, 247, 248, 0,
- 0, 249, 0, 250, 0, 251, -136, 252, 0, 0,
- 0, 0, 253, 0, 58, 0, 255, 63, 64, 65,
- 66, 256, 257, 258, 259, 260, 0, 445, 0, 261,
- 85, 86, 87, 0, 0, 222, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 80, 81, 82, 83, 84,
- 85, 86, 87, 0, 0, 0, 0, 0, 0, 0,
- 96, 96, 97, 97, 0, 0, 0, 0, 0, 0,
- 98, 98, 0, 0, 0, 170, 173, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 465, 0, 0, 0,
- 147, 19, 0, 0, 0, 0, 0, 0, 0, 262,
- 568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
- 578, 579, 580, 581, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 88, 148, 149, 150, 151, 152, 153,
- 154, 155, 156, 157, 158, 159, 160, 161, 148, 149,
- 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
- 160, 161, -359, -359, -359, -359, -359, -359, -359, -359,
- -359, -359, -359, -359, -359, -359, 0, 0, 0, 0,
- 0, 0, 0, 0, 582, 0, 583, 584, 585, 586,
- 587, 588, 589, 590, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 380, 381, 382, 383, 384, 0, 0,
- 0, 0, -359, 0, 0, -359, 0, 0, 0, 0,
- 0, -359, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, 80, 81, 82, 83, 136, 85, 86, 87, 0,
- 0, 0, 0, 0, 0, 0, 0, 385, -227, -227,
+ -136, -136, -136, 618, 637, 638, 642, 652, 394, 643,
+ 653, 659, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 660, 174, 174, 174, 445, 170, 205, 214, 222,
+ 320, 117, 334, 217, 212, 185, 639, 346, 657, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 244, 628,
+ 654, 595, 603, 658, 523, 615, 11, 12, 13, 246,
+ 332, 517, 325, 247, 40, 248, 249, 527, 514, 250,
+ 605, 251, -136, 252, 604, 253, 100, 486, 101, 0,
+ 254, 0, 58, 0, 256, 63, 64, 65, 66, 257,
+ 258, 259, 260, 261, -339, 0, 446, 262, 85, 86,
+ 87, 0, 0, 0, 0, 223, 0, 0, 0, 0,
+ 0, 0, 0, 0, 568, 569, 570, 571, 572, 573,
+ 574, 575, 576, 577, 578, 579, 580, 581, 0, 0,
+ 96, 96, 98, 98, 0, 0, 0, 0, 0, 0,
+ 99, 99, 0, 0, 0, 0, 174, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 466, 0, 19, 0,
+ 137, 85, 86, 87, 171, 0, 263, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 80, 81, 82, 83,
+ 84, 85, 86, 87, 148, 0, 0, 0, 582, 0,
+ 583, 584, 585, 586, 587, 588, 589, 590, 568, 569,
+ 570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
+ 580, 581, 149, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, 160, 161, 162, 0, 0, 0, 0,
+ 0, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 0, 0, 0, 0, 0,
+ 0, 0, 0, 88, -358, -358, -358, -358, -358, -358,
+ -358, -358, -358, -358, -358, -358, -358, -358, 0, 0,
+ 0, 0, 582, 0, 583, 584, 585, 586, 587, 588,
+ 589, 590, 372, 373, 374, 375, 376, 377, 378, 379,
+ 380, 381, 382, 383, 384, 385, 0, 0, 0, 0,
+ 0, 0, 0, 0, -358, 0, 0, -358, 0, 0,
+ 0, 0, 0, -358, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 80, 81, 82, 83, 137, 85, 86,
+ 87, 0, 0, 0, 0, 386, -227, -227, -227, -227,
-227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
- -227, -227, -227, -227, -227, -228, -228, -228, -228, -228,
+ -227, -227, -227, -228, -228, -228, -228, -228, -228, -228,
-228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
- -228, -228, 350, 351, 352, 353, 354, 355, 356, 357,
- 358, 359, 81, 360, 361, 136, 85, 86, 87, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 394, 81,
- 82, 83, 136, 85, 86, 87, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 550, 0, 551, 552, 136,
- 85, 86, 87, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 555, 0, 556, 557, 136, 85, 86, 87,
- 62, 63, 64, 65, 66, 67, 68, 69, 70, 559,
- 0, 560, 561, 136, 85, 86, 87, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 0, 0, 467, 468,
- 136, 85, 86, 87, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 0, 0, 470, 471, 136, 85, 86,
+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
+ 81, 361, 362, 137, 85, 86, 87, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 395, 81, 82, 83,
+ 137, 85, 86, 87, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 550, 0, 551, 552, 137, 85, 86,
87, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 0, 0, 631, 632, 136, 85, 86, 87, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, 0, 0, 634,
- 635, 136, 85, 86, 87, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 337, 0, 0, 0, 136, 85,
+ 555, 0, 556, 557, 137, 85, 86, 87, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 559, 0, 560,
+ 561, 137, 85, 86, 87, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 0, 0, 468, 469, 137, 85,
86, 87, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, 629, 0, 0, 0, 136, 85, 86, 87, 62,
+ 70, 0, 0, 471, 472, 137, 85, 86, 87, 62,
63, 64, 65, 66, 67, 68, 69, 70, 0, 0,
- 0, 0, 136, 85, 86, 87, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 260, 0, 0, 0, 171,
- 62, 63, 64, 65, 66, 67, 68, 69, 70, 0,
- 0, 0, 0, 171, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 105, 62, 63, 64, 65, 66, 67,
- 68, 69, 544
+ 631, 632, 137, 85, 86, 87, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 0, 0, 634, 635, 137,
+ 85, 86, 87, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 338, 0, 0, 0, 137, 85, 86, 87,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 629,
+ 0, 0, 0, 137, 85, 86, 87, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 106, 62, 63, 64,
+ 65, 66, 67, 68, 69, 544
};
static const yytype_int16 yycheck[] =
{
- 17, 28, 117, 28, 95, 242, 88, 154, 9, 423,
- 227, 28, 248, 253, 35, 35, 227, 9, 227, 9,
- 227, 123, 39, 9, 10, 11, 618, 13, 3, 4,
- 5, 6, 35, 12, 2, 10, 11, 254, 13, 45,
- 45, 35, 17, 254, 227, 254, 0, 254, 227, 258,
- 36, 37, 31, 262, 15, 35, 648, 48, 294, 34,
- 77, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 254, 33, 282, 42, 254, 56, 57, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
- 14, 108, 109, 110, 111, 46, 47, 48, 49, 190,
- 117, 183, 122, 124, 206, 29, 227, 231, 32, 112,
- 113, 114, 227, 114, 35, 46, 122, 122, 145, 105,
- 145, 245, 114, 109, 114, 128, 112, 46, 145, 369,
- 105, 120, 118, 254, 109, 476, 477, 124, 253, 254,
- 129, 38, 39, 37, 41, 385, 487, 120, 124, 46,
- 130, 242, 132, 133, 134, 135, 136, 137, 138, 139,
- 112, 113, 114, 35, 181, 374, 375, 35, 385, 37,
- 261, 188, 199, 190, 385, 127, 385, 98, 99, 100,
- 120, 102, 103, 104, 46, 276, 37, 38, 39, 40,
+ 17, 28, 95, 28, 243, 118, 424, 88, 155, 249,
+ 228, 28, 228, 35, 9, 45, 9, 254, 2, 228,
+ 9, 35, 39, 618, 124, 228, 45, 14, 35, 9,
+ 10, 11, 228, 13, 228, 35, 228, 255, 0, 255,
+ 476, 477, 29, 12, 46, 32, 255, 15, 115, 116,
+ 259, 487, 255, 648, 263, 295, 36, 37, 42, 255,
+ 77, 255, 31, 255, 119, 33, 232, 352, 353, 354,
+ 355, 356, 357, 128, 283, 3, 4, 5, 6, 364,
+ 246, 366, 10, 11, 48, 13, 160, 161, 162, 17,
+ 35, 121, 109, 110, 111, 112, 119, 46, 191, 121,
+ 123, 118, 121, 184, 37, 128, 34, 207, 123, 123,
+ 405, 111, 112, 113, 409, 228, 124, 125, 413, 146,
+ 115, 146, 115, 35, 104, 37, 115, 127, 108, 146,
+ 35, 111, 98, 370, 100, 38, 39, 117, 41, 637,
+ 638, 254, 255, 46, 111, 112, 113, 361, 362, 386,
+ 243, 365, 97, 98, 99, 35, 101, 102, 103, 126,
+ 445, 46, 47, 48, 49, 182, 375, 376, 386, 262,
+ 386, 119, 189, 200, 191, 119, 104, 386, 98, 99,
+ 108, 101, 102, 46, 277, 35, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 404, 120, 360, 361, 408, 124, 364,
- 227, 412, 421, 129, 423, 159, 160, 161, 309, 56,
- 57, 58, 59, 60, 61, 242, 227, 35, 464, 99,
- 100, 645, 102, 103, 116, 117, 253, 254, 38, 39,
- 40, 41, 259, 107, 108, 454, 455, 456, 35, 276,
- 99, 276, 101, 254, 369, 282, 46, 282, 46, 276,
- 46, 351, 352, 353, 354, 355, 356, 125, 126, 35,
- 385, 637, 638, 363, 122, 365, 46, 115, 1, 130,
- 131, 132, 35, 124, 7, 35, 9, 10, 11, 12,
- 122, 124, 123, 16, 17, 18, 19, 124, 315, 22,
- 122, 24, 125, 26, 386, 28, 323, 126, 121, 121,
- 33, 122, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 122, 120, 120, 50, 51, 52,
- 53, 120, 46, 46, 35, 35, 46, 48, 420, 123,
- 123, 123, 123, 425, 49, 8, 121, 46, 495, 121,
- 121, 368, 369, 122, 444, 110, 35, 106, 35, 120,
- 385, 35, 35, 35, 120, 602, 35, 35, 385, 35,
- 35, 35, 129, 35, 111, 123, 35, 459, 35, 20,
- 30, 21, 591, 592, 593, 123, 35, 478, 35, 112,
- 35, 482, 35, 121, 55, 122, 98, 120, 489, 123,
- 55, 45, 123, 121, 519, 520, 521, 122, 490, 23,
- 492, 428, 429, 430, 431, 432, 433, 434, 25, 45,
- 45, 45, 45, 45, 45, 45, 443, 45, 445, 446,
- 447, 35, 120, 35, 35, 35, 645, 35, 35, 35,
- 457, 458, 122, 460, 122, 37, 38, 39, 40, 41,
+ 51, 52, 53, 55, 56, 57, 58, 59, 60, 106,
+ 107, 228, 46, 422, 46, 424, 46, 310, 38, 39,
+ 40, 41, 35, 121, 46, 465, 243, 645, 114, 35,
+ 123, 35, 121, 123, 122, 228, 123, 254, 255, 121,
+ 124, 120, 125, 260, 121, 120, 455, 456, 457, 121,
+ 277, 119, 277, 119, 119, 46, 283, 370, 283, 46,
+ 277, 122, 255, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 386, 122, 122, 122, 1, 129, 130,
+ 131, 35, 35, 7, 46, 9, 10, 11, 12, 48,
+ 46, 49, 16, 17, 18, 19, 8, 120, 22, 316,
+ 24, 120, 26, 120, 28, 121, 387, 324, 109, 33,
+ 105, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 119, 35, 35, 50, 51, 52, 53,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 421, 35, 35, 50, 35, 426, 119, 35, 495, 123,
+ 35, 35, 369, 370, 35, 35, 128, 122, 35, 110,
+ 35, 386, 35, 602, 20, 30, 21, 35, 54, 386,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 460,
+ 122, 35, 591, 592, 593, 478, 35, 111, 35, 482,
+ 120, 122, 121, 45, 122, 119, 489, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 519, 520, 521, 490,
+ 50, 492, 429, 430, 431, 432, 433, 434, 435, 97,
+ 54, 120, 23, 121, 45, 25, 45, 444, 45, 446,
+ 447, 448, 45, 45, 45, 45, 645, 45, 35, 35,
+ 119, 458, 459, 27, 461, 37, 38, 39, 40, 41,
42, 43, 44, 45, 46, 482, 35, 482, 50, 606,
- 52, 15, 122, 121, 27, 482, 35, 35, 35, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 114, 181, 505, 234,
- 175, 188, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 52, 519, 520, 521, 50, 145, 254, 179, 276,
- 482, 602, 505, 414, 648, 597, 520, 653, 252, 536,
- 537, 538, 539, 540, 541, 542, 543, 544, 643, 546,
- 1, 424, 510, 406, 508, 410, 30, 246, 9, 10,
- 11, 12, 33, -1, -1, 16, 17, 18, 19, -1,
- -1, 22, -1, 24, -1, 26, 124, 28, -1, -1,
- -1, -1, 33, -1, 35, -1, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, -1, 122, -1, 50,
- 51, 52, 53, -1, -1, 602, 37, 38, 39, 40,
+ 52, 35, 35, 35, 35, 482, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, -1, -1, -1, -1, -1, -1, -1,
+ 51, 52, 53, 35, 121, 121, 35, 120, 505, 121,
+ 15, 35, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 35, 519, 520, 521, 50, 115, 176, 182, 602,
+ 235, 52, 255, 189, 180, 146, 597, 277, 648, 536,
+ 537, 538, 539, 540, 541, 542, 543, 544, 1, 546,
+ 643, 482, 505, 653, 415, 520, 9, 10, 11, 12,
+ 253, 411, 247, 16, 17, 18, 19, 425, 407, 22,
+ 510, 24, 123, 26, 508, 28, 30, 386, 33, -1,
+ 33, -1, 35, -1, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, 35, -1, 121, 50, 51, 52,
+ 53, -1, -1, -1, -1, 602, -1, -1, -1, -1,
+ -1, -1, -1, -1, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 67, 68, -1, -1,
637, 638, 637, 638, -1, -1, -1, -1, -1, -1,
- 637, 638, -1, -1, -1, 35, 643, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 653, -1, -1, -1,
- 36, 112, -1, -1, -1, -1, -1, -1, -1, 120,
- 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, 67, 68, 69, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 124, 84, 85, 86, 87, 88, 89,
- 90, 91, 92, 93, 94, 95, 96, 97, 84, 85,
- 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- 96, 97, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, -1, -1, -1, -1,
- -1, -1, -1, -1, 130, -1, 132, 133, 134, 135,
- 136, 137, 138, 139, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, -1, -1,
- -1, -1, 120, -1, -1, 123, -1, -1, -1, -1,
- -1, 129, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, -1,
- -1, -1, -1, -1, -1, -1, -1, 123, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
- 52, 53, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
+ 637, 638, -1, -1, -1, -1, 643, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 653, -1, 111, -1,
+ 50, 51, 52, 53, 35, -1, 119, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 36, -1, -1, -1, 129, -1,
+ 131, 132, 133, 134, 135, 136, 137, 138, 55, 56,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 83, 84, 85, 86, 87, 88, 89, 90,
+ 91, 92, 93, 94, 95, 96, -1, -1, -1, -1,
+ -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, -1, -1, -1, -1, -1,
+ -1, -1, -1, 123, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, -1, -1,
+ -1, -1, 129, -1, 131, 132, 133, 134, 135, 136,
+ 137, 138, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, -1, -1, -1, -1,
+ -1, -1, -1, -1, 119, -1, -1, 122, -1, -1,
+ -1, -1, -1, 128, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, -1, -1, -1, -1, 122, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, -1, 48, 49, 50, 51, 52, 53,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- -1, 48, 49, 50, 51, 52, 53, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, -1, -1, 48, 49,
+ 47, 48, 49, 50, 51, 52, 53, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, -1, -1, 48, 49, 50, 51, 52,
+ 43, 44, 45, 46, -1, 48, 49, 50, 51, 52,
53, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- -1, -1, 48, 49, 50, 51, 52, 53, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, -1, -1, 48,
+ 46, -1, 48, 49, 50, 51, 52, 53, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, -1, 48,
49, 50, 51, 52, 53, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, -1, -1, -1, 50, 51,
+ 42, 43, 44, 45, -1, -1, 48, 49, 50, 51,
52, 53, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, -1, -1, -1, 50, 51, 52, 53, 37,
+ 45, -1, -1, 48, 49, 50, 51, 52, 53, 37,
38, 39, 40, 41, 42, 43, 44, 45, -1, -1,
- -1, -1, 50, 51, 52, 53, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, -1, -1, -1, 50,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, -1,
- -1, -1, -1, 50, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 37, 38, 39, 40, 41, 42,
- 43, 44, 45
+ 48, 49, 50, 51, 52, 53, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, -1, -1, 48, 49, 50,
+ 51, 52, 53, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, -1, -1, -1, 50, 51, 52, 53,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ -1, -1, -1, 50, 51, 52, 53, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint16 yystos[] =
{
- 0, 116, 117, 141, 35, 143, 298, 299, 142, 143,
- 0, 9, 10, 11, 13, 36, 37, 105, 109, 112,
- 118, 146, 147, 148, 149, 160, 164, 190, 205, 231,
- 300, 301, 302, 304, 305, 306, 3, 4, 5, 6,
- 17, 34, 144, 145, 146, 159, 160, 161, 162, 163,
- 164, 168, 170, 282, 46, 48, 46, 124, 35, 198,
- 303, 306, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 293, 294, 37, 120, 191, 35, 120, 35, 35,
- 46, 47, 48, 49, 50, 51, 52, 53, 124, 207,
- 208, 210, 211, 212, 213, 250, 286, 292, 293, 301,
- 303, 172, 46, 46, 46, 46, 171, 293, 38, 39,
- 41, 46, 284, 46, 35, 143, 172, 122, 46, 165,
- 166, 167, 115, 112, 113, 114, 127, 192, 193, 194,
- 195, 35, 150, 151, 152, 293, 50, 214, 285, 286,
- 290, 291, 292, 293, 35, 122, 213, 36, 84, 85,
- 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- 96, 97, 173, 123, 293, 293, 293, 293, 122, 145,
- 35, 50, 250, 293, 125, 126, 191, 196, 121, 122,
- 121, 122, 125, 126, 210, 120, 278, 279, 120, 278,
- 120, 174, 279, 279, 279, 46, 123, 123, 123, 123,
- 46, 178, 179, 35, 167, 35, 112, 113, 114, 128,
- 197, 194, 35, 152, 285, 46, 171, 46, 175, 176,
- 177, 213, 293, 48, 49, 46, 286, 186, 8, 180,
- 191, 107, 108, 153, 154, 155, 156, 157, 158, 121,
- 121, 121, 122, 1, 7, 12, 16, 18, 19, 22,
- 24, 26, 28, 33, 36, 37, 42, 43, 44, 45,
- 46, 50, 120, 160, 169, 187, 188, 189, 190, 198,
- 199, 200, 201, 202, 203, 204, 205, 215, 216, 218,
- 220, 221, 224, 226, 227, 231, 232, 233, 234, 243,
- 244, 245, 246, 247, 248, 250, 251, 257, 258, 259,
- 260, 268, 269, 280, 281, 282, 283, 290, 293, 294,
- 38, 39, 40, 41, 181, 289, 289, 110, 106, 155,
- 35, 177, 35, 289, 284, 120, 261, 261, 35, 35,
- 35, 251, 245, 188, 290, 293, 213, 46, 252, 253,
- 254, 290, 35, 35, 206, 207, 209, 213, 35, 35,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 48, 49, 222, 286, 290, 292, 35, 261, 129, 123,
- 35, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 123, 297, 213, 182, 293,
- 111, 228, 229, 293, 46, 262, 263, 264, 265, 266,
- 267, 285, 35, 35, 20, 270, 271, 272, 21, 273,
- 274, 275, 30, 235, 236, 237, 35, 35, 35, 35,
- 123, 55, 121, 122, 255, 123, 45, 122, 225, 225,
- 225, 225, 225, 225, 225, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 50, 122, 45, 122, 56, 57,
- 58, 59, 60, 61, 288, 288, 288, 45, 225, 288,
- 225, 46, 50, 52, 249, 293, 245, 48, 49, 290,
- 48, 49, 290, 37, 46, 47, 48, 49, 50, 130,
- 131, 132, 205, 217, 219, 245, 287, 290, 292, 294,
- 295, 285, 123, 35, 98, 99, 100, 102, 103, 104,
- 183, 184, 185, 256, 35, 122, 98, 230, 55, 121,
- 122, 276, 266, 23, 272, 266, 25, 275, 266, 14,
- 29, 32, 238, 237, 285, 290, 254, 256, 285, 293,
- 293, 293, 293, 293, 293, 293, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 293, 225, 293, 293, 293,
- 46, 48, 49, 223, 290, 46, 48, 49, 290, 46,
- 48, 49, 290, 293, 293, 285, 293, 261, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 130, 132, 133, 134, 135, 136, 137, 138,
- 139, 296, 296, 296, 213, 211, 213, 296, 213, 285,
- 285, 278, 120, 229, 267, 264, 99, 101, 277, 35,
- 35, 35, 35, 35, 250, 248, 250, 250, 35, 293,
- 293, 293, 293, 293, 293, 293, 293, 293, 293, 46,
- 290, 48, 49, 290, 48, 49, 290, 122, 122, 285,
- 177, 278, 35, 122, 239, 31, 227, 240, 241, 242,
- 208, 208, 121, 15, 250, 254, 27, 242, 249, 35,
+ 0, 115, 116, 140, 35, 142, 297, 298, 141, 142,
+ 0, 9, 10, 11, 13, 36, 37, 104, 108, 111,
+ 117, 145, 146, 147, 148, 159, 163, 189, 204, 230,
+ 299, 300, 301, 303, 304, 305, 3, 4, 5, 6,
+ 17, 34, 143, 144, 145, 158, 159, 160, 161, 162,
+ 163, 167, 169, 281, 46, 48, 46, 123, 35, 197,
+ 302, 305, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 292, 293, 37, 119, 190, 35, 119, 35, 35,
+ 46, 47, 48, 49, 50, 51, 52, 53, 123, 206,
+ 207, 209, 210, 211, 212, 249, 285, 286, 291, 292,
+ 300, 302, 171, 46, 46, 46, 46, 170, 292, 38,
+ 39, 41, 46, 283, 46, 35, 142, 171, 121, 46,
+ 164, 165, 166, 114, 111, 112, 113, 126, 191, 192,
+ 193, 194, 35, 149, 150, 151, 292, 50, 213, 284,
+ 285, 289, 290, 291, 292, 35, 121, 212, 36, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 172, 122, 292, 292, 292, 292, 121,
+ 144, 35, 50, 249, 292, 124, 125, 190, 195, 120,
+ 121, 120, 121, 124, 125, 209, 119, 277, 278, 119,
+ 277, 119, 173, 278, 278, 278, 46, 122, 122, 122,
+ 122, 46, 177, 178, 35, 166, 35, 111, 112, 113,
+ 127, 196, 193, 35, 151, 284, 46, 170, 46, 174,
+ 175, 176, 212, 292, 48, 49, 46, 285, 185, 8,
+ 179, 190, 106, 107, 152, 153, 154, 155, 156, 157,
+ 120, 120, 120, 121, 1, 7, 12, 16, 18, 19,
+ 22, 24, 26, 28, 33, 36, 37, 42, 43, 44,
+ 45, 46, 50, 119, 159, 168, 186, 187, 188, 189,
+ 197, 198, 199, 200, 201, 202, 203, 204, 214, 215,
+ 217, 219, 220, 223, 225, 226, 230, 231, 232, 233,
+ 242, 243, 244, 245, 246, 247, 249, 250, 256, 257,
+ 258, 259, 267, 268, 279, 280, 281, 282, 289, 292,
+ 293, 38, 39, 40, 41, 180, 288, 288, 109, 105,
+ 154, 35, 176, 35, 288, 283, 119, 260, 260, 35,
+ 35, 35, 250, 244, 187, 289, 292, 212, 46, 251,
+ 252, 253, 289, 35, 35, 205, 206, 208, 212, 35,
+ 35, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 48, 49, 221, 285, 289, 291, 35, 260, 128,
+ 122, 35, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 122, 296, 212, 181,
+ 292, 110, 227, 228, 292, 46, 261, 262, 263, 264,
+ 265, 266, 284, 35, 35, 20, 269, 270, 271, 21,
+ 272, 273, 274, 30, 234, 235, 236, 35, 35, 35,
+ 35, 122, 54, 120, 121, 254, 122, 45, 121, 224,
+ 224, 224, 224, 224, 224, 224, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 50, 121, 45, 121, 55,
+ 56, 57, 58, 59, 60, 287, 287, 287, 45, 224,
+ 287, 224, 46, 50, 52, 248, 292, 244, 48, 49,
+ 289, 48, 49, 289, 37, 46, 48, 49, 50, 129,
+ 130, 131, 204, 216, 218, 244, 286, 289, 291, 293,
+ 294, 284, 122, 35, 97, 98, 99, 101, 102, 103,
+ 182, 183, 184, 255, 35, 121, 97, 229, 54, 120,
+ 121, 275, 265, 23, 271, 265, 25, 274, 265, 14,
+ 29, 32, 237, 236, 284, 289, 253, 255, 284, 292,
+ 292, 292, 292, 292, 292, 292, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 292, 224, 292, 292, 292,
+ 46, 48, 49, 222, 289, 46, 48, 49, 289, 46,
+ 48, 49, 289, 292, 292, 284, 292, 260, 55, 56,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 129, 131, 132, 133, 134, 135, 136, 137,
+ 138, 295, 295, 295, 212, 210, 212, 295, 212, 284,
+ 284, 277, 119, 228, 266, 263, 98, 100, 276, 35,
+ 35, 35, 35, 35, 249, 247, 249, 249, 35, 292,
+ 292, 292, 292, 292, 292, 292, 292, 292, 292, 46,
+ 289, 48, 49, 289, 48, 49, 289, 121, 121, 284,
+ 176, 277, 35, 121, 238, 31, 226, 239, 240, 241,
+ 207, 207, 120, 15, 249, 253, 27, 241, 248, 35,
35
};
@@ -2618,22 +2611,22 @@
switch (yyn)
{
case 4:
-#line 563 "pir.y"
+#line 562 "pir.y"
{ fixup_global_labels(lexer); ;}
break;
case 20:
-#line 594 "pir.y"
+#line 593 "pir.y"
{ new_macro_const(lexer->macros, (yyvsp[(2) - (3)].sval), (yyvsp[(3) - (3)].sval), yypirget_lineno(yyscanner)); ;}
break;
case 21:
-#line 600 "pir.y"
+#line 599 "pir.y"
{ /* fprintf(stderr, "macro body: [%s]\n", CURRENT_MACRO(lexer)->body);*/ ;}
break;
case 22:
-#line 604 "pir.y"
+#line 603 "pir.y"
{
new_macro(lexer->macros, (yyvsp[(2) - (2)].sval), yypirget_lineno(yyscanner), TRUE,
lexer->macro_size);
@@ -2641,17 +2634,17 @@
break;
case 27:
-#line 619 "pir.y"
+#line 618 "pir.y"
{ add_macro_param(CURRENT_MACRO(lexer), (yyvsp[(1) - (1)].sval)); ;}
break;
case 35:
-#line 638 "pir.y"
+#line 637 "pir.y"
{ store_macro_string(CURRENT_MACRO(lexer), "%s\n", (yyvsp[(2) - (2)].sval)); ;}
break;
case 36:
-#line 642 "pir.y"
+#line 641 "pir.y"
{
store_macro_string(CURRENT_MACRO(lexer), ".local %s %s\n",
pir_type_names[(yyvsp[(2) - (3)].ival)], (yyvsp[(3) - (3)].sval));
@@ -2659,152 +2652,152 @@
break;
case 37:
-#line 653 "pir.y"
+#line 652 "pir.y"
{ load_library(lexer, (yyvsp[(2) - (2)].sval)); ;}
break;
case 38:
-#line 657 "pir.y"
+#line 656 "pir.y"
{ yypirset_lineno ((yyvsp[(2) - (2)].ival), yyscanner); ;}
break;
case 39:
-#line 659 "pir.y"
+#line 658 "pir.y"
{ lexer->filename = (yyvsp[(2) - (2)].sval); ;}
break;
case 40:
-#line 663 "pir.y"
+#line 662 "pir.y"
{ annotate(lexer, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].sval)); ;}
break;
case 41:
-#line 669 "pir.y"
+#line 668 "pir.y"
{ set_hll(lexer, (yyvsp[(2) - (2)].sval)); ;}
break;
case 42:
-#line 673 "pir.y"
+#line 672 "pir.y"
{ set_hll_map(lexer, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].sval)); ;}
break;
case 43:
-#line 677 "pir.y"
+#line 676 "pir.y"
{ set_namespace(lexer, (yyvsp[(3) - (4)].key)); ;}
break;
case 44:
-#line 681 "pir.y"
+#line 680 "pir.y"
{ (yyval.key) = NULL; ;}
break;
case 45:
-#line 683 "pir.y"
+#line 682 "pir.y"
{ (yyval.key) = (yyvsp[(1) - (1)].key); ;}
break;
case 46:
-#line 687 "pir.y"
+#line 686 "pir.y"
{ (yyval.key) = new_key(lexer, (yyvsp[(1) - (1)].expr)); ;}
break;
case 47:
-#line 689 "pir.y"
+#line 688 "pir.y"
{ (yyval.key) = add_key(lexer, (yyvsp[(1) - (3)].key), (yyvsp[(3) - (3)].expr)); ;}
break;
case 48:
-#line 693 "pir.y"
+#line 692 "pir.y"
{ (yyval.expr) = expr_from_string(lexer, (yyvsp[(1) - (1)].sval)); ;}
break;
case 50:
-#line 703 "pir.y"
+#line 702 "pir.y"
{ close_sub(lexer); ;}
break;
case 51:
-#line 707 "pir.y"
+#line 706 "pir.y"
{ new_subr(lexer, (yyvsp[(2) - (2)].sval)); ;}
break;
case 56:
-#line 719 "pir.y"
+#line 718 "pir.y"
{ set_sub_flag(lexer, PIRC_SUB_FLAG_ANON);;}
break;
case 57:
-#line 721 "pir.y"
+#line 720 "pir.y"
{ set_sub_flag(lexer, PIRC_SUB_FLAG_INIT); ;}
break;
case 58:
-#line 723 "pir.y"
+#line 722 "pir.y"
{ set_sub_flag(lexer, PIRC_SUB_FLAG_LOAD); ;}
break;
case 59:
-#line 725 "pir.y"
+#line 724 "pir.y"
{ set_sub_flag(lexer, PIRC_SUB_FLAG_MAIN); ;}
break;
case 60:
-#line 727 "pir.y"
+#line 726 "pir.y"
{ set_sub_flag(lexer, PIRC_SUB_FLAG_LEX); ;}
break;
case 61:
-#line 729 "pir.y"
+#line 728 "pir.y"
{ set_sub_flag(lexer, PIRC_SUB_FLAG_POSTCOMP); ;}
break;
case 62:
-#line 731 "pir.y"
+#line 730 "pir.y"
{ set_sub_flag(lexer, PIRC_SUB_FLAG_IMMEDIATE); ;}
break;
case 63:
-#line 733 "pir.y"
+#line 732 "pir.y"
{ set_sub_flag(lexer, PIRC_SUB_FLAG_MULTI); ;}
break;
case 64:
-#line 735 "pir.y"
+#line 734 "pir.y"
{ set_sub_outer(lexer, (yyvsp[(3) - (4)].sval)); ;}
break;
case 65:
-#line 737 "pir.y"
+#line 736 "pir.y"
{ set_sub_methodname(lexer, (yyvsp[(2) - (2)].sval)); ;}
break;
case 66:
-#line 739 "pir.y"
+#line 738 "pir.y"
{ set_sub_vtable(lexer, (yyvsp[(2) - (2)].sval)); ;}
break;
case 67:
-#line 741 "pir.y"
+#line 740 "pir.y"
{ set_sub_subid(lexer, (yyvsp[(2) - (2)].sval)); ;}
break;
case 68:
-#line 743 "pir.y"
+#line 742 "pir.y"
{ set_sub_instanceof(lexer, (yyvsp[(2) - (2)].sval)); ;}
break;
case 69:
-#line 745 "pir.y"
+#line 744 "pir.y"
{ set_sub_nsentry(lexer, (yyvsp[(2) - (2)].sval)); ;}
break;
case 70:
-#line 749 "pir.y"
+#line 748 "pir.y"
{ set_sub_multi_types(lexer, (yyvsp[(2) - (3)].expr)); ;}
break;
case 71:
-#line 753 "pir.y"
+#line 752 "pir.y"
{
CURRENT_SUB(lexer)->info.num_multi_types = 1;
/* n=1 means :multi() -- without any types. */
@@ -2812,12 +2805,12 @@
break;
case 72:
-#line 758 "pir.y"
+#line 757 "pir.y"
{ (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
break;
case 73:
-#line 762 "pir.y"
+#line 761 "pir.y"
{
CURRENT_SUB(lexer)->info.num_multi_types = 2;
/* start counting multi types; always 1 higher than actual number
@@ -2829,7 +2822,7 @@
break;
case 74:
-#line 771 "pir.y"
+#line 770 "pir.y"
{
++CURRENT_SUB(lexer)->info.num_multi_types;
/* link the multi types in reverse other. That's fine,
@@ -2841,22 +2834,22 @@
break;
case 75:
-#line 782 "pir.y"
+#line 781 "pir.y"
{ (yyval.expr) = expr_from_ident(lexer, (yyvsp[(1) - (1)].sval)); ;}
break;
case 76:
-#line 784 "pir.y"
+#line 783 "pir.y"
{ (yyval.expr) = expr_from_string(lexer, (yyvsp[(1) - (1)].sval)); ;}
break;
case 77:
-#line 786 "pir.y"
+#line 785 "pir.y"
{ (yyval.expr) = expr_from_key(lexer, (yyvsp[(1) - (1)].key)); ;}
break;
case 78:
-#line 790 "pir.y"
+#line 789 "pir.y"
{
/* if there are parameters, then emit a get_params instruction. */
if ((yyvsp[(1) - (1)].uval) > 0)
@@ -2865,12 +2858,12 @@
break;
case 79:
-#line 798 "pir.y"
+#line 797 "pir.y"
{ (yyval.uval) = 0; ;}
break;
case 80:
-#line 800 "pir.y"
+#line 799 "pir.y"
{
/* if the :named flag was set, there's an extra
* constant string argument for the name. count that too.
@@ -2884,27 +2877,27 @@
break;
case 81:
-#line 813 "pir.y"
+#line 812 "pir.y"
{ (yyval.targ) = set_param_flag(lexer, (yyvsp[(2) - (4)].targ), (yyvsp[(3) - (4)].ival)); ;}
break;
case 82:
-#line 817 "pir.y"
+#line 816 "pir.y"
{ (yyval.targ) = add_param(lexer, (yyvsp[(1) - (2)].ival), (yyvsp[(2) - (2)].sval)); ;}
break;
case 83:
-#line 821 "pir.y"
+#line 820 "pir.y"
{ (yyval.ival) = 0; ;}
break;
case 84:
-#line 823 "pir.y"
+#line 822 "pir.y"
{ SET_FLAG((yyval.ival), (yyvsp[(2) - (2)].ival)); ;}
break;
case 88:
-#line 832 "pir.y"
+#line 831 "pir.y"
{ (yyval.ival) = TARGET_FLAG_INVOCANT;
/* XXX handle multi_type */
@@ -2912,12 +2905,12 @@
break;
case 89:
-#line 839 "pir.y"
+#line 838 "pir.y"
{ (yyval.ival) = TARGET_FLAG_UNIQUE_REG; ;}
break;
case 91:
-#line 846 "pir.y"
+#line 845 "pir.y"
{
++lexer->stmt_counter;
/* increment the logical statement counter; a statement can be
@@ -2928,37 +2921,37 @@
break;
case 92:
-#line 856 "pir.y"
+#line 855 "pir.y"
{ set_label(lexer, (yyvsp[(1) - (2)].sval)); ;}
break;
case 110:
-#line 884 "pir.y"
+#line 883 "pir.y"
{ (yyval.sval) = expand_macro(yyscanner, (yyvsp[(1) - (3)].mval), (yyvsp[(2) - (3)].pval)); ;}
break;
case 111:
-#line 888 "pir.y"
+#line 887 "pir.y"
{ (yyval.pval) = NULL; ;}
break;
case 112:
-#line 890 "pir.y"
+#line 889 "pir.y"
{ (yyval.pval) = (yyvsp[(2) - (3)].pval); ;}
break;
case 113:
-#line 894 "pir.y"
+#line 893 "pir.y"
{ (yyval.pval) = NULL; ;}
break;
case 115:
-#line 899 "pir.y"
+#line 898 "pir.y"
{ (yyval.pval) = new_macro_param((yyvsp[(1) - (1)].sval)); ;}
break;
case 116:
-#line 901 "pir.y"
+#line 900 "pir.y"
{
macro_param *param = new_macro_param((yyvsp[(3) - (3)].sval));
param->next = (yyvsp[(1) - (3)].pval);
@@ -2967,7 +2960,7 @@
break;
case 117:
-#line 909 "pir.y"
+#line 908 "pir.y"
{
symbol *sym = find_symbol(lexer, (yyvsp[(1) - (1)].sval));
if (sym == NULL) {
@@ -2978,22 +2971,22 @@
break;
case 119:
-#line 918 "pir.y"
+#line 917 "pir.y"
{ (yyval.sval) = expand_macro(yyscanner, (yyvsp[(1) - (2)].mval), (yyvsp[(2) - (2)].pval)); ;}
break;
case 121:
-#line 923 "pir.y"
+#line 922 "pir.y"
{ (yyval.sval) = (yyvsp[(2) - (3)].sval); ;}
break;
case 122:
-#line 928 "pir.y"
+#line 927 "pir.y"
{ (yyval.sval) = ""; ;}
break;
case 123:
-#line 930 "pir.y"
+#line 929 "pir.y"
{ /* XXX cleanup memory stuff */
char *newbuff = (char *)mem_sys_allocate((strlen((yyvsp[(1) - (2)].sval)) + strlen((yyvsp[(2) - (2)].sval)) + 2)
* sizeof (char));
@@ -3003,17 +2996,17 @@
break;
case 127:
-#line 942 "pir.y"
+#line 941 "pir.y"
{ (yyval.sval) = expand_macro(yyscanner, (yyvsp[(1) - (2)].mval), (yyvsp[(2) - (2)].pval)); ;}
break;
case 128:
-#line 950 "pir.y"
+#line 949 "pir.y"
{ set_instr(lexer, NULL); ;}
break;
case 130:
-#line 958 "pir.y"
+#line 957 "pir.y"
{
if (lexer->parse_errors > MAX_NUM_ERRORS)
panic(lexer, "Too many errors. Compilation aborted.\n");
@@ -3023,7 +3016,7 @@
break;
case 131:
-#line 967 "pir.y"
+#line 966 "pir.y"
{
set_instrf(lexer, "null", "%T", (yyvsp[(2) - (3)].targ));
get_opinfo(yyscanner);
@@ -3031,7 +3024,7 @@
break;
case 132:
-#line 974 "pir.y"
+#line 973 "pir.y"
{
set_instrf(lexer, "get_results", "%T", (yyvsp[(2) - (3)].targ));
get_opinfo(yyscanner);
@@ -3039,7 +3032,7 @@
break;
case 136:
-#line 988 "pir.y"
+#line 987 "pir.y"
{ /* at this point, TK_IDENT may in fact be a symbol identifier,
* not an op, so don't do any checks like is_parrot_op() just yet.
*/
@@ -3049,7 +3042,7 @@
break;
case 137:
-#line 997 "pir.y"
+#line 996 "pir.y"
{ /* when this rule is activated, the initial identifier must
* be a parrot op.
*/
@@ -3059,7 +3052,7 @@
break;
case 143:
-#line 1015 "pir.y"
+#line 1014 "pir.y"
{
/* the "instruction" that was set now appears to be
* an identifier; get the name, and check its type.
@@ -3096,22 +3089,22 @@
break;
case 144:
-#line 1051 "pir.y"
+#line 1050 "pir.y"
{ push_operand(lexer, (yyvsp[(1) - (1)].expr)); ;}
break;
case 145:
-#line 1053 "pir.y"
+#line 1052 "pir.y"
{ push_operand(lexer, expr_from_key(lexer, (yyvsp[(1) - (1)].key))); ;}
break;
case 146:
-#line 1057 "pir.y"
+#line 1056 "pir.y"
{ (yyval.expr) = expr_from_const(lexer, (yyvsp[(1) - (1)].cval)); ;}
break;
case 147:
-#line 1059 "pir.y"
+#line 1058 "pir.y"
{ /* this is either a LABEL or a symbol; in the latter case, the type
* will be filled in later. */
(yyval.expr) = expr_from_ident(lexer, (yyvsp[(1) - (1)].sval));
@@ -3119,17 +3112,17 @@
break;
case 148:
-#line 1064 "pir.y"
+#line 1063 "pir.y"
{ (yyval.expr) = expr_from_target(lexer, (yyvsp[(1) - (1)].targ)); ;}
break;
case 149:
-#line 1066 "pir.y"
+#line 1065 "pir.y"
{ (yyval.expr) = expr_from_target(lexer, (yyvsp[(1) - (1)].targ)); ;}
break;
case 150:
-#line 1070 "pir.y"
+#line 1069 "pir.y"
{
/* if $1 is a register, just return that */
if (TEST_FLAG((yyvsp[(1) - (2)].targ)->flags, TARGET_FLAG_IS_REG))
@@ -3153,22 +3146,22 @@
break;
case 151:
-#line 1093 "pir.y"
+#line 1092 "pir.y"
{ (yyval.key) = (yyvsp[(2) - (3)].key); ;}
break;
case 152:
-#line 1097 "pir.y"
+#line 1096 "pir.y"
{ (yyval.key) = new_key(lexer, (yyvsp[(1) - (1)].expr)); ;}
break;
case 153:
-#line 1099 "pir.y"
+#line 1098 "pir.y"
{ (yyval.key) = add_key(lexer, (yyvsp[(1) - (3)].key), (yyvsp[(3) - (3)].expr)); ;}
break;
case 154:
-#line 1108 "pir.y"
+#line 1107 "pir.y"
{
/* the instruction is already set in parrot_op rule */
unshift_operand(lexer, (yyvsp[(4) - (6)].expr));
@@ -3182,7 +3175,7 @@
break;
case 155:
-#line 1119 "pir.y"
+#line 1118 "pir.y"
{
/* the instruction is already set in parrot_op rule */
unshift_operand(lexer, (yyvsp[(4) - (4)].expr));
@@ -3197,7 +3190,7 @@
break;
case 156:
-#line 1131 "pir.y"
+#line 1130 "pir.y"
{ /* XXX create a PMC const for $4 */
unshift_operand(lexer, expr_from_key(lexer, (yyvsp[(4) - (6)].key)));
unshift_operand(lexer, expr_from_target(lexer, (yyvsp[(1) - (6)].targ)));
@@ -3208,7 +3201,7 @@
break;
case 160:
-#line 1148 "pir.y"
+#line 1147 "pir.y"
{
if ((yyvsp[(3) - (3)].ival) == 0)
set_instrf(lexer, "null", "%T", (yyvsp[(1) - (3)].targ));
@@ -3220,7 +3213,7 @@
break;
case 161:
-#line 1157 "pir.y"
+#line 1156 "pir.y"
{
if ((yyvsp[(3) - (3)].dval) == 0.0)
set_instrf(lexer, "null", "%T", (yyvsp[(1) - (3)].targ));
@@ -3232,7 +3225,7 @@
break;
case 162:
-#line 1166 "pir.y"
+#line 1165 "pir.y"
{
set_instrf(lexer, "set", "%T%C", (yyvsp[(1) - (3)].targ), (yyvsp[(3) - (3)].cval));
get_opinfo(yyscanner);
@@ -3240,7 +3233,7 @@
break;
case 163:
-#line 1171 "pir.y"
+#line 1170 "pir.y"
{
set_instrf(lexer, "set", "%T%T", (yyvsp[(1) - (3)].targ), (yyvsp[(3) - (3)].targ));
get_opinfo(yyscanner);
@@ -3248,7 +3241,7 @@
break;
case 164:
-#line 1176 "pir.y"
+#line 1175 "pir.y"
{
symbol *sym = find_symbol(lexer, (yyvsp[(3) - (3)].sval));
if (sym) {
@@ -3272,7 +3265,7 @@
break;
case 165:
-#line 1197 "pir.y"
+#line 1196 "pir.y"
{
unshift_operand(lexer, expr_from_target(lexer, (yyvsp[(1) - (3)].targ)));
get_opinfo(yyscanner);
@@ -3280,7 +3273,7 @@
break;
case 166:
-#line 1202 "pir.y"
+#line 1201 "pir.y"
{
/* $P0 = foo ["bar"]
*
@@ -3324,7 +3317,7 @@
break;
case 167:
-#line 1243 "pir.y"
+#line 1242 "pir.y"
{
symbol *sym = find_symbol(lexer, (yyvsp[(3) - (4)].sval));
target *t;
@@ -3345,7 +3338,7 @@
break;
case 168:
-#line 1261 "pir.y"
+#line 1260 "pir.y"
{
target *preg = new_reg(lexer, PMC_TYPE, (yyvsp[(3) - (4)].ival));
set_target_key(preg, (yyvsp[(4) - (4)].key));
@@ -3355,7 +3348,7 @@
break;
case 169:
-#line 1268 "pir.y"
+#line 1267 "pir.y"
{
set_instrf(lexer, opnames[(yyvsp[(2) - (3)].ival)], "%T%E", (yyvsp[(1) - (3)].targ), (yyvsp[(3) - (3)].expr));
get_opinfo(yyscanner);
@@ -3363,7 +3356,7 @@
break;
case 170:
-#line 1273 "pir.y"
+#line 1272 "pir.y"
{
if ((yyvsp[(3) - (3)].ival) == 1)
set_instrf(lexer, "inc", "%T", (yyvsp[(1) - (3)].targ));
@@ -3377,7 +3370,7 @@
break;
case 171:
-#line 1284 "pir.y"
+#line 1283 "pir.y"
{
if ((yyvsp[(3) - (3)].dval) == 1.0)
set_instrf(lexer, "inc", "%T", (yyvsp[(1) - (3)].targ));
@@ -3391,7 +3384,7 @@
break;
case 172:
-#line 1295 "pir.y"
+#line 1294 "pir.y"
{
if ((yyvsp[(3) - (3)].ival) == 1)
set_instrf(lexer, "dec", "%T", (yyvsp[(1) - (3)].targ));
@@ -3405,7 +3398,7 @@
break;
case 173:
-#line 1306 "pir.y"
+#line 1305 "pir.y"
{
if ((yyvsp[(3) - (3)].dval) == 1.0)
set_instrf(lexer, "dec", "%T", (yyvsp[(1) - (3)].targ));
@@ -3419,7 +3412,7 @@
break;
case 174:
-#line 1317 "pir.y"
+#line 1316 "pir.y"
{
set_instrf(lexer, "add", "%T%T", (yyvsp[(1) - (3)].targ), (yyvsp[(3) - (3)].targ));
get_opinfo(yyscanner);
@@ -3427,7 +3420,7 @@
break;
case 175:
-#line 1322 "pir.y"
+#line 1321 "pir.y"
{
set_instrf(lexer, "sub", "%T%T", (yyvsp[(1) - (3)].targ), (yyvsp[(3) - (3)].targ));
get_opinfo(yyscanner);
@@ -3435,7 +3428,7 @@
break;
case 176:
-#line 1327 "pir.y"
+#line 1326 "pir.y"
{
set_instrf(lexer, (yyvsp[(3) - (4)].sval), "%T%E", (yyvsp[(1) - (4)].targ), (yyvsp[(4) - (4)].expr));
get_opinfo(yyscanner);
@@ -3443,7 +3436,7 @@
break;
case 177:
-#line 1332 "pir.y"
+#line 1331 "pir.y"
{
if (targets_equal((yyvsp[(1) - (5)].targ), (yyvsp[(3) - (5)].targ))) /* $P0 = $P0 + $P1 ==> $P0 += $P1 */
set_instrf(lexer, opnames[(yyvsp[(4) - (5)].ival)], "%T%E", (yyvsp[(1) - (5)].targ), (yyvsp[(5) - (5)].expr));
@@ -3456,7 +3449,7 @@
break;
case 178:
-#line 1342 "pir.y"
+#line 1341 "pir.y"
{
symbol *sym = find_symbol(lexer, (yyvsp[(1) - (4)].sval));
target *t;
@@ -3478,7 +3471,7 @@
break;
case 179:
-#line 1361 "pir.y"
+#line 1360 "pir.y"
{
target *preg = new_reg(lexer, PMC_TYPE, (yyvsp[(1) - (4)].ival));
set_target_key(preg, (yyvsp[(2) - (4)].key));
@@ -3488,97 +3481,97 @@
break;
case 180:
-#line 1395 "pir.y"
+#line 1394 "pir.y"
{ set_instrf(lexer, opnames[(yyvsp[(2) - (3)].ival)], "%i%T", (yyvsp[(1) - (3)].ival), (yyvsp[(3) - (3)].targ)); ;}
break;
case 181:
-#line 1397 "pir.y"
+#line 1396 "pir.y"
{ set_instrf(lexer, opnames[(yyvsp[(2) - (3)].ival)], "%n%T", (yyvsp[(1) - (3)].dval), (yyvsp[(3) - (3)].targ)); ;}
break;
case 182:
-#line 1399 "pir.y"
+#line 1398 "pir.y"
{ set_instrf(lexer, opnames[(yyvsp[(2) - (3)].ival)], "%s%T", (yyvsp[(1) - (3)].sval), (yyvsp[(3) - (3)].targ)); ;}
break;
case 183:
-#line 1401 "pir.y"
+#line 1400 "pir.y"
{ set_instrf(lexer, "set", "%C", fold_s_s(yyscanner, (yyvsp[(1) - (3)].sval), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].sval))); ;}
break;
case 184:
-#line 1403 "pir.y"
+#line 1402 "pir.y"
{ set_instrf(lexer, "set", "%C", fold_i_i(yyscanner, (yyvsp[(1) - (3)].ival), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].ival))); ;}
break;
case 185:
-#line 1405 "pir.y"
+#line 1404 "pir.y"
{ set_instrf(lexer, "set", "%C", fold_n_n(yyscanner, (yyvsp[(1) - (3)].dval), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].dval))); ;}
break;
case 186:
-#line 1407 "pir.y"
+#line 1406 "pir.y"
{ set_instrf(lexer, "set", "%C", fold_i_n(yyscanner, (yyvsp[(1) - (3)].ival), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].dval))); ;}
break;
case 187:
-#line 1409 "pir.y"
+#line 1408 "pir.y"
{ set_instrf(lexer, "set", "%C", fold_n_i(yyscanner, (yyvsp[(1) - (3)].dval), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].ival))); ;}
break;
case 188:
-#line 1414 "pir.y"
+#line 1413 "pir.y"
{ get_opinfo(yyscanner); ;}
break;
case 189:
-#line 1423 "pir.y"
+#line 1422 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (5)].ival), 1, (yyvsp[(3) - (5)].sval), (yyvsp[(5) - (5)].sval)); ;}
break;
case 190:
-#line 1425 "pir.y"
+#line 1424 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (5)].ival), 1, "int", (yyvsp[(5) - (5)].sval)); ;}
break;
case 191:
-#line 1427 "pir.y"
+#line 1426 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (5)].ival), 1, "num", (yyvsp[(5) - (5)].sval)); ;}
break;
case 192:
-#line 1429 "pir.y"
+#line 1428 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (5)].ival), 1, "pmc", (yyvsp[(5) - (5)].sval)); ;}
break;
case 193:
-#line 1431 "pir.y"
+#line 1430 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (5)].ival), 1, "string", (yyvsp[(5) - (5)].sval)); ;}
break;
case 194:
-#line 1433 "pir.y"
+#line 1432 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (5)].ival), 1, "if", (yyvsp[(5) - (5)].sval)); ;}
break;
case 195:
-#line 1435 "pir.y"
+#line 1434 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (5)].ival), 1, "unless", (yyvsp[(5) - (5)].sval)); ;}
break;
case 196:
-#line 1437 "pir.y"
+#line 1436 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (5)].ival), 1, "goto", (yyvsp[(5) - (5)].sval)); ;}
break;
case 197:
-#line 1439 "pir.y"
+#line 1438 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (5)].ival), 1, "null", (yyvsp[(5) - (5)].sval)); ;}
break;
case 198:
-#line 1441 "pir.y"
+#line 1440 "pir.y"
{
int istrue = evaluate_c(lexer, (yyvsp[(2) - (4)].cval));
/* if "unless", invert the true-ness */
@@ -3593,7 +3586,7 @@
break;
case 199:
-#line 1453 "pir.y"
+#line 1452 "pir.y"
{
set_instrf(lexer, (yyvsp[(1) - (5)].ival) ? "unless_null" : "if_null", "%T%I",
new_reg(lexer, PMC_TYPE, (yyvsp[(3) - (5)].ival)), (yyvsp[(5) - (5)].sval));
@@ -3601,67 +3594,67 @@
break;
case 200:
-#line 1458 "pir.y"
+#line 1457 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].sval)); ;}
break;
case 201:
-#line 1460 "pir.y"
+#line 1459 "pir.y"
{ set_instrf(lexer, (yyvsp[(1) - (4)].ival) ? "unless" : "if", "%T%I", (yyvsp[(2) - (4)].targ), (yyvsp[(4) - (4)].sval)); ;}
break;
case 202:
-#line 1462 "pir.y"
+#line 1461 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "int", (yyvsp[(4) - (4)].sval)); ;}
break;
case 203:
-#line 1464 "pir.y"
+#line 1463 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "num", (yyvsp[(4) - (4)].sval)); ;}
break;
case 204:
-#line 1466 "pir.y"
+#line 1465 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "pmc", (yyvsp[(4) - (4)].sval)); ;}
break;
case 205:
-#line 1468 "pir.y"
+#line 1467 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "string", (yyvsp[(4) - (4)].sval)); ;}
break;
case 206:
-#line 1470 "pir.y"
+#line 1469 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "if", (yyvsp[(4) - (4)].sval)); ;}
break;
case 207:
-#line 1472 "pir.y"
+#line 1471 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "unless", (yyvsp[(4) - (4)].sval)); ;}
break;
case 208:
-#line 1474 "pir.y"
+#line 1473 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "goto", (yyvsp[(4) - (4)].sval)); ;}
break;
case 209:
-#line 1476 "pir.y"
+#line 1475 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "goto", (yyvsp[(4) - (4)].sval)); ;}
break;
case 210:
-#line 1478 "pir.y"
+#line 1477 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "null", (yyvsp[(4) - (4)].sval)); ;}
break;
case 211:
-#line 1480 "pir.y"
+#line 1479 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "null", (yyvsp[(4) - (4)].sval)); ;}
break;
case 212:
-#line 1482 "pir.y"
+#line 1481 "pir.y"
{
if ((yyvsp[(2) - (4)].ival) == COMPUTE_DURING_RUNTIME) {
if ((yyvsp[(1) - (4)].ival) == NEED_INVERT_OPNAME) /* "unless" */
@@ -3689,7 +3682,7 @@
break;
case 213:
-#line 1513 "pir.y"
+#line 1512 "pir.y"
{
/* the instructions "gt" and "ge" are converted to "lt" and "le".
* if so, then the arguments must be reversed as well. "lt" and
@@ -3718,7 +3711,7 @@
break;
case 214:
-#line 1539 "pir.y"
+#line 1538 "pir.y"
{
if (((yyvsp[(0) - (3)].ival) != NEED_INVERT_OPNAME) && ((yyvsp[(2) - (3)].ival) == OP_GE || (yyvsp[(2) - (3)].ival) == OP_GT))
set_instrf(lexer, opnames[(yyvsp[(2) - (3)].ival) + 1], "%T%i", (yyvsp[(3) - (3)].targ), (yyvsp[(1) - (3)].ival));
@@ -3729,7 +3722,7 @@
break;
case 215:
-#line 1547 "pir.y"
+#line 1546 "pir.y"
{
if (((yyvsp[(0) - (3)].ival) != NEED_INVERT_OPNAME) && ((yyvsp[(2) - (3)].ival) == OP_GE || (yyvsp[(2) - (3)].ival) == OP_GT))
set_instrf(lexer, opnames[(yyvsp[(2) - (3)].ival) + 1], "%T%n", (yyvsp[(3) - (3)].targ), (yyvsp[(1) - (3)].dval));
@@ -3741,7 +3734,7 @@
break;
case 216:
-#line 1556 "pir.y"
+#line 1555 "pir.y"
{
if (((yyvsp[(0) - (3)].ival) != NEED_INVERT_OPNAME) && ((yyvsp[(2) - (3)].ival) == OP_GE || (yyvsp[(2) - (3)].ival) == OP_GT))
set_instrf(lexer, opnames[(yyvsp[(2) - (3)].ival)], "%T%s", (yyvsp[(3) - (3)].targ), (yyvsp[(1) - (3)].sval));
@@ -3753,32 +3746,32 @@
break;
case 217:
-#line 1565 "pir.y"
+#line 1564 "pir.y"
{ (yyval.ival) = evaluate_i_i((yyvsp[(1) - (3)].ival), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].ival)); ;}
break;
case 218:
-#line 1567 "pir.y"
+#line 1566 "pir.y"
{ (yyval.ival) = evaluate_i_n((yyvsp[(1) - (3)].ival), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].dval)); ;}
break;
case 219:
-#line 1569 "pir.y"
+#line 1568 "pir.y"
{ (yyval.ival) = evaluate_n_i((yyvsp[(1) - (3)].dval), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].ival)); ;}
break;
case 220:
-#line 1571 "pir.y"
+#line 1570 "pir.y"
{ (yyval.ival) = evaluate_n_n((yyvsp[(1) - (3)].dval), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].dval)); ;}
break;
case 221:
-#line 1573 "pir.y"
+#line 1572 "pir.y"
{ (yyval.ival) = evaluate_s_s((yyvsp[(1) - (3)].sval), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].sval)); ;}
break;
case 222:
-#line 1577 "pir.y"
+#line 1576 "pir.y"
{
yypirerror(yyscanner, lexer, "cannot compare string to %s",
(yyvsp[(3) - (3)].ival) == INT_TYPE ? "integer" : "number");
@@ -3786,37 +3779,37 @@
break;
case 223:
-#line 1582 "pir.y"
+#line 1581 "pir.y"
{ yypirerror(yyscanner, lexer, "cannot compare integer to string"); ;}
break;
case 224:
-#line 1584 "pir.y"
+#line 1583 "pir.y"
{ yypirerror(yyscanner, lexer, "cannot compare number to string"); ;}
break;
case 225:
-#line 1588 "pir.y"
+#line 1587 "pir.y"
{ (yyval.ival) = INT_TYPE; ;}
break;
case 226:
-#line 1589 "pir.y"
+#line 1588 "pir.y"
{ (yyval.ival) = NUM_TYPE; ;}
break;
case 227:
-#line 1592 "pir.y"
+#line 1591 "pir.y"
{ (yyval.ival) = DONT_INVERT_OPNAME; /* no need to invert */ ;}
break;
case 228:
-#line 1593 "pir.y"
+#line 1592 "pir.y"
{ (yyval.ival) = NEED_INVERT_OPNAME; /* yes, invert opname */ ;}
break;
case 231:
-#line 1601 "pir.y"
+#line 1600 "pir.y"
{
set_instrf(lexer, "branch", "%I", (yyvsp[(2) - (3)].sval));
set_op_labelflag(lexer, BIT(0)); /* bit 0 means: "1 << 0" */
@@ -3825,37 +3818,37 @@
break;
case 232:
-#line 1609 "pir.y"
+#line 1608 "pir.y"
{ declare_local(lexer, (yyvsp[(2) - (4)].ival), (yyvsp[(3) - (4)].symb)); ;}
break;
case 233:
-#line 1613 "pir.y"
+#line 1612 "pir.y"
{ (yyval.symb) = (yyvsp[(1) - (1)].symb); ;}
break;
case 234:
-#line 1615 "pir.y"
+#line 1614 "pir.y"
{ (yyval.symb) = add_local((yyvsp[(1) - (3)].symb), (yyvsp[(3) - (3)].symb)); ;}
break;
case 235:
-#line 1619 "pir.y"
+#line 1618 "pir.y"
{ (yyval.symb) = new_local(lexer, (yyvsp[(1) - (2)].sval), (yyvsp[(2) - (2)].ival)); ;}
break;
case 236:
-#line 1622 "pir.y"
+#line 1621 "pir.y"
{ (yyval.ival) = 0; ;}
break;
case 237:
-#line 1623 "pir.y"
+#line 1622 "pir.y"
{ (yyval.ival) = 1; ;}
break;
case 238:
-#line 1627 "pir.y"
+#line 1626 "pir.y"
{ /* if $4 is not a register, it must be a declared symbol */
if (!TEST_FLAG((yyvsp[(4) - (5)].targ)->flags, TARGET_FLAG_IS_REG)) {
@@ -3868,12 +3861,12 @@
break;
case 239:
-#line 1642 "pir.y"
+#line 1641 "pir.y"
{ convert_inv_to_instr(lexer, (yyvsp[(1) - (1)].invo)); ;}
break;
case 242:
-#line 1654 "pir.y"
+#line 1653 "pir.y"
{ /* $4 contains an invocation object */
set_invocation_args(lexer, (yyvsp[(4) - (8)].invo), (yyvsp[(3) - (8)].argm));
(yyval.invo) = set_invocation_results(lexer, (yyvsp[(4) - (8)].invo), (yyvsp[(6) - (8)].targ));
@@ -3881,72 +3874,72 @@
break;
case 243:
-#line 1661 "pir.y"
+#line 1660 "pir.y"
{ (yyval.argm) = NULL; ;}
break;
case 244:
-#line 1663 "pir.y"
+#line 1662 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 245:
-#line 1667 "pir.y"
+#line 1666 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 246:
-#line 1669 "pir.y"
+#line 1668 "pir.y"
{ (yyval.argm) = add_arg((yyvsp[(1) - (2)].argm), (yyvsp[(2) - (2)].argm)); ;}
break;
case 247:
-#line 1673 "pir.y"
+#line 1672 "pir.y"
{ (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
case 248:
-#line 1677 "pir.y"
+#line 1676 "pir.y"
{ (yyval.invo) = invoke(lexer, CALL_PCC, (yyvsp[(2) - (3)].targ), (yyvsp[(3) - (3)].targ)); ;}
break;
case 249:
-#line 1679 "pir.y"
+#line 1678 "pir.y"
{ (yyval.invo) = invoke(lexer, CALL_NCI, (yyvsp[(2) - (2)].targ)); ;}
break;
case 250:
-#line 1682 "pir.y"
+#line 1681 "pir.y"
{ (yyval.invo) = invoke(lexer, CALL_METHOD, (yyvsp[(2) - (5)].targ), (yyvsp[(5) - (5)].expr)); ;}
break;
case 251:
-#line 1686 "pir.y"
+#line 1685 "pir.y"
{ (yyval.targ) = NULL; ;}
break;
case 252:
-#line 1688 "pir.y"
+#line 1687 "pir.y"
{ (yyval.targ) = (yyvsp[(2) - (2)].targ); ;}
break;
case 253:
-#line 1692 "pir.y"
+#line 1691 "pir.y"
{ (yyval.targ) = NULL; ;}
break;
case 254:
-#line 1694 "pir.y"
+#line 1693 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
case 255:
-#line 1698 "pir.y"
+#line 1697 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
case 256:
-#line 1700 "pir.y"
+#line 1699 "pir.y"
{
if ((yyvsp[(2) - (2)].targ))
(yyval.targ) = add_target(lexer, (yyvsp[(1) - (2)].targ), (yyvsp[(2) - (2)].targ));
@@ -3956,32 +3949,32 @@
break;
case 257:
-#line 1709 "pir.y"
+#line 1708 "pir.y"
{ (yyval.targ) = (yyvsp[(2) - (3)].targ); ;}
break;
case 258:
-#line 1711 "pir.y"
+#line 1710 "pir.y"
{ (yyval.targ) = NULL; ;}
break;
case 260:
-#line 1719 "pir.y"
+#line 1718 "pir.y"
{ (yyval.invo) = set_invocation_results(lexer, (yyvsp[(3) - (3)].invo), (yyvsp[(1) - (3)].targ)); ;}
break;
case 261:
-#line 1721 "pir.y"
+#line 1720 "pir.y"
{ (yyval.invo) = set_invocation_results(lexer, (yyvsp[(3) - (3)].invo), (yyvsp[(1) - (3)].targ)); ;}
break;
case 262:
-#line 1723 "pir.y"
+#line 1722 "pir.y"
{ (yyval.invo) = set_invocation_results(lexer, (yyvsp[(1) - (1)].invo), NULL); ;}
break;
case 265:
-#line 1731 "pir.y"
+#line 1730 "pir.y"
{
/* if $1 is not a register, check whether the symbol was declared */
if (!TEST_FLAG((yyvsp[(1) - (4)].targ)->flags, TARGET_FLAG_IS_REG)) {
@@ -4002,7 +3995,7 @@
break;
case 266:
-#line 1751 "pir.y"
+#line 1750 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_PCC, (yyvsp[(1) - (2)].targ), NULL);
set_invocation_args(lexer, (yyval.invo), (yyvsp[(2) - (2)].argm));
@@ -4010,12 +4003,12 @@
break;
case 267:
-#line 1758 "pir.y"
+#line 1757 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
case 268:
-#line 1760 "pir.y"
+#line 1759 "pir.y"
{
symbol *sym = find_symbol(lexer, (yyvsp[(1) - (1)].sval));
if (sym == NULL)
@@ -4026,7 +4019,7 @@
break;
case 269:
-#line 1770 "pir.y"
+#line 1769 "pir.y"
{ /* check that this identifier was declared */
symbol *sym = find_symbol(lexer, (yyvsp[(1) - (1)].sval));
@@ -4046,22 +4039,22 @@
break;
case 270:
-#line 1787 "pir.y"
+#line 1786 "pir.y"
{ (yyval.expr) = expr_from_target(lexer, new_reg(lexer, PMC_TYPE, (yyvsp[(1) - (1)].ival))); ;}
break;
case 271:
-#line 1789 "pir.y"
+#line 1788 "pir.y"
{ (yyval.expr) = expr_from_target(lexer, new_reg(lexer, STRING_TYPE, (yyvsp[(1) - (1)].ival))); ;}
break;
case 272:
-#line 1791 "pir.y"
+#line 1790 "pir.y"
{ (yyval.expr) = expr_from_const(lexer, new_const(lexer, STRING_TYPE, (yyvsp[(1) - (1)].sval))); ;}
break;
case 273:
-#line 1795 "pir.y"
+#line 1794 "pir.y"
{
symbol *sym = find_symbol(lexer, (yyvsp[(1) - (1)].sval));
if (sym == NULL)
@@ -4073,74 +4066,74 @@
break;
case 274:
-#line 1804 "pir.y"
+#line 1803 "pir.y"
{ (yyval.targ) = new_reg(lexer, PMC_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
case 275:
-#line 1809 "pir.y"
+#line 1808 "pir.y"
{
(yyval.targ) = (yyvsp[(2) - (3)].targ);
;}
break;
case 276:
-#line 1815 "pir.y"
+#line 1814 "pir.y"
{ (yyval.targ) = NULL; ;}
break;
case 277:
-#line 1817 "pir.y"
+#line 1816 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
case 278:
-#line 1821 "pir.y"
+#line 1820 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
case 279:
-#line 1823 "pir.y"
+#line 1822 "pir.y"
{ (yyval.targ) = add_target(lexer, (yyvsp[(1) - (3)].targ), (yyvsp[(3) - (3)].targ)); ;}
break;
case 280:
-#line 1827 "pir.y"
+#line 1826 "pir.y"
{ (yyval.targ) = set_param_flag(lexer, (yyvsp[(1) - (2)].targ), (yyvsp[(2) - (2)].ival)); ;}
break;
case 281:
-#line 1829 "pir.y"
+#line 1828 "pir.y"
{ (yyval.targ) = set_param_alias(lexer, (yyvsp[(1) - (3)].sval)); ;}
break;
case 282:
-#line 1833 "pir.y"
+#line 1832 "pir.y"
{ (yyval.ival) = 0; ;}
break;
case 283:
-#line 1835 "pir.y"
+#line 1834 "pir.y"
{ SET_FLAG((yyval.ival), (yyvsp[(2) - (2)].ival)); ;}
break;
case 284:
-#line 1839 "pir.y"
+#line 1838 "pir.y"
{ (yyval.ival) = TARGET_FLAG_OPTIONAL; ;}
break;
case 285:
-#line 1841 "pir.y"
+#line 1840 "pir.y"
{ (yyval.ival) = TARGET_FLAG_OPT_FLAG; ;}
break;
case 286:
-#line 1843 "pir.y"
+#line 1842 "pir.y"
{ (yyval.ival) = TARGET_FLAG_SLURPY; ;}
break;
case 287:
-#line 1845 "pir.y"
+#line 1844 "pir.y"
{
(yyval.ival) = TARGET_FLAG_NAMED;
set_param_alias(lexer, (yyvsp[(2) - (2)].sval));
@@ -4148,12 +4141,12 @@
break;
case 288:
-#line 1855 "pir.y"
+#line 1854 "pir.y"
{ convert_inv_to_instr(lexer, (yyvsp[(1) - (1)].invo)); ;}
break;
case 293:
-#line 1865 "pir.y"
+#line 1864 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_RETURN);
set_invocation_args(lexer, (yyval.invo), (yyvsp[(2) - (3)].argm));
@@ -4161,7 +4154,7 @@
break;
case 294:
-#line 1870 "pir.y"
+#line 1869 "pir.y"
{ /* was the invocation a method call? then it becomes a method tail
* call, otherwise it's just a normal (sub) tail call.
*/
@@ -4173,7 +4166,7 @@
break;
case 295:
-#line 1881 "pir.y"
+#line 1880 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_YIELD);
set_invocation_args(lexer, (yyval.invo), (yyvsp[(2) - (3)].argm));
@@ -4181,47 +4174,47 @@
break;
case 296:
-#line 1888 "pir.y"
+#line 1887 "pir.y"
{ (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
case 297:
-#line 1892 "pir.y"
+#line 1891 "pir.y"
{ (yyval.argm) = NULL; ;}
break;
case 298:
-#line 1894 "pir.y"
+#line 1893 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 299:
-#line 1898 "pir.y"
+#line 1897 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 300:
-#line 1900 "pir.y"
+#line 1899 "pir.y"
{ (yyval.argm) = add_arg((yyvsp[(1) - (3)].argm), (yyvsp[(3) - (3)].argm)); ;}
break;
case 303:
-#line 1908 "pir.y"
+#line 1907 "pir.y"
{ (yyval.argm) = set_arg_alias(lexer, (yyvsp[(1) - (3)].sval)); ;}
break;
case 304:
-#line 1912 "pir.y"
+#line 1911 "pir.y"
{ (yyval.argm) = set_arg_flag((yyval.argm), (yyvsp[(2) - (2)].ival)); ;}
break;
case 305:
-#line 1916 "pir.y"
+#line 1915 "pir.y"
{ (yyval.argm) = set_curarg(lexer, new_argument(lexer, (yyvsp[(1) - (1)].expr))); ;}
break;
case 306:
-#line 1922 "pir.y"
+#line 1921 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_RETURN);
set_invocation_args(lexer, (yyval.invo), (yyvsp[(3) - (5)].argm));
@@ -4229,7 +4222,7 @@
break;
case 307:
-#line 1931 "pir.y"
+#line 1930 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_YIELD);
set_invocation_args(lexer, (yyval.invo), (yyvsp[(3) - (5)].argm));
@@ -4237,72 +4230,72 @@
break;
case 308:
-#line 1938 "pir.y"
+#line 1937 "pir.y"
{ (yyval.argm) = NULL; ;}
break;
case 309:
-#line 1940 "pir.y"
+#line 1939 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 310:
-#line 1945 "pir.y"
+#line 1944 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 311:
-#line 1947 "pir.y"
+#line 1946 "pir.y"
{ (yyval.argm) = add_arg((yyvsp[(1) - (2)].argm), (yyvsp[(2) - (2)].argm)); ;}
break;
case 312:
-#line 1952 "pir.y"
+#line 1951 "pir.y"
{ (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
case 313:
-#line 1956 "pir.y"
+#line 1955 "pir.y"
{ (yyval.argm) = NULL; ;}
break;
case 314:
-#line 1958 "pir.y"
+#line 1957 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 315:
-#line 1962 "pir.y"
+#line 1961 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 316:
-#line 1964 "pir.y"
+#line 1963 "pir.y"
{ (yyval.argm) = add_arg((yyvsp[(1) - (2)].argm), (yyvsp[(2) - (2)].argm)); ;}
break;
case 317:
-#line 1968 "pir.y"
+#line 1967 "pir.y"
{ (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
case 318:
-#line 1973 "pir.y"
+#line 1972 "pir.y"
{ (yyval.ival) = 0; ;}
break;
case 319:
-#line 1975 "pir.y"
+#line 1974 "pir.y"
{ SET_FLAG((yyval.ival), (yyvsp[(2) - (2)].ival)); ;}
break;
case 320:
-#line 1979 "pir.y"
+#line 1978 "pir.y"
{ (yyval.ival) = ARG_FLAG_FLAT; ;}
break;
case 321:
-#line 1981 "pir.y"
+#line 1980 "pir.y"
{
(yyval.ival) = ARG_FLAG_NAMED;
set_arg_alias(lexer, (yyvsp[(2) - (2)].sval));
@@ -4310,147 +4303,137 @@
break;
case 322:
-#line 1988 "pir.y"
+#line 1987 "pir.y"
{ (yyval.sval) = NULL; ;}
break;
case 323:
-#line 1990 "pir.y"
+#line 1989 "pir.y"
{ (yyval.sval) = (yyvsp[(1) - (1)].sval); ;}
break;
case 324:
-#line 1994 "pir.y"
+#line 1993 "pir.y"
{ (yyval.sval) = (yyvsp[(2) - (3)].sval); ;}
break;
case 328:
-#line 2005 "pir.y"
+#line 2004 "pir.y"
{ store_global_constant(lexer, (yyvsp[(2) - (2)].cval)); ;}
break;
case 329:
-#line 2009 "pir.y"
+#line 2008 "pir.y"
{ /* XXX is .globalconst to be kept? */ ;}
break;
case 330:
-#line 2013 "pir.y"
+#line 2012 "pir.y"
{ (yyval.cval) = new_named_const(lexer, INT_VAL, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].ival)); ;}
break;
case 331:
-#line 2015 "pir.y"
+#line 2014 "pir.y"
{ (yyval.cval) = new_named_const(lexer, NUM_VAL, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].dval)); ;}
break;
case 332:
-#line 2017 "pir.y"
+#line 2016 "pir.y"
{ (yyval.cval) = new_named_const(lexer, STRING_VAL, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].sval)); ;}
break;
case 333:
-#line 2019 "pir.y"
+#line 2018 "pir.y"
{ (yyval.cval) = new_pmc_const(lexer, (yyvsp[(1) - (4)].sval), (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].cval)); ;}
break;
case 334:
-#line 2026 "pir.y"
+#line 2025 "pir.y"
{ (yyval.expr) = expr_from_target(lexer, (yyvsp[(1) - (1)].targ)); ;}
break;
case 335:
-#line 2027 "pir.y"
+#line 2026 "pir.y"
{ (yyval.expr) = expr_from_const(lexer, (yyvsp[(1) - (1)].cval)); ;}
break;
case 336:
-#line 2031 "pir.y"
- { (yyval.cval) = new_const(lexer, STRING_VAL, (yyvsp[(1) - (1)].sval)); ;}
- break;
-
- case 337:
-#line 2032 "pir.y"
+#line 2030 "pir.y"
{ (yyval.cval) = new_const(lexer, INT_VAL, (yyvsp[(1) - (1)].ival)); ;}
break;
- case 338:
-#line 2033 "pir.y"
+ case 337:
+#line 2031 "pir.y"
{ (yyval.cval) = new_const(lexer, NUM_VAL, (yyvsp[(1) - (1)].dval)); ;}
break;
case 339:
-#line 2034 "pir.y"
- { (yyval.cval) = new_const(lexer, USTRING_VAL, (yyvsp[(1) - (1)].ustr)); ;}
- break;
-
- case 340:
-#line 2037 "pir.y"
+#line 2035 "pir.y"
{ (yyval.cval) = new_const(lexer, STRING_VAL, (yyvsp[(1) - (1)].sval)); ;}
break;
- case 341:
-#line 2038 "pir.y"
+ case 340:
+#line 2036 "pir.y"
{ (yyval.cval) = new_const(lexer, USTRING_VAL, (yyvsp[(1) - (1)].ustr)); ;}
break;
- case 342:
-#line 2041 "pir.y"
+ case 341:
+#line 2039 "pir.y"
{ (yyval.ival) = OP_NE; ;}
break;
- case 343:
-#line 2042 "pir.y"
+ case 342:
+#line 2040 "pir.y"
{ (yyval.ival) = OP_EQ; ;}
break;
- case 344:
-#line 2043 "pir.y"
+ case 343:
+#line 2041 "pir.y"
{ (yyval.ival) = OP_LT; ;}
break;
- case 345:
-#line 2044 "pir.y"
+ case 344:
+#line 2042 "pir.y"
{ (yyval.ival) = OP_LE; ;}
break;
- case 346:
-#line 2045 "pir.y"
+ case 345:
+#line 2043 "pir.y"
{ (yyval.ival) = OP_GE; ;}
break;
- case 347:
-#line 2046 "pir.y"
+ case 346:
+#line 2044 "pir.y"
{ (yyval.ival) = OP_GT; ;}
break;
- case 348:
-#line 2049 "pir.y"
+ case 347:
+#line 2047 "pir.y"
{ (yyval.ival) = INT_TYPE; ;}
break;
- case 349:
-#line 2050 "pir.y"
+ case 348:
+#line 2048 "pir.y"
{ (yyval.ival) = NUM_TYPE; ;}
break;
- case 350:
-#line 2051 "pir.y"
+ case 349:
+#line 2049 "pir.y"
{ (yyval.ival) = PMC_TYPE; ;}
break;
- case 351:
-#line 2052 "pir.y"
+ case 350:
+#line 2050 "pir.y"
{ (yyval.ival) = STRING_TYPE; ;}
break;
- case 352:
-#line 2060 "pir.y"
+ case 351:
+#line 2058 "pir.y"
{ set_curtarget(lexer, (yyvsp[(1) - (1)].targ)); ;}
break;
- case 354:
-#line 2064 "pir.y"
+ case 353:
+#line 2062 "pir.y"
{ /* a symbol must have been declared; check that at this point. */
symbol * sym = find_symbol(lexer, (yyvsp[(1) - (1)].sval));
if (sym == NULL) {
@@ -4462,278 +4445,278 @@
;}
break;
- case 355:
-#line 2075 "pir.y"
+ case 354:
+#line 2073 "pir.y"
{ (yyval.targ) = new_reg(lexer, PMC_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
- case 356:
-#line 2076 "pir.y"
+ case 355:
+#line 2074 "pir.y"
{ (yyval.targ) = new_reg(lexer, NUM_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
- case 357:
-#line 2077 "pir.y"
+ case 356:
+#line 2075 "pir.y"
{ (yyval.targ) = new_reg(lexer, INT_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
- case 358:
-#line 2078 "pir.y"
+ case 357:
+#line 2076 "pir.y"
{ (yyval.targ) = new_reg(lexer, STRING_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
- case 361:
-#line 2086 "pir.y"
+ case 360:
+#line 2084 "pir.y"
{ (yyval.sval) = "if"; ;}
break;
- case 362:
-#line 2087 "pir.y"
+ case 361:
+#line 2085 "pir.y"
{ (yyval.sval) = "unless"; ;}
break;
- case 363:
-#line 2088 "pir.y"
+ case 362:
+#line 2086 "pir.y"
{ (yyval.sval) = "goto"; ;}
break;
- case 364:
-#line 2089 "pir.y"
+ case 363:
+#line 2087 "pir.y"
{ (yyval.sval) = "int"; ;}
break;
- case 365:
-#line 2090 "pir.y"
+ case 364:
+#line 2088 "pir.y"
{ (yyval.sval) = "num"; ;}
break;
- case 366:
-#line 2091 "pir.y"
+ case 365:
+#line 2089 "pir.y"
{ (yyval.sval) = "string"; ;}
break;
- case 367:
-#line 2092 "pir.y"
+ case 366:
+#line 2090 "pir.y"
{ (yyval.sval) = "pmc"; ;}
break;
- case 368:
-#line 2093 "pir.y"
+ case 367:
+#line 2091 "pir.y"
{ (yyval.sval) = "null"; ;}
break;
- case 369:
-#line 2096 "pir.y"
+ case 368:
+#line 2094 "pir.y"
{ (yyval.sval) = "neg"; ;}
break;
- case 370:
-#line 2097 "pir.y"
+ case 369:
+#line 2095 "pir.y"
{ (yyval.sval) = "not"; ;}
break;
- case 371:
-#line 2098 "pir.y"
+ case 370:
+#line 2096 "pir.y"
{ (yyval.sval) = "bnot"; ;}
break;
- case 372:
-#line 2101 "pir.y"
+ case 371:
+#line 2099 "pir.y"
{ (yyval.ival) = OP_ADD; ;}
break;
- case 373:
-#line 2102 "pir.y"
+ case 372:
+#line 2100 "pir.y"
{ (yyval.ival) = OP_SUB; ;}
break;
- case 374:
-#line 2103 "pir.y"
+ case 373:
+#line 2101 "pir.y"
{ (yyval.ival) = OP_DIV; ;}
break;
- case 375:
-#line 2104 "pir.y"
+ case 374:
+#line 2102 "pir.y"
{ (yyval.ival) = OP_MUL; ;}
break;
- case 376:
-#line 2105 "pir.y"
+ case 375:
+#line 2103 "pir.y"
{ (yyval.ival) = OP_MOD; ;}
break;
- case 377:
-#line 2106 "pir.y"
+ case 376:
+#line 2104 "pir.y"
{ (yyval.ival) = OP_BOR; ;}
break;
- case 378:
-#line 2107 "pir.y"
+ case 377:
+#line 2105 "pir.y"
{ (yyval.ival) = OP_BAND; ;}
break;
- case 379:
-#line 2108 "pir.y"
+ case 378:
+#line 2106 "pir.y"
{ (yyval.ival) = OP_BXOR; ;}
break;
- case 380:
-#line 2109 "pir.y"
+ case 379:
+#line 2107 "pir.y"
{ (yyval.ival) = OP_POW; ;}
break;
- case 381:
-#line 2110 "pir.y"
+ case 380:
+#line 2108 "pir.y"
{ (yyval.ival) = OP_CONCAT; ;}
break;
- case 382:
-#line 2111 "pir.y"
+ case 381:
+#line 2109 "pir.y"
{ (yyval.ival) = OP_LSR; ;}
break;
- case 383:
-#line 2112 "pir.y"
+ case 382:
+#line 2110 "pir.y"
{ (yyval.ival) = OP_SHR; ;}
break;
- case 384:
-#line 2113 "pir.y"
+ case 383:
+#line 2111 "pir.y"
{ (yyval.ival) = OP_SHL; ;}
break;
- case 385:
-#line 2114 "pir.y"
+ case 384:
+#line 2112 "pir.y"
{ (yyval.ival) = OP_OR; ;}
break;
- case 386:
-#line 2115 "pir.y"
+ case 385:
+#line 2113 "pir.y"
{ (yyval.ival) = OP_AND; ;}
break;
- case 387:
-#line 2116 "pir.y"
+ case 386:
+#line 2114 "pir.y"
{ (yyval.ival) = OP_FDIV; ;}
break;
- case 388:
-#line 2117 "pir.y"
+ case 387:
+#line 2115 "pir.y"
{ (yyval.ival) = OP_XOR; ;}
break;
- case 389:
-#line 2118 "pir.y"
+ case 388:
+#line 2116 "pir.y"
{ (yyval.ival) = OP_ISEQ; ;}
break;
- case 390:
-#line 2119 "pir.y"
+ case 389:
+#line 2117 "pir.y"
{ (yyval.ival) = OP_ISLE; ;}
break;
- case 391:
-#line 2120 "pir.y"
+ case 390:
+#line 2118 "pir.y"
{ (yyval.ival) = OP_ISLT; ;}
break;
- case 392:
-#line 2121 "pir.y"
+ case 391:
+#line 2119 "pir.y"
{ (yyval.ival) = OP_ISGE; ;}
break;
- case 393:
-#line 2122 "pir.y"
+ case 392:
+#line 2120 "pir.y"
{ (yyval.ival) = OP_ISGT; ;}
break;
- case 394:
-#line 2123 "pir.y"
+ case 393:
+#line 2121 "pir.y"
{ (yyval.ival) = OP_ISNE; ;}
break;
- case 395:
-#line 2129 "pir.y"
+ case 394:
+#line 2127 "pir.y"
{ (yyval.ival) = OP_MUL; ;}
break;
- case 396:
-#line 2130 "pir.y"
+ case 395:
+#line 2128 "pir.y"
{ (yyval.ival) = OP_MOD; ;}
break;
- case 397:
-#line 2131 "pir.y"
+ case 396:
+#line 2129 "pir.y"
{ (yyval.ival) = OP_POW; ;}
break;
- case 398:
-#line 2132 "pir.y"
+ case 397:
+#line 2130 "pir.y"
{ (yyval.ival) = OP_DIV; ;}
break;
- case 399:
-#line 2133 "pir.y"
+ case 398:
+#line 2131 "pir.y"
{ (yyval.ival) = OP_FDIV; ;}
break;
- case 400:
-#line 2134 "pir.y"
+ case 399:
+#line 2132 "pir.y"
{ (yyval.ival) = OP_BOR; ;}
break;
- case 401:
-#line 2135 "pir.y"
+ case 400:
+#line 2133 "pir.y"
{ (yyval.ival) = OP_BAND; ;}
break;
- case 402:
-#line 2136 "pir.y"
+ case 401:
+#line 2134 "pir.y"
{ (yyval.ival) = OP_BXOR; ;}
break;
- case 403:
-#line 2137 "pir.y"
+ case 402:
+#line 2135 "pir.y"
{ (yyval.ival) = OP_CONCAT; ;}
break;
- case 404:
-#line 2138 "pir.y"
+ case 403:
+#line 2136 "pir.y"
{ (yyval.ival) = OP_SHR; ;}
break;
- case 405:
-#line 2139 "pir.y"
+ case 404:
+#line 2137 "pir.y"
{ (yyval.ival) = OP_SHL; ;}
break;
- case 406:
-#line 2140 "pir.y"
+ case 405:
+#line 2138 "pir.y"
{ (yyval.ival) = OP_LSR; ;}
break;
- case 408:
-#line 2161 "pir.y"
+ case 407:
+#line 2159 "pir.y"
{ new_subr(lexer, "@start"); ;}
break;
- case 417:
-#line 2177 "pir.y"
+ case 416:
+#line 2175 "pir.y"
{ set_label(lexer, (yyvsp[(1) - (2)].sval)); ;}
break;
- case 422:
-#line 2187 "pir.y"
+ case 421:
+#line 2185 "pir.y"
{ set_sub_name(lexer, (yyvsp[(3) - (3)].sval)); ;}
break;
- case 423:
-#line 2191 "pir.y"
+ case 422:
+#line 2189 "pir.y"
{ new_subr(lexer, NULL); ;}
break;
- case 424:
-#line 2196 "pir.y"
+ case 423:
+#line 2194 "pir.y"
{
if (is_parrot_op(lexer, (yyvsp[(1) - (3)].sval)))
get_opinfo(yyscanner);
@@ -4745,7 +4728,7 @@
/* Line 1267 of yacc.c. */
-#line 4749 "pirparser.c"
+#line 4732 "pirparser.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -4959,7 +4942,7 @@
}
-#line 2207 "pir.y"
+#line 2205 "pir.y"
Modified: trunk/compilers/pirc/new/pirparser.h
==============================================================================
--- trunk/compilers/pirc/new/pirparser.h (original)
+++ trunk/compilers/pirc/new/pirparser.h Sat Jan 3 07:23:12 2009
@@ -90,72 +90,71 @@
TK_NREG = 306,
TK_SREG = 307,
TK_IREG = 308,
- TK_CONST_VALUE = 309,
- TK_ARROW = 310,
- TK_NE = 311,
- TK_EQ = 312,
- TK_LT = 313,
- TK_LE = 314,
- TK_GT = 315,
- TK_GE = 316,
- TK_USHIFT = 317,
- TK_RSHIFT = 318,
- TK_LSHIFT = 319,
- TK_FDIV = 320,
- TK_OR = 321,
- TK_AND = 322,
- TK_XOR = 323,
- TK_CONC = 324,
- TK_ASSIGN_USHIFT = 325,
- TK_ASSIGN_RSHIFT = 326,
- TK_ASSIGN_LSHIFT = 327,
- TK_ASSIGN_INC = 328,
- TK_ASSIGN_DEC = 329,
- TK_ASSIGN_MUL = 330,
- TK_ASSIGN_MOD = 331,
- TK_ASSIGN_POW = 332,
- TK_ASSIGN_DIV = 333,
- TK_ASSIGN_BOR = 334,
- TK_ASSIGN_BAND = 335,
- TK_ASSIGN_FDIV = 336,
- TK_ASSIGN_BNOT = 337,
- TK_ASSIGN_CONC = 338,
- TK_FLAG_INIT = 339,
- TK_FLAG_LOAD = 340,
- TK_FLAG_MAIN = 341,
- TK_FLAG_ANON = 342,
- TK_FLAG_METHOD = 343,
- TK_FLAG_OUTER = 344,
- TK_FLAG_VTABLE = 345,
- TK_FLAG_LEX = 346,
- TK_FLAG_MULTI = 347,
- TK_FLAG_POSTCOMP = 348,
- TK_FLAG_IMMEDIATE = 349,
- TK_FLAG_SUBID = 350,
- TK_FLAG_INSTANCEOF = 351,
- TK_FLAG_NSENTRY = 352,
- TK_FLAG_UNIQUE_REG = 353,
- TK_FLAG_NAMED = 354,
- TK_FLAG_SLURPY = 355,
- TK_FLAG_FLAT = 356,
- TK_FLAG_OPTIONAL = 357,
- TK_FLAG_OPT_FLAG = 358,
- TK_FLAG_INVOCANT = 359,
- TK_MACRO = 360,
- TK_ENDM = 361,
- TK_MACRO_LOCAL = 362,
- TK_MACRO_LABEL = 363,
- TK_MACRO_CONST = 364,
- TK_MACRO_LABEL_ID = 365,
- TK_MACRO_LOCAL_ID = 366,
- TK_MACRO_IDENT = 367,
- TK_MACRO_ARG_IDENT = 368,
- TK_MACRO_ARG_OTHER = 369,
- TK_MACRO_CONST_VAL = 370,
- TK_PASM_MARKER_START = 371,
- TK_PIR_MARKER_START = 372,
- TK_PCC_SUB = 373,
- TK_PARROT_OP = 374
+ TK_ARROW = 309,
+ TK_NE = 310,
+ TK_EQ = 311,
+ TK_LT = 312,
+ TK_LE = 313,
+ TK_GT = 314,
+ TK_GE = 315,
+ TK_USHIFT = 316,
+ TK_RSHIFT = 317,
+ TK_LSHIFT = 318,
+ TK_FDIV = 319,
+ TK_OR = 320,
+ TK_AND = 321,
+ TK_XOR = 322,
+ TK_CONC = 323,
+ TK_ASSIGN_USHIFT = 324,
+ TK_ASSIGN_RSHIFT = 325,
+ TK_ASSIGN_LSHIFT = 326,
+ TK_ASSIGN_INC = 327,
+ TK_ASSIGN_DEC = 328,
+ TK_ASSIGN_MUL = 329,
+ TK_ASSIGN_MOD = 330,
+ TK_ASSIGN_POW = 331,
+ TK_ASSIGN_DIV = 332,
+ TK_ASSIGN_BOR = 333,
+ TK_ASSIGN_BAND = 334,
+ TK_ASSIGN_FDIV = 335,
+ TK_ASSIGN_BNOT = 336,
+ TK_ASSIGN_CONC = 337,
+ TK_FLAG_INIT = 338,
+ TK_FLAG_LOAD = 339,
+ TK_FLAG_MAIN = 340,
+ TK_FLAG_ANON = 341,
+ TK_FLAG_METHOD = 342,
+ TK_FLAG_OUTER = 343,
+ TK_FLAG_VTABLE = 344,
+ TK_FLAG_LEX = 345,
+ TK_FLAG_MULTI = 346,
+ TK_FLAG_POSTCOMP = 347,
+ TK_FLAG_IMMEDIATE = 348,
+ TK_FLAG_SUBID = 349,
+ TK_FLAG_INSTANCEOF = 350,
+ TK_FLAG_NSENTRY = 351,
+ TK_FLAG_UNIQUE_REG = 352,
+ TK_FLAG_NAMED = 353,
+ TK_FLAG_SLURPY = 354,
+ TK_FLAG_FLAT = 355,
+ TK_FLAG_OPTIONAL = 356,
+ TK_FLAG_OPT_FLAG = 357,
+ TK_FLAG_INVOCANT = 358,
+ TK_MACRO = 359,
+ TK_ENDM = 360,
+ TK_MACRO_LOCAL = 361,
+ TK_MACRO_LABEL = 362,
+ TK_MACRO_CONST = 363,
+ TK_MACRO_LABEL_ID = 364,
+ TK_MACRO_LOCAL_ID = 365,
+ TK_MACRO_IDENT = 366,
+ TK_MACRO_ARG_IDENT = 367,
+ TK_MACRO_ARG_OTHER = 368,
+ TK_MACRO_CONST_VAL = 369,
+ TK_PASM_MARKER_START = 370,
+ TK_PIR_MARKER_START = 371,
+ TK_PCC_SUB = 372,
+ TK_PARROT_OP = 373
};
#endif
/* Tokens. */
@@ -210,72 +209,71 @@
#define TK_NREG 306
#define TK_SREG 307
#define TK_IREG 308
-#define TK_CONST_VALUE 309
-#define TK_ARROW 310
-#define TK_NE 311
-#define TK_EQ 312
-#define TK_LT 313
-#define TK_LE 314
-#define TK_GT 315
-#define TK_GE 316
-#define TK_USHIFT 317
-#define TK_RSHIFT 318
-#define TK_LSHIFT 319
-#define TK_FDIV 320
-#define TK_OR 321
-#define TK_AND 322
-#define TK_XOR 323
-#define TK_CONC 324
-#define TK_ASSIGN_USHIFT 325
-#define TK_ASSIGN_RSHIFT 326
-#define TK_ASSIGN_LSHIFT 327
-#define TK_ASSIGN_INC 328
-#define TK_ASSIGN_DEC 329
-#define TK_ASSIGN_MUL 330
-#define TK_ASSIGN_MOD 331
-#define TK_ASSIGN_POW 332
-#define TK_ASSIGN_DIV 333
-#define TK_ASSIGN_BOR 334
-#define TK_ASSIGN_BAND 335
-#define TK_ASSIGN_FDIV 336
-#define TK_ASSIGN_BNOT 337
-#define TK_ASSIGN_CONC 338
-#define TK_FLAG_INIT 339
-#define TK_FLAG_LOAD 340
-#define TK_FLAG_MAIN 341
-#define TK_FLAG_ANON 342
-#define TK_FLAG_METHOD 343
-#define TK_FLAG_OUTER 344
-#define TK_FLAG_VTABLE 345
-#define TK_FLAG_LEX 346
-#define TK_FLAG_MULTI 347
-#define TK_FLAG_POSTCOMP 348
-#define TK_FLAG_IMMEDIATE 349
-#define TK_FLAG_SUBID 350
-#define TK_FLAG_INSTANCEOF 351
-#define TK_FLAG_NSENTRY 352
-#define TK_FLAG_UNIQUE_REG 353
-#define TK_FLAG_NAMED 354
-#define TK_FLAG_SLURPY 355
-#define TK_FLAG_FLAT 356
-#define TK_FLAG_OPTIONAL 357
-#define TK_FLAG_OPT_FLAG 358
-#define TK_FLAG_INVOCANT 359
-#define TK_MACRO 360
-#define TK_ENDM 361
-#define TK_MACRO_LOCAL 362
-#define TK_MACRO_LABEL 363
-#define TK_MACRO_CONST 364
-#define TK_MACRO_LABEL_ID 365
-#define TK_MACRO_LOCAL_ID 366
-#define TK_MACRO_IDENT 367
-#define TK_MACRO_ARG_IDENT 368
-#define TK_MACRO_ARG_OTHER 369
-#define TK_MACRO_CONST_VAL 370
-#define TK_PASM_MARKER_START 371
-#define TK_PIR_MARKER_START 372
-#define TK_PCC_SUB 373
-#define TK_PARROT_OP 374
+#define TK_ARROW 309
+#define TK_NE 310
+#define TK_EQ 311
+#define TK_LT 312
+#define TK_LE 313
+#define TK_GT 314
+#define TK_GE 315
+#define TK_USHIFT 316
+#define TK_RSHIFT 317
+#define TK_LSHIFT 318
+#define TK_FDIV 319
+#define TK_OR 320
+#define TK_AND 321
+#define TK_XOR 322
+#define TK_CONC 323
+#define TK_ASSIGN_USHIFT 324
+#define TK_ASSIGN_RSHIFT 325
+#define TK_ASSIGN_LSHIFT 326
+#define TK_ASSIGN_INC 327
+#define TK_ASSIGN_DEC 328
+#define TK_ASSIGN_MUL 329
+#define TK_ASSIGN_MOD 330
+#define TK_ASSIGN_POW 331
+#define TK_ASSIGN_DIV 332
+#define TK_ASSIGN_BOR 333
+#define TK_ASSIGN_BAND 334
+#define TK_ASSIGN_FDIV 335
+#define TK_ASSIGN_BNOT 336
+#define TK_ASSIGN_CONC 337
+#define TK_FLAG_INIT 338
+#define TK_FLAG_LOAD 339
+#define TK_FLAG_MAIN 340
+#define TK_FLAG_ANON 341
+#define TK_FLAG_METHOD 342
+#define TK_FLAG_OUTER 343
+#define TK_FLAG_VTABLE 344
+#define TK_FLAG_LEX 345
+#define TK_FLAG_MULTI 346
+#define TK_FLAG_POSTCOMP 347
+#define TK_FLAG_IMMEDIATE 348
+#define TK_FLAG_SUBID 349
+#define TK_FLAG_INSTANCEOF 350
+#define TK_FLAG_NSENTRY 351
+#define TK_FLAG_UNIQUE_REG 352
+#define TK_FLAG_NAMED 353
+#define TK_FLAG_SLURPY 354
+#define TK_FLAG_FLAT 355
+#define TK_FLAG_OPTIONAL 356
+#define TK_FLAG_OPT_FLAG 357
+#define TK_FLAG_INVOCANT 358
+#define TK_MACRO 359
+#define TK_ENDM 360
+#define TK_MACRO_LOCAL 361
+#define TK_MACRO_LABEL 362
+#define TK_MACRO_CONST 363
+#define TK_MACRO_LABEL_ID 364
+#define TK_MACRO_LOCAL_ID 365
+#define TK_MACRO_IDENT 366
+#define TK_MACRO_ARG_IDENT 367
+#define TK_MACRO_ARG_OTHER 368
+#define TK_MACRO_CONST_VAL 369
+#define TK_PASM_MARKER_START 370
+#define TK_PIR_MARKER_START 371
+#define TK_PCC_SUB 372
+#define TK_PARROT_OP 373
@@ -301,7 +299,7 @@
struct macro_param *pval;
}
/* Line 1489 of yacc.c. */
-#line 305 "pirparser.h"
+#line 303 "pirparser.h"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
Modified: trunk/compilers/pirc/new/pirsymbol.c
==============================================================================
--- trunk/compilers/pirc/new/pirsymbol.c (original)
+++ trunk/compilers/pirc/new/pirsymbol.c Sat Jan 3 07:23:12 2009
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2007-2008, The Perl Foundation.
+ * Copyright (C) 2007-2009, The Perl Foundation.
*/
#include "pircompiler.h"
#include "pirsymbol.h"
Modified: trunk/compilers/pirc/new/pirsymbol.h
==============================================================================
--- trunk/compilers/pirc/new/pirsymbol.h (original)
+++ trunk/compilers/pirc/new/pirsymbol.h Sat Jan 3 07:23:12 2009
@@ -1,6 +1,6 @@
/*
* $Id$
- * Copyright (C) 2007-2008, The Perl Foundation.
+ * Copyright (C) 2007-2009, The Perl Foundation.
*/
-
[svn:parrot] r34884 - trunk/compilers/pirc/new
by kjs