aboutsummaryrefslogtreecommitdiff
path: root/engines/director
diff options
context:
space:
mode:
authorEugene Sandulenko2017-02-12 11:35:50 +0100
committerEugene Sandulenko2017-02-12 11:35:50 +0100
commited1d606e9f25cfe3313079a5627a6c08c91f47dd (patch)
tree659d1d85ff3057bf19332c81da9aa5c809224c7d /engines/director
parenta243a479aef65fe184519803100477ac1f3626bf (diff)
downloadscummvm-rg350-ed1d606e9f25cfe3313079a5627a6c08c91f47dd.tar.gz
scummvm-rg350-ed1d606e9f25cfe3313079a5627a6c08c91f47dd.tar.bz2
scummvm-rg350-ed1d606e9f25cfe3313079a5627a6c08c91f47dd.zip
DIRECTOR: Lingo: Implemented stub for REFERENCE built-ins
Diffstat (limited to 'engines/director')
-rw-r--r--engines/director/lingo/lingo-builtins.cpp28
-rw-r--r--engines/director/lingo/lingo-code.cpp9
-rw-r--r--engines/director/lingo/lingo-gr.cpp1048
-rw-r--r--engines/director/lingo/lingo-gr.h316
-rw-r--r--engines/director/lingo/lingo-gr.y2
5 files changed, 718 insertions, 685 deletions
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index ecf7fe22ad..be0a191a5b 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -1493,11 +1493,23 @@ void Lingo::factoryCall(Common::String &name, int nargs) {
// References
///////////////////
void Lingo::b_cast(int nargs) {
+ Datum d = g_lingo->pop();
+
warning("STUB: b_cast");
+
+ d.type = REFERENCE;
+
+ g_lingo->push(d);
}
void Lingo::b_field(int nargs) {
+ Datum d = g_lingo->pop();
+
warning("STUB: b_field");
+
+ d.type = REFERENCE;
+
+ g_lingo->push(d);
}
void Lingo::b_me(int nargs) {
@@ -1507,13 +1519,23 @@ void Lingo::b_me(int nargs) {
}
void Lingo::b_script(int nargs) {
+ Datum d = g_lingo->pop();
+
warning("STUB: b_script");
+
+ d.type = REFERENCE;
+
+ g_lingo->push(d);
}
void Lingo::b_window(int nargs) {
- g_lingo->printSTUBWithArglist("b_window", nargs);
- g_lingo->dropStack(nargs);
- g_lingo->push(Datum(0));
+ Datum d = g_lingo->pop();
+
+ warning("STUB: b_window");
+
+ d.type = REFERENCE;
+
+ g_lingo->push(d);
}
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 87cf6da6df..eeae0534d8 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -299,11 +299,18 @@ void Lingo::c_assign() {
d1 = g_lingo->pop();
d2 = g_lingo->pop();
- if (d1.type != VAR) {
+ if (d1.type != VAR && d1.type != REFERENCE) {
warning("assignment to non-variable");
return;
}
+ if (d1.type == REFERENCE) {
+ warning("STUB: c_assing REFERENCE");
+
+ g_lingo->push(d1);
+ return;
+ }
+
if (d1.u.sym->type != INT && d1.u.sym->type != VOID &&
d1.u.sym->type != FLOAT && d1.u.sym->type != STRING) {
warning("assignment to non-variable '%s'", d1.u.sym->name.c_str());
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 2406a8703d..8d1e84856b 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -74,84 +74,85 @@
RECT = 263,
ARRAY = 264,
OBJECT = 265,
- INT = 266,
- THEENTITY = 267,
- THEENTITYWITHID = 268,
- FLOAT = 269,
- BLTIN = 270,
- BLTINNOARGS = 271,
- BLTINNOARGSORONE = 272,
- BLTINONEARG = 273,
- BLTINARGLIST = 274,
- TWOWORDBUILTIN = 275,
- FBLTIN = 276,
- FBLTINNOARGS = 277,
- FBLTINONEARG = 278,
- FBLTINARGLIST = 279,
- RBLTIN = 280,
- RBLTINONEARG = 281,
- ID = 282,
- STRING = 283,
- HANDLER = 284,
- SYMBOL = 285,
- ENDCLAUSE = 286,
- tPLAYACCEL = 287,
- tDOWN = 288,
- tELSE = 289,
- tNLELSIF = 290,
- tEXIT = 291,
- tFRAME = 292,
- tGLOBAL = 293,
- tGO = 294,
- tIF = 295,
- tINTO = 296,
- tLOOP = 297,
- tMACRO = 298,
- tMOVIE = 299,
- tNEXT = 300,
- tOF = 301,
- tPREVIOUS = 302,
- tPUT = 303,
- tREPEAT = 304,
- tSET = 305,
- tTHEN = 306,
- tTO = 307,
- tWHEN = 308,
- tWITH = 309,
- tWHILE = 310,
- tNLELSE = 311,
- tFACTORY = 312,
- tMETHOD = 313,
- tOPEN = 314,
- tPLAY = 315,
- tDONE = 316,
- tINSTANCE = 317,
- tGE = 318,
- tLE = 319,
- tGT = 320,
- tLT = 321,
- tEQ = 322,
- tNEQ = 323,
- tAND = 324,
- tOR = 325,
- tNOT = 326,
- tMOD = 327,
- tAFTER = 328,
- tBEFORE = 329,
- tCONCAT = 330,
- tCONTAINS = 331,
- tSTARTS = 332,
- tCHAR = 333,
- tITEM = 334,
- tLINE = 335,
- tWORD = 336,
- tSPRITE = 337,
- tINTERSECTS = 338,
- tWITHIN = 339,
- tTELL = 340,
- tPROPERTY = 341,
- tON = 342,
- tME = 343
+ REFERENCE = 266,
+ INT = 267,
+ THEENTITY = 268,
+ THEENTITYWITHID = 269,
+ FLOAT = 270,
+ BLTIN = 271,
+ BLTINNOARGS = 272,
+ BLTINNOARGSORONE = 273,
+ BLTINONEARG = 274,
+ BLTINARGLIST = 275,
+ TWOWORDBUILTIN = 276,
+ FBLTIN = 277,
+ FBLTINNOARGS = 278,
+ FBLTINONEARG = 279,
+ FBLTINARGLIST = 280,
+ RBLTIN = 281,
+ RBLTINONEARG = 282,
+ ID = 283,
+ STRING = 284,
+ HANDLER = 285,
+ SYMBOL = 286,
+ ENDCLAUSE = 287,
+ tPLAYACCEL = 288,
+ tDOWN = 289,
+ tELSE = 290,
+ tNLELSIF = 291,
+ tEXIT = 292,
+ tFRAME = 293,
+ tGLOBAL = 294,
+ tGO = 295,
+ tIF = 296,
+ tINTO = 297,
+ tLOOP = 298,
+ tMACRO = 299,
+ tMOVIE = 300,
+ tNEXT = 301,
+ tOF = 302,
+ tPREVIOUS = 303,
+ tPUT = 304,
+ tREPEAT = 305,
+ tSET = 306,
+ tTHEN = 307,
+ tTO = 308,
+ tWHEN = 309,
+ tWITH = 310,
+ tWHILE = 311,
+ tNLELSE = 312,
+ tFACTORY = 313,
+ tMETHOD = 314,
+ tOPEN = 315,
+ tPLAY = 316,
+ tDONE = 317,
+ tINSTANCE = 318,
+ tGE = 319,
+ tLE = 320,
+ tGT = 321,
+ tLT = 322,
+ tEQ = 323,
+ tNEQ = 324,
+ tAND = 325,
+ tOR = 326,
+ tNOT = 327,
+ tMOD = 328,
+ tAFTER = 329,
+ tBEFORE = 330,
+ tCONCAT = 331,
+ tCONTAINS = 332,
+ tSTARTS = 333,
+ tCHAR = 334,
+ tITEM = 335,
+ tLINE = 336,
+ tWORD = 337,
+ tSPRITE = 338,
+ tINTERSECTS = 339,
+ tWITHIN = 340,
+ tTELL = 341,
+ tPROPERTY = 342,
+ tON = 343,
+ tME = 344
};
#endif
/* Tokens. */
@@ -163,84 +164,85 @@
#define RECT 263
#define ARRAY 264
#define OBJECT 265
-#define INT 266
-#define THEENTITY 267
-#define THEENTITYWITHID 268
-#define FLOAT 269
-#define BLTIN 270
-#define BLTINNOARGS 271
-#define BLTINNOARGSORONE 272
-#define BLTINONEARG 273
-#define BLTINARGLIST 274
-#define TWOWORDBUILTIN 275
-#define FBLTIN 276
-#define FBLTINNOARGS 277
-#define FBLTINONEARG 278
-#define FBLTINARGLIST 279
-#define RBLTIN 280
-#define RBLTINONEARG 281
-#define ID 282
-#define STRING 283
-#define HANDLER 284
-#define SYMBOL 285
-#define ENDCLAUSE 286
-#define tPLAYACCEL 287
-#define tDOWN 288
-#define tELSE 289
-#define tNLELSIF 290
-#define tEXIT 291
-#define tFRAME 292
-#define tGLOBAL 293
-#define tGO 294
-#define tIF 295
-#define tINTO 296
-#define tLOOP 297
-#define tMACRO 298
-#define tMOVIE 299
-#define tNEXT 300
-#define tOF 301
-#define tPREVIOUS 302
-#define tPUT 303
-#define tREPEAT 304
-#define tSET 305
-#define tTHEN 306
-#define tTO 307
-#define tWHEN 308
-#define tWITH 309
-#define tWHILE 310
-#define tNLELSE 311
-#define tFACTORY 312
-#define tMETHOD 313
-#define tOPEN 314
-#define tPLAY 315
-#define tDONE 316
-#define tINSTANCE 317
-#define tGE 318
-#define tLE 319
-#define tGT 320
-#define tLT 321
-#define tEQ 322
-#define tNEQ 323
-#define tAND 324
-#define tOR 325
-#define tNOT 326
-#define tMOD 327
-#define tAFTER 328
-#define tBEFORE 329
-#define tCONCAT 330
-#define tCONTAINS 331
-#define tSTARTS 332
-#define tCHAR 333
-#define tITEM 334
-#define tLINE 335
-#define tWORD 336
-#define tSPRITE 337
-#define tINTERSECTS 338
-#define tWITHIN 339
-#define tTELL 340
-#define tPROPERTY 341
-#define tON 342
-#define tME 343
+#define REFERENCE 266
+#define INT 267
+#define THEENTITY 268
+#define THEENTITYWITHID 269
+#define FLOAT 270
+#define BLTIN 271
+#define BLTINNOARGS 272
+#define BLTINNOARGSORONE 273
+#define BLTINONEARG 274
+#define BLTINARGLIST 275
+#define TWOWORDBUILTIN 276
+#define FBLTIN 277
+#define FBLTINNOARGS 278
+#define FBLTINONEARG 279
+#define FBLTINARGLIST 280
+#define RBLTIN 281
+#define RBLTINONEARG 282
+#define ID 283
+#define STRING 284
+#define HANDLER 285
+#define SYMBOL 286
+#define ENDCLAUSE 287
+#define tPLAYACCEL 288
+#define tDOWN 289
+#define tELSE 290
+#define tNLELSIF 291
+#define tEXIT 292
+#define tFRAME 293
+#define tGLOBAL 294
+#define tGO 295
+#define tIF 296
+#define tINTO 297
+#define tLOOP 298
+#define tMACRO 299
+#define tMOVIE 300
+#define tNEXT 301
+#define tOF 302
+#define tPREVIOUS 303
+#define tPUT 304
+#define tREPEAT 305
+#define tSET 306
+#define tTHEN 307
+#define tTO 308
+#define tWHEN 309
+#define tWITH 310
+#define tWHILE 311
+#define tNLELSE 312
+#define tFACTORY 313
+#define tMETHOD 314
+#define tOPEN 315
+#define tPLAY 316
+#define tDONE 317
+#define tINSTANCE 318
+#define tGE 319
+#define tLE 320
+#define tGT 321
+#define tLT 322
+#define tEQ 323
+#define tNEQ 324
+#define tAND 325
+#define tOR 326
+#define tNOT 327
+#define tMOD 328
+#define tAFTER 329
+#define tBEFORE 330
+#define tCONCAT 331
+#define tCONTAINS 332
+#define tSTARTS 333
+#define tCHAR 334
+#define tITEM 335
+#define tLINE 336
+#define tWORD 337
+#define tSPRITE 338
+#define tINTERSECTS 339
+#define tWITHIN 340
+#define tTELL 341
+#define tPROPERTY 342
+#define tON 343
+#define tME 344
@@ -308,7 +310,7 @@ typedef union YYSTYPE
Common::Array<double> *arr;
}
/* Line 193 of yacc.c. */
-#line 312 "engines/director/lingo/lingo-gr.cpp"
+#line 314 "engines/director/lingo/lingo-gr.cpp"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
@@ -321,7 +323,7 @@ typedef union YYSTYPE
/* Line 216 of yacc.c. */
-#line 325 "engines/director/lingo/lingo-gr.cpp"
+#line 327 "engines/director/lingo/lingo-gr.cpp"
#ifdef short
# undef short
@@ -539,7 +541,7 @@ union yyalloc
#define YYLAST 1879
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 104
+#define YYNTOKENS 105
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 44
/* YYNRULES -- Number of rules. */
@@ -549,7 +551,7 @@ union yyalloc
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 343
+#define YYMAXUTOK 344
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -558,15 +560,15 @@ union yyalloc
static const yytype_uint8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 96, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 97, 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, 95, 90, 2,
- 97, 98, 93, 91, 103, 92, 2, 94, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 96, 91, 2,
+ 98, 99, 94, 92, 104, 93, 2, 95, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 100, 89, 99, 2, 2, 2, 2, 2, 2, 2,
+ 101, 90, 100, 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, 101, 2, 102, 2, 2, 2, 2, 2, 2,
+ 2, 102, 2, 103, 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, 2, 2, 2,
@@ -591,7 +593,7 @@ static const yytype_uint8 yytranslate[] =
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88
+ 85, 86, 87, 88, 89
};
#if YYDEBUG
@@ -621,69 +623,69 @@ static const yytype_uint16 yyprhs[] =
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 105, 0, -1, 105, 106, 107, -1, 107, -1, 1,
- 106, -1, 96, -1, -1, 138, -1, 145, -1, 110,
- -1, 48, 127, 41, 27, -1, 48, 127, 41, 128,
- -1, 48, 127, 73, 127, -1, 48, 127, 74, 127,
- -1, 50, 27, 89, 127, -1, 50, 12, 89, 127,
- -1, 50, 13, 127, 89, 127, -1, 50, 27, 52,
- 127, -1, 50, 12, 52, 127, -1, 50, 13, 127,
- 52, 127, -1, 127, -1, 129, -1, 109, -1, 111,
- -1, 118, 97, 117, 98, 124, 123, 31, -1, 119,
- 89, 127, 123, 52, 127, 123, 124, 123, 31, -1,
- 119, 89, 127, 123, 33, 52, 127, 123, 124, 123,
- 31, -1, 125, 109, 123, -1, 126, 127, 106, 124,
- 123, 31, -1, 126, 127, 52, 127, -1, 120, 117,
- 51, 106, 124, 123, 31, -1, 120, 117, 51, 106,
- 124, 123, 56, 124, 123, 31, -1, 120, 117, 51,
- 106, 124, 123, 122, 113, 123, 31, -1, 120, 117,
- 51, 122, 109, 123, -1, 120, 117, 51, 122, 109,
- 123, 56, 122, 109, 123, -1, 120, 117, 51, 122,
- 109, 123, 114, 123, 112, 123, -1, -1, 56, 122,
- 109, -1, 113, 116, -1, 116, -1, 114, 115, -1,
- 115, -1, 121, 117, 51, 122, 110, 123, -1, 114,
- -1, 121, 117, 51, 122, 124, 123, -1, 127, -1,
- 127, 89, 127, -1, 97, 117, 98, -1, 49, 55,
- -1, 49, 54, 27, -1, 40, -1, 35, -1, -1,
- -1, -1, 124, 106, -1, 124, 110, -1, 53, 27,
- 51, -1, 85, -1, 11, -1, 14, -1, 30, -1,
- 28, -1, 22, -1, 23, 127, -1, 24, 147, -1,
- 24, 97, 147, 98, -1, 27, 97, 146, 98, -1,
- 27, -1, 12, -1, 13, 127, -1, 108, -1, 127,
- 91, 127, -1, 127, 92, 127, -1, 127, 93, 127,
- -1, 127, 94, 127, -1, 127, 72, 127, -1, 127,
- 99, 127, -1, 127, 100, 127, -1, 127, 68, 127,
- -1, 127, 63, 127, -1, 127, 64, 127, -1, 127,
- 69, 127, -1, 127, 70, 127, -1, 71, 127, -1,
- 127, 90, 127, -1, 127, 75, 127, -1, 127, 76,
- 127, -1, 127, 77, 127, -1, 91, 127, -1, 92,
- 127, -1, 97, 127, 98, -1, 101, 146, 102, -1,
- 82, 127, 83, 127, -1, 82, 127, 84, 127, -1,
- 78, 127, 46, 127, -1, 78, 127, 52, 127, 46,
- 127, -1, 79, 127, 46, 127, -1, 79, 127, 52,
- 127, 46, 127, -1, 80, 127, 46, 127, -1, 80,
- 127, 52, 127, 46, 127, -1, 81, 127, 46, 127,
- -1, 81, 127, 52, 127, 46, 127, -1, 26, 127,
- -1, 48, 127, -1, 133, -1, 136, -1, 36, 49,
- -1, 36, -1, 38, 130, -1, 86, 131, -1, 62,
- 132, -1, 16, -1, 18, 127, -1, 17, 127, -1,
- 17, -1, 19, 147, -1, 19, 97, 147, 98, -1,
- 88, 97, 27, 98, -1, 88, 97, 27, 103, 146,
- 98, -1, 59, 127, 54, 127, -1, 59, 127, -1,
- 20, 27, 146, -1, 27, -1, 130, 103, 27, -1,
- 27, -1, 131, 103, 27, -1, 27, -1, 132, 103,
- 27, -1, 39, 42, -1, 39, 45, -1, 39, 47,
- -1, 39, 134, -1, 39, 134, 135, -1, 39, 135,
- -1, 37, 127, -1, 127, -1, 46, 44, 127, -1,
- 44, 127, -1, 60, 61, -1, 60, 134, -1, 60,
- 134, 135, -1, 60, 135, -1, -1, 32, 137, 146,
- -1, -1, 43, 27, 139, 122, 143, 106, 144, 124,
- -1, 57, 27, -1, -1, 58, 27, 140, 122, 143,
- 106, 144, 124, -1, -1, -1, 87, 27, 141, 122,
- 142, 143, 106, 144, 124, 31, -1, -1, 27, -1,
- 143, 103, 27, -1, 143, 106, 103, 27, -1, -1,
- 27, 147, -1, -1, 127, -1, 146, 103, 127, -1,
- 127, -1, 147, 103, 127, -1
+ 106, 0, -1, 106, 107, 108, -1, 108, -1, 1,
+ 107, -1, 97, -1, -1, 139, -1, 146, -1, 111,
+ -1, 49, 128, 42, 28, -1, 49, 128, 42, 129,
+ -1, 49, 128, 74, 128, -1, 49, 128, 75, 128,
+ -1, 51, 28, 90, 128, -1, 51, 13, 90, 128,
+ -1, 51, 14, 128, 90, 128, -1, 51, 28, 53,
+ 128, -1, 51, 13, 53, 128, -1, 51, 14, 128,
+ 53, 128, -1, 128, -1, 130, -1, 110, -1, 112,
+ -1, 119, 98, 118, 99, 125, 124, 32, -1, 120,
+ 90, 128, 124, 53, 128, 124, 125, 124, 32, -1,
+ 120, 90, 128, 124, 34, 53, 128, 124, 125, 124,
+ 32, -1, 126, 110, 124, -1, 127, 128, 107, 125,
+ 124, 32, -1, 127, 128, 53, 128, -1, 121, 118,
+ 52, 107, 125, 124, 32, -1, 121, 118, 52, 107,
+ 125, 124, 57, 125, 124, 32, -1, 121, 118, 52,
+ 107, 125, 124, 123, 114, 124, 32, -1, 121, 118,
+ 52, 123, 110, 124, -1, 121, 118, 52, 123, 110,
+ 124, 57, 123, 110, 124, -1, 121, 118, 52, 123,
+ 110, 124, 115, 124, 113, 124, -1, -1, 57, 123,
+ 110, -1, 114, 117, -1, 117, -1, 115, 116, -1,
+ 116, -1, 122, 118, 52, 123, 111, 124, -1, 115,
+ -1, 122, 118, 52, 123, 125, 124, -1, 128, -1,
+ 128, 90, 128, -1, 98, 118, 99, -1, 50, 56,
+ -1, 50, 55, 28, -1, 41, -1, 36, -1, -1,
+ -1, -1, 125, 107, -1, 125, 111, -1, 54, 28,
+ 52, -1, 86, -1, 12, -1, 15, -1, 31, -1,
+ 29, -1, 23, -1, 24, 128, -1, 25, 148, -1,
+ 25, 98, 148, 99, -1, 28, 98, 147, 99, -1,
+ 28, -1, 13, -1, 14, 128, -1, 109, -1, 128,
+ 92, 128, -1, 128, 93, 128, -1, 128, 94, 128,
+ -1, 128, 95, 128, -1, 128, 73, 128, -1, 128,
+ 100, 128, -1, 128, 101, 128, -1, 128, 69, 128,
+ -1, 128, 64, 128, -1, 128, 65, 128, -1, 128,
+ 70, 128, -1, 128, 71, 128, -1, 72, 128, -1,
+ 128, 91, 128, -1, 128, 76, 128, -1, 128, 77,
+ 128, -1, 128, 78, 128, -1, 92, 128, -1, 93,
+ 128, -1, 98, 128, 99, -1, 102, 147, 103, -1,
+ 83, 128, 84, 128, -1, 83, 128, 85, 128, -1,
+ 79, 128, 47, 128, -1, 79, 128, 53, 128, 47,
+ 128, -1, 80, 128, 47, 128, -1, 80, 128, 53,
+ 128, 47, 128, -1, 81, 128, 47, 128, -1, 81,
+ 128, 53, 128, 47, 128, -1, 82, 128, 47, 128,
+ -1, 82, 128, 53, 128, 47, 128, -1, 27, 128,
+ -1, 49, 128, -1, 134, -1, 137, -1, 37, 50,
+ -1, 37, -1, 39, 131, -1, 87, 132, -1, 63,
+ 133, -1, 17, -1, 19, 128, -1, 18, 128, -1,
+ 18, -1, 20, 148, -1, 20, 98, 148, 99, -1,
+ 89, 98, 28, 99, -1, 89, 98, 28, 104, 147,
+ 99, -1, 60, 128, 55, 128, -1, 60, 128, -1,
+ 21, 28, 147, -1, 28, -1, 131, 104, 28, -1,
+ 28, -1, 132, 104, 28, -1, 28, -1, 133, 104,
+ 28, -1, 40, 43, -1, 40, 46, -1, 40, 48,
+ -1, 40, 135, -1, 40, 135, 136, -1, 40, 136,
+ -1, 38, 128, -1, 128, -1, 47, 45, 128, -1,
+ 45, 128, -1, 61, 62, -1, 61, 135, -1, 61,
+ 135, 136, -1, 61, 136, -1, -1, 33, 138, 147,
+ -1, -1, 44, 28, 140, 123, 144, 107, 145, 125,
+ -1, 58, 28, -1, -1, 59, 28, 141, 123, 144,
+ 107, 145, 125, -1, -1, -1, 88, 28, 142, 123,
+ 143, 144, 107, 145, 125, 32, -1, -1, 28, -1,
+ 144, 104, 28, -1, 144, 107, 104, 28, -1, -1,
+ 28, 148, -1, -1, 128, -1, 147, 104, 128, -1,
+ 128, -1, 148, 104, 128, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -715,7 +717,7 @@ static const yytype_uint16 yyrline[] =
static const char *const yytname[] =
{
"$end", "error", "$undefined", "UNARY", "CASTREF", "VOID", "VAR",
- "POINT", "RECT", "ARRAY", "OBJECT", "INT", "THEENTITY",
+ "POINT", "RECT", "ARRAY", "OBJECT", "REFERENCE", "INT", "THEENTITY",
"THEENTITYWITHID", "FLOAT", "BLTIN", "BLTINNOARGS", "BLTINNOARGSORONE",
"BLTINONEARG", "BLTINARGLIST", "TWOWORDBUILTIN", "FBLTIN",
"FBLTINNOARGS", "FBLTINONEARG", "FBLTINARGLIST", "RBLTIN",
@@ -753,32 +755,32 @@ static const yytype_uint16 yytoknum[] =
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, 339, 340, 341, 342, 343, 61,
- 38, 43, 45, 42, 47, 37, 10, 40, 41, 62,
- 60, 91, 93, 44
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
+ 61, 38, 43, 45, 42, 47, 37, 10, 40, 41,
+ 62, 60, 91, 93, 44
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 104, 105, 105, 105, 106, 107, 107, 107, 107,
- 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
- 109, 109, 110, 110, 110, 110, 110, 110, 110, 110,
- 111, 111, 111, 111, 111, 111, 112, 112, 113, 113,
- 114, 114, 115, 116, 116, 117, 117, 117, 118, 119,
- 120, 121, 122, 123, 124, 124, 124, 125, 126, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 128, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 130, 130, 131, 131, 132, 132, 133,
- 133, 133, 133, 133, 133, 134, 134, 135, 135, 136,
- 136, 136, 136, 137, 136, 139, 138, 138, 140, 138,
- 141, 142, 138, 143, 143, 143, 143, 144, 145, 146,
- 146, 146, 147, 147
+ 0, 105, 106, 106, 106, 107, 108, 108, 108, 108,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 110, 110, 111, 111, 111, 111, 111, 111, 111, 111,
+ 112, 112, 112, 112, 112, 112, 113, 113, 114, 114,
+ 115, 115, 116, 117, 117, 118, 118, 118, 119, 120,
+ 121, 122, 123, 124, 125, 125, 125, 126, 127, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 129, 130, 130, 130, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
+ 130, 130, 130, 131, 131, 132, 132, 133, 133, 134,
+ 134, 134, 134, 134, 134, 135, 135, 136, 136, 137,
+ 137, 137, 137, 138, 137, 140, 139, 139, 141, 139,
+ 142, 143, 139, 144, 144, 144, 144, 145, 146, 147,
+ 147, 147, 148, 148
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -858,55 +860,55 @@ static const yytype_int16 yydefgoto[] =
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -275
+#define YYPACT_NINF -271
static const yytype_int16 yypact[] =
{
- 342, -64, -275, -275, 991, -275, -275, 991, 991, 1063,
- 33, -275, 991, 1103, 1175, -275, -275, -275, 15, 39,
- 879, -275, 43, 991, 61, 60, 52, 54, 66, 991,
- 951, 68, 991, 991, 991, 991, 991, 991, -275, 75,
- 78, 14, 991, 991, 991, 991, 3, -275, -275, -275,
- -275, -275, 22, 28, 1215, 797, 991, 1779, -275, -275,
- -275, -275, -275, -275, -275, 25, 991, 1779, 1779, 1779,
- 991, 1779, 48, 991, 1779, 991, 48, 991, 48, 991,
- -275, -275, 49, 991, -275, 991, -275, 81, -275, 1779,
- 5, -275, -275, 1250, 128, -275, -50, 991, -41, 106,
- -275, -275, 1614, -275, 5, -275, -275, 53, -74, 1283,
- 1316, 1349, 1382, 1647, -275, 55, -275, 132, -74, -74,
- 1713, 1779, 27, -275, 433, 1215, 991, 1215, 109, 1746,
- -275, 1547, 991, 991, 991, 991, 991, 991, 991, 991,
- 991, 991, 991, 991, 991, 991, 991, 991, 991, 1250,
- 1713, -9, 991, 58, -6, 1713, -2, 58, 136, 1779,
- 1779, 991, -275, -275, 105, 991, 991, -275, 991, 991,
- 1581, 991, 991, -275, -275, 991, -275, 137, 991, 991,
- 991, 991, 991, 991, 991, 991, 991, 991, 138, -275,
- 11, -275, -275, 991, -275, 70, 1779, 73, 1680, -64,
- 991, -275, 991, -275, 239, 239, 239, -74, -74, -74,
- 1779, 239, 239, 771, 13, 13, -74, -74, 1779, 1779,
- -275, 1779, -275, -275, -275, 1779, 147, 991, -275, -275,
- 1779, 1779, 1779, 1779, 991, 991, 1779, 1779, 147, 1779,
- -275, 1779, 1415, 1779, 1448, 1779, 1481, 1779, 1514, 1779,
- 1779, -275, -275, -275, 991, 1779, -275, -5, -275, -275,
- 797, 1779, 1779, 615, -275, -34, 1779, 1779, 1779, -34,
- 991, 991, 991, 991, 147, 20, 615, 123, 991, 615,
- -275, -275, -275, 158, 151, 87, 87, 1779, 1779, 1779,
- 1779, -34, -275, 160, 991, 1779, -4, -16, -275, -275,
- 165, -275, -275, 87, -275, 1779, -275, -275, -275, 161,
- -275, -275, 161, -275, 1215, -275, 615, 615, -275, -275,
- 615, 615, 161, 161, -275, 1215, 797, -275, 139, 142,
- 524, 615, 167, 168, -275, 169, 153, -275, -275, -275,
- -275, -275, 171, -275, -275, -275, -275, -275, 797, -275,
- 706, -275, 706, -275, -275, 615, -275, -275
+ 341, -56, -271, -271, 990, -271, -271, 990, 990, 1062,
+ 23, -271, 990, 1102, 1174, -271, -271, -271, 3, 36,
+ 878, -271, 42, 990, 46, 81, 44, 51, 53, 990,
+ 950, 61, 990, 990, 990, 990, 990, 990, -271, 65,
+ 69, 7, 990, 990, 990, 990, 2, -271, -271, -271,
+ -271, -271, 13, 33, 1214, 796, 990, 1778, -271, -271,
+ -271, -271, -271, -271, -271, 20, 990, 1778, 1778, 1778,
+ 990, 1778, 25, 990, 1778, 990, 25, 990, 25, 990,
+ -271, -271, 47, 990, -271, 990, -271, 107, -271, 1778,
+ -18, -271, -271, 1249, 127, -271, -36, 990, -30, 104,
+ -271, -271, 1613, -271, -18, -271, -271, 54, -75, 1282,
+ 1315, 1348, 1381, 1646, -271, 55, -271, 129, -75, -75,
+ 1712, 1778, 28, -271, 432, 1214, 990, 1214, 108, 1745,
+ -271, 1546, 990, 990, 990, 990, 990, 990, 990, 990,
+ 990, 990, 990, 990, 990, 990, 990, 990, 990, 1249,
+ 1712, -12, 990, 57, -8, 1712, 15, 57, 135, 1778,
+ 1778, 990, -271, -271, 88, 990, 990, -271, 990, 990,
+ 1580, 990, 990, -271, -271, 990, -271, 136, 990, 990,
+ 990, 990, 990, 990, 990, 990, 990, 990, 137, -271,
+ 18, -271, -271, 990, -271, 72, 1778, 75, 1679, -56,
+ 990, -271, 990, -271, 238, 238, 238, -75, -75, -75,
+ 1778, 238, 238, 770, 12, 12, -75, -75, 1778, 1778,
+ -271, 1778, -271, -271, -271, 1778, 140, 990, -271, -271,
+ 1778, 1778, 1778, 1778, 990, 990, 1778, 1778, 140, 1778,
+ -271, 1778, 1414, 1778, 1447, 1778, 1480, 1778, 1513, 1778,
+ 1778, -271, -271, -271, 990, 1778, -271, -6, -271, -271,
+ 796, 1778, 1778, 614, -271, -35, 1778, 1778, 1778, -35,
+ 990, 990, 990, 990, 140, 26, 614, 122, 990, 614,
+ -271, -271, -271, 146, 161, 86, 86, 1778, 1778, 1778,
+ 1778, -35, -271, 159, 990, 1778, -25, -17, -271, -271,
+ 164, -271, -271, 86, -271, 1778, -271, -271, -271, 157,
+ -271, -271, 157, -271, 1214, -271, 614, 614, -271, -271,
+ 614, 614, 157, 157, -271, 1214, 796, -271, 138, 144,
+ 523, 614, 166, 167, -271, 168, 150, -271, -271, -271,
+ -271, -271, 172, -271, -271, -271, -271, -271, 796, -271,
+ 705, -271, 705, -271, -271, 614, -271, -271
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -275, -275, 19, 82, -275, -51, 0, -275, -275, -275,
- -90, -270, -114, -109, -275, -275, -275, -268, -99, -19,
- -198, -275, -275, 1, -275, -275, -275, -275, -275, -275,
- 180, -13, -275, -275, -275, -275, -275, -275, -275, -215,
- -274, -275, -23, -7
+ -271, -271, 19, 82, -271, -51, 0, -271, -271, -271,
+ -90, -264, -114, -109, -271, -271, -271, -270, -99, -19,
+ -198, -271, -271, 1, -271, -271, -271, -271, -271, -271,
+ 180, -27, -271, -271, -271, -271, -271, -271, -271, -232,
+ -237, -271, -23, -2
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -916,27 +918,27 @@ static const yytype_int16 yypgoto[] =
#define YYTABLE_NINF -7
static const yytype_int16 yytable[] =
{
- 50, 138, 168, 123, 130, 67, 76, 78, 68, 69,
- 71, 171, 302, 74, 71, 71, 195, 105, 197, 310,
- 64, 89, 122, 269, 93, 146, 147, 307, 277, 318,
- 102, 89, 63, 108, 109, 110, 111, 112, 113, 169,
- 311, 325, 327, 118, 119, 120, 121, 278, 172, 85,
- 153, 87, 308, 327, 325, 129, 157, 131, 276, 291,
- 73, 279, 63, 151, 80, 124, 81, 149, 154, 284,
- 92, 150, 96, 97, 121, 238, 150, 162, 155, 99,
- 121, 100, 135, 136, 159, 137, 160, 98, 138, 220,
- 252, 176, 222, 101, 152, 106, 223, 152, 170, 63,
- 260, 193, 114, 316, 317, 116, 144, 145, 320, 253,
- 321, 117, 146, 147, 254, 94, 95, 126, 292, 125,
- 330, 331, 148, 193, 50, 161, 129, 196, 198, 192,
- 193, 227, 228, 204, 205, 206, 207, 208, 209, 210,
+ 50, 138, 123, 105, 130, 67, 269, 307, 68, 69,
+ 71, 76, 78, 74, 71, 71, 195, 168, 197, 310,
+ 64, 89, 122, 171, 93, 146, 147, 85, 277, 87,
+ 102, 89, 308, 108, 109, 110, 111, 112, 113, 325,
+ 311, 63, 291, 118, 119, 120, 121, 278, 327, 302,
+ 153, 73, 325, 80, 169, 129, 157, 131, 276, 327,
+ 172, 279, 63, 162, 81, 124, 318, 149, 151, 284,
+ 92, 150, 99, 154, 121, 238, 150, 176, 155, 100,
+ 121, 101, 135, 136, 159, 137, 160, 220, 138, 106,
+ 252, 222, 152, 114, 96, 97, 152, 116, 170, 63,
+ 260, 94, 95, 316, 317, 117, 144, 145, 320, 98,
+ 321, 125, 146, 147, 223, 227, 228, 253, 148, 193,
+ 330, 331, 254, 126, 50, 292, 129, 196, 198, 152,
+ 193, 192, 193, 204, 205, 206, 207, 208, 209, 210,
211, 212, 213, 214, 215, 216, 217, 218, 219, 121,
- 203, 152, 158, 221, 355, 167, 177, 173, 188, 190,
- 199, 193, 225, 224, 240, 251, 230, 231, 256, 232,
- 233, 258, 236, 237, 264, 294, 239, 257, 299, 241,
- 242, 243, 244, 245, 246, 247, 248, 249, 250, 298,
- 300, 304, 315, 340, 255, 338, 310, 309, 343, 344,
- 345, 261, 351, 262, 346, 329, 194, 312, 334, 280,
+ 203, 158, 161, 221, 355, 167, 173, 190, 177, 188,
+ 199, 193, 225, 224, 240, 251, 230, 231, 264, 232,
+ 233, 256, 236, 237, 258, 294, 239, 257, 298, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 299,
+ 300, 304, 315, 310, 255, 338, 340, 309, 343, 344,
+ 345, 261, 346, 262, 351, 329, 194, 312, 334, 280,
104, 0, 326, 0, 0, 0, 336, 0, 259, 0,
0, 0, 0, 0, 0, 0, 0, 0, 266, 0,
0, 275, 0, 0, 0, 267, 268, 0, 0, 348,
@@ -950,7 +952,7 @@ static const yytype_int16 yytable[] =
303, 137, 342, 0, 138, 129, 0, 0, 347, 0,
349, 0, 0, 0, 0, 0, 129, 0, 0, 141,
142, 143, 144, 145, 0, 356, 357, 0, 146, 147,
- 0, 0, -6, 1, 0, 0, 0, 0, 0, 0,
+ 0, -6, 1, 0, 0, 0, 0, 0, 0, 0,
354, 0, 354, 2, 3, 4, 5, 0, 6, 7,
8, 9, 10, 0, 11, 12, 13, 0, 0, 14,
15, 0, 16, 0, 17, 0, 0, 0, 18, 0,
@@ -1108,27 +1110,27 @@ static const yytype_int16 yytable[] =
static const yytype_int16 yycheck[] =
{
- 0, 75, 52, 0, 55, 4, 13, 14, 7, 8,
- 9, 52, 286, 12, 13, 14, 125, 30, 127, 35,
- 1, 20, 45, 238, 23, 99, 100, 31, 33, 303,
- 29, 30, 96, 32, 33, 34, 35, 36, 37, 89,
- 56, 309, 312, 42, 43, 44, 45, 52, 89, 44,
- 73, 46, 56, 323, 322, 54, 79, 56, 256, 274,
- 27, 259, 96, 70, 49, 46, 27, 66, 75, 103,
- 27, 70, 12, 13, 73, 174, 75, 90, 77, 27,
- 79, 27, 69, 70, 83, 72, 85, 27, 75, 98,
- 189, 104, 98, 27, 103, 27, 98, 103, 97, 96,
- 199, 103, 27, 301, 302, 27, 93, 94, 306, 98,
- 308, 97, 99, 100, 103, 54, 55, 89, 98, 97,
- 318, 319, 97, 103, 124, 44, 125, 126, 127, 102,
- 103, 26, 27, 132, 133, 134, 135, 136, 137, 138,
+ 0, 76, 0, 30, 55, 4, 238, 32, 7, 8,
+ 9, 13, 14, 12, 13, 14, 125, 53, 127, 36,
+ 1, 20, 45, 53, 23, 100, 101, 45, 34, 47,
+ 29, 30, 57, 32, 33, 34, 35, 36, 37, 309,
+ 57, 97, 274, 42, 43, 44, 45, 53, 312, 286,
+ 73, 28, 322, 50, 90, 54, 79, 56, 256, 323,
+ 90, 259, 97, 90, 28, 46, 303, 66, 70, 104,
+ 28, 70, 28, 75, 73, 174, 75, 104, 77, 28,
+ 79, 28, 70, 71, 83, 73, 85, 99, 76, 28,
+ 189, 99, 104, 28, 13, 14, 104, 28, 97, 97,
+ 199, 55, 56, 301, 302, 98, 94, 95, 306, 28,
+ 308, 98, 100, 101, 99, 27, 28, 99, 98, 104,
+ 318, 319, 104, 90, 124, 99, 125, 126, 127, 104,
+ 104, 103, 104, 132, 133, 134, 135, 136, 137, 138,
139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 131, 103, 103, 152, 352, 27, 103, 51, 103, 27,
- 51, 103, 161, 27, 27, 27, 165, 166, 98, 168,
- 169, 98, 171, 172, 27, 52, 175, 196, 27, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 31,
- 103, 31, 27, 51, 193, 56, 35, 296, 31, 31,
- 31, 200, 31, 202, 51, 314, 124, 297, 322, 260,
+ 131, 104, 45, 152, 352, 28, 52, 28, 104, 104,
+ 52, 104, 161, 28, 28, 28, 165, 166, 28, 168,
+ 169, 99, 171, 172, 99, 53, 175, 196, 32, 178,
+ 179, 180, 181, 182, 183, 184, 185, 186, 187, 28,
+ 104, 32, 28, 36, 193, 57, 52, 296, 32, 32,
+ 32, 200, 52, 202, 32, 314, 124, 297, 322, 260,
30, -1, 311, -1, -1, -1, 325, -1, 199, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 227, -1,
-1, 254, -1, -1, -1, 234, 235, -1, -1, 338,
@@ -1138,206 +1140,206 @@ static const yytype_int16 yycheck[] =
-1, 270, 271, 272, 273, 326, 295, -1, -1, 278,
-1, -1, -1, -1, 265, -1, 305, -1, 269, -1,
-1, -1, -1, 312, -1, 294, -1, 348, -1, -1,
- -1, 320, 321, 322, -1, -1, -1, -1, 69, 70,
- 291, 72, 331, -1, 75, 314, -1, -1, 337, -1,
- 339, -1, -1, -1, -1, -1, 325, -1, -1, 90,
- 91, 92, 93, 94, -1, 354, 355, -1, 99, 100,
- -1, -1, 0, 1, -1, -1, -1, -1, -1, -1,
- 350, -1, 352, 11, 12, 13, 14, -1, 16, 17,
- 18, 19, 20, -1, 22, 23, 24, -1, -1, 27,
- 28, -1, 30, -1, 32, -1, -1, -1, 36, -1,
- 38, 39, 40, -1, -1, 43, -1, -1, -1, -1,
- 48, 49, 50, -1, -1, 53, -1, -1, -1, 57,
- 58, 59, 60, -1, 62, -1, -1, -1, -1, -1,
- -1, -1, -1, 71, -1, -1, -1, -1, -1, -1,
- 78, 79, 80, 81, 82, -1, -1, 85, 86, 87,
- 88, -1, -1, 91, 92, -1, -1, -1, 96, 97,
- -1, -1, -1, 101, 11, 12, 13, 14, -1, 16,
- 17, 18, 19, 20, -1, 22, 23, 24, -1, -1,
- 27, 28, -1, 30, -1, 32, -1, -1, -1, 36,
- -1, 38, 39, 40, -1, -1, 43, -1, -1, -1,
- -1, 48, 49, 50, -1, -1, 53, -1, -1, -1,
- 57, 58, 59, 60, -1, 62, -1, -1, -1, -1,
- -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
- -1, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- 87, 88, -1, -1, 91, 92, -1, -1, -1, -1,
- 97, -1, -1, -1, 101, 11, 12, 13, 14, -1,
- 16, 17, 18, 19, 20, -1, 22, 23, 24, -1,
- -1, 27, 28, -1, 30, 31, 32, -1, -1, -1,
- 36, -1, 38, 39, 40, -1, -1, -1, -1, -1,
- -1, -1, 48, 49, 50, -1, -1, 53, -1, -1,
- -1, -1, -1, 59, 60, -1, 62, -1, -1, -1,
- -1, -1, -1, -1, -1, 71, -1, -1, -1, -1,
- -1, -1, 78, 79, 80, 81, 82, -1, -1, 85,
- 86, -1, 88, -1, -1, 91, 92, -1, -1, -1,
- 96, 97, -1, -1, -1, 101, 11, 12, 13, 14,
- -1, 16, 17, 18, 19, 20, -1, 22, 23, 24,
- -1, -1, 27, 28, -1, 30, -1, 32, -1, -1,
- -1, 36, -1, 38, 39, 40, -1, -1, -1, -1,
- -1, -1, -1, 48, 49, 50, -1, -1, 53, -1,
- -1, -1, -1, -1, 59, 60, -1, 62, -1, -1,
- -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
- -1, -1, -1, 78, 79, 80, 81, 82, -1, -1,
- 85, 86, -1, 88, -1, -1, 91, 92, -1, -1,
- -1, 96, 97, -1, -1, -1, 101, 11, 12, 13,
- 14, -1, 16, 17, 18, 19, 20, -1, 22, 23,
- 24, -1, -1, 27, 28, -1, 30, -1, 32, -1,
- -1, -1, 36, -1, 38, 39, 40, -1, -1, -1,
- -1, -1, -1, -1, 48, 49, 50, -1, -1, 53,
- -1, -1, -1, -1, -1, 59, 60, -1, 62, -1,
- -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
- -1, -1, -1, -1, 78, 79, 80, 81, 82, -1,
- -1, 85, 86, -1, 88, -1, -1, 91, 92, -1,
- -1, -1, -1, 97, -1, -1, -1, 101, 11, 12,
- 13, 14, -1, 16, 17, 18, 19, 20, -1, 22,
- 23, 24, -1, -1, 27, 28, -1, 30, -1, 32,
- -1, -1, -1, 36, -1, 38, 39, -1, -1, -1,
- 69, 70, -1, 72, -1, 48, 75, 50, -1, -1,
- -1, -1, -1, -1, -1, -1, 59, 60, -1, 62,
- -1, -1, 91, 92, 93, 94, -1, -1, 71, -1,
- 99, 100, -1, -1, -1, 78, 79, 80, 81, 82,
- -1, -1, -1, 86, -1, 88, -1, -1, 91, 92,
- 11, 12, 13, 14, 97, -1, -1, -1, 101, -1,
- -1, 22, 23, 24, -1, -1, 27, 28, -1, 30,
- -1, -1, -1, -1, -1, -1, 37, -1, -1, -1,
- -1, 42, -1, 44, 45, 46, 47, 48, -1, 50,
+ -1, 320, 321, 322, -1, -1, -1, -1, 70, 71,
+ 291, 73, 331, -1, 76, 314, -1, -1, 337, -1,
+ 339, -1, -1, -1, -1, -1, 325, -1, -1, 91,
+ 92, 93, 94, 95, -1, 354, 355, -1, 100, 101,
+ -1, 0, 1, -1, -1, -1, -1, -1, -1, -1,
+ 350, -1, 352, 12, 13, 14, 15, -1, 17, 18,
+ 19, 20, 21, -1, 23, 24, 25, -1, -1, 28,
+ 29, -1, 31, -1, 33, -1, -1, -1, 37, -1,
+ 39, 40, 41, -1, -1, 44, -1, -1, -1, -1,
+ 49, 50, 51, -1, -1, 54, -1, -1, -1, 58,
+ 59, 60, 61, -1, 63, -1, -1, -1, -1, -1,
+ -1, -1, -1, 72, -1, -1, -1, -1, -1, -1,
+ 79, 80, 81, 82, 83, -1, -1, 86, 87, 88,
+ 89, -1, -1, 92, 93, -1, -1, -1, 97, 98,
+ -1, -1, -1, 102, 12, 13, 14, 15, -1, 17,
+ 18, 19, 20, 21, -1, 23, 24, 25, -1, -1,
+ 28, 29, -1, 31, -1, 33, -1, -1, -1, 37,
+ -1, 39, 40, 41, -1, -1, 44, -1, -1, -1,
+ -1, 49, 50, 51, -1, -1, 54, -1, -1, -1,
+ 58, 59, 60, 61, -1, 63, -1, -1, -1, -1,
+ -1, -1, -1, -1, 72, -1, -1, -1, -1, -1,
+ -1, 79, 80, 81, 82, 83, -1, -1, 86, 87,
+ 88, 89, -1, -1, 92, 93, -1, -1, -1, -1,
+ 98, -1, -1, -1, 102, 12, 13, 14, 15, -1,
+ 17, 18, 19, 20, 21, -1, 23, 24, 25, -1,
+ -1, 28, 29, -1, 31, 32, 33, -1, -1, -1,
+ 37, -1, 39, 40, 41, -1, -1, -1, -1, -1,
+ -1, -1, 49, 50, 51, -1, -1, 54, -1, -1,
+ -1, -1, -1, 60, 61, -1, 63, -1, -1, -1,
+ -1, -1, -1, -1, -1, 72, -1, -1, -1, -1,
+ -1, -1, 79, 80, 81, 82, 83, -1, -1, 86,
+ 87, -1, 89, -1, -1, 92, 93, -1, -1, -1,
+ 97, 98, -1, -1, -1, 102, 12, 13, 14, 15,
+ -1, 17, 18, 19, 20, 21, -1, 23, 24, 25,
+ -1, -1, 28, 29, -1, 31, -1, 33, -1, -1,
+ -1, 37, -1, 39, 40, 41, -1, -1, -1, -1,
+ -1, -1, -1, 49, 50, 51, -1, -1, 54, -1,
+ -1, -1, -1, -1, 60, 61, -1, 63, -1, -1,
+ -1, -1, -1, -1, -1, -1, 72, -1, -1, -1,
+ -1, -1, -1, 79, 80, 81, 82, 83, -1, -1,
+ 86, 87, -1, 89, -1, -1, 92, 93, -1, -1,
+ -1, 97, 98, -1, -1, -1, 102, 12, 13, 14,
+ 15, -1, 17, 18, 19, 20, 21, -1, 23, 24,
+ 25, -1, -1, 28, 29, -1, 31, -1, 33, -1,
+ -1, -1, 37, -1, 39, 40, 41, -1, -1, -1,
+ -1, -1, -1, -1, 49, 50, 51, -1, -1, 54,
+ -1, -1, -1, -1, -1, 60, 61, -1, 63, -1,
+ -1, -1, -1, -1, -1, -1, -1, 72, -1, -1,
+ -1, -1, -1, -1, 79, 80, 81, 82, 83, -1,
+ -1, 86, 87, -1, 89, -1, -1, 92, 93, -1,
+ -1, -1, -1, 98, -1, -1, -1, 102, 12, 13,
+ 14, 15, -1, 17, 18, 19, 20, 21, -1, 23,
+ 24, 25, -1, -1, 28, 29, -1, 31, -1, 33,
+ -1, -1, -1, 37, -1, 39, 40, -1, -1, -1,
+ 70, 71, -1, 73, -1, 49, 76, 51, -1, -1,
+ -1, -1, -1, -1, -1, -1, 60, 61, -1, 63,
+ -1, -1, 92, 93, 94, 95, -1, -1, 72, -1,
+ 100, 101, -1, -1, -1, 79, 80, 81, 82, 83,
+ -1, -1, -1, 87, -1, 89, -1, -1, 92, 93,
+ 12, 13, 14, 15, 98, -1, -1, -1, 102, -1,
+ -1, 23, 24, 25, -1, -1, 28, 29, -1, 31,
+ -1, -1, -1, -1, -1, -1, 38, -1, -1, -1,
+ -1, 43, -1, 45, 46, 47, 48, 49, -1, 51,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 71, -1, -1, -1, -1, -1, -1, 78, 79, 80,
- 81, 82, 11, 12, 13, 14, -1, -1, -1, -1,
- 91, 92, -1, 22, 23, 24, 97, -1, 27, 28,
- 101, 30, -1, -1, -1, -1, -1, -1, 37, -1,
- -1, -1, -1, -1, -1, 44, -1, 46, -1, 48,
- -1, 50, 11, 12, 13, 14, -1, -1, -1, -1,
- -1, -1, 61, 22, 23, 24, -1, -1, 27, 28,
- -1, 30, 71, -1, -1, -1, -1, -1, -1, 78,
- 79, 80, 81, 82, -1, -1, -1, -1, -1, 48,
- -1, 50, 91, 92, -1, -1, -1, -1, 97, -1,
- -1, -1, 101, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 71, -1, -1, -1, -1, -1, -1, 78,
- 79, 80, 81, 82, 11, 12, 13, 14, -1, -1,
- -1, -1, 91, 92, -1, 22, 23, 24, 97, -1,
- 27, 28, 101, 30, -1, -1, -1, -1, -1, -1,
+ 72, -1, -1, -1, -1, -1, -1, 79, 80, 81,
+ 82, 83, 12, 13, 14, 15, -1, -1, -1, -1,
+ 92, 93, -1, 23, 24, 25, 98, -1, 28, 29,
+ 102, 31, -1, -1, -1, -1, -1, -1, 38, -1,
+ -1, -1, -1, -1, -1, 45, -1, 47, -1, 49,
+ -1, 51, 12, 13, 14, 15, -1, -1, -1, -1,
+ -1, -1, 62, 23, 24, 25, -1, -1, 28, 29,
+ -1, 31, 72, -1, -1, -1, -1, -1, -1, 79,
+ 80, 81, 82, 83, -1, -1, -1, -1, -1, 49,
+ -1, 51, 92, 93, -1, -1, -1, -1, 98, -1,
+ -1, -1, 102, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 72, -1, -1, -1, -1, -1, -1, 79,
+ 80, 81, 82, 83, 12, 13, 14, 15, -1, -1,
+ -1, -1, 92, 93, -1, 23, 24, 25, 98, -1,
+ 28, 29, 102, 31, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 48, -1, 50, 11, 12, 13, 14, -1, -1,
- -1, -1, -1, -1, -1, 22, 23, 24, -1, -1,
- 27, 28, -1, 30, 71, -1, -1, -1, -1, -1,
- -1, 78, 79, 80, 81, 82, -1, -1, -1, -1,
- -1, 48, -1, 50, 91, 92, -1, -1, -1, -1,
- 97, -1, -1, -1, 101, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
- -1, 78, 79, 80, 81, 82, 11, 12, 13, 14,
- -1, -1, -1, -1, 91, 92, -1, 22, 23, 24,
- 97, -1, 27, 28, 101, 30, -1, -1, -1, -1,
+ -1, 49, -1, 51, 12, 13, 14, 15, -1, -1,
+ -1, -1, -1, -1, -1, 23, 24, 25, -1, -1,
+ 28, 29, -1, 31, 72, -1, -1, -1, -1, -1,
+ -1, 79, 80, 81, 82, 83, -1, -1, -1, -1,
+ -1, 49, -1, 51, 92, 93, -1, -1, -1, -1,
+ 98, -1, -1, -1, 102, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 72, -1, -1, -1, -1, -1,
+ -1, 79, 80, 81, 82, 83, 12, 13, 14, 15,
+ -1, -1, -1, -1, 92, 93, -1, 23, 24, 25,
+ 98, -1, 28, 29, 102, 31, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 48, -1, 50, 11, 12, 13, 14,
- -1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
- -1, -1, 27, 28, -1, 30, 71, -1, -1, -1,
- -1, -1, -1, 78, 79, 80, 81, 82, -1, -1,
- -1, -1, -1, 48, -1, 50, 91, 92, -1, -1,
- -1, -1, 97, -1, -1, -1, 101, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
- -1, 41, -1, 78, 79, 80, 81, 82, -1, -1,
- -1, -1, -1, -1, -1, -1, 91, 92, -1, -1,
- -1, -1, 97, 63, 64, -1, 101, -1, 68, 69,
- 70, -1, 72, 73, 74, 75, 76, 77, -1, 46,
- -1, -1, -1, -1, -1, 52, -1, -1, -1, -1,
- 90, 91, 92, 93, 94, -1, 63, 64, -1, 99,
- 100, 68, 69, 70, -1, 72, -1, -1, 75, 76,
- 77, -1, 46, -1, -1, -1, -1, -1, 52, -1,
- -1, -1, -1, 90, 91, 92, 93, 94, -1, 63,
- 64, -1, 99, 100, 68, 69, 70, -1, 72, -1,
- -1, 75, 76, 77, -1, 46, -1, -1, -1, -1,
- -1, 52, -1, -1, -1, -1, 90, 91, 92, 93,
- 94, -1, 63, 64, -1, 99, 100, 68, 69, 70,
- -1, 72, -1, -1, 75, 76, 77, -1, 46, -1,
- -1, -1, -1, -1, 52, -1, -1, -1, -1, 90,
- 91, 92, 93, 94, -1, 63, 64, -1, 99, 100,
- 68, 69, 70, -1, 72, -1, -1, 75, 76, 77,
- -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 90, 91, 92, 93, 94, -1, 63, 64,
- -1, 99, 100, 68, 69, 70, -1, 72, -1, -1,
- 75, 76, 77, -1, 46, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 90, 91, 92, 93, 94,
- -1, 63, 64, -1, 99, 100, 68, 69, 70, -1,
- 72, -1, -1, 75, 76, 77, -1, 46, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 90, 91,
- 92, 93, 94, -1, 63, 64, -1, 99, 100, 68,
- 69, 70, -1, 72, -1, -1, 75, 76, 77, -1,
- 46, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 90, 91, 92, 93, 94, -1, 63, 64, -1,
- 99, 100, 68, 69, 70, -1, 72, -1, -1, 75,
- 76, 77, -1, -1, -1, -1, -1, -1, -1, 52,
- -1, -1, -1, -1, 90, 91, 92, 93, 94, -1,
- 63, 64, -1, 99, 100, 68, 69, 70, -1, 72,
- -1, -1, 75, 76, 77, -1, -1, -1, -1, -1,
- -1, -1, -1, 52, -1, -1, -1, 90, 91, 92,
- 93, 94, -1, 96, 63, 64, 99, 100, -1, 68,
- 69, 70, -1, 72, -1, -1, 75, 76, 77, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 54, -1,
- 89, 90, 91, 92, 93, 94, -1, 63, 64, -1,
- 99, 100, 68, 69, 70, -1, 72, -1, -1, 75,
- 76, 77, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 90, 91, 92, 93, 94, -1,
- 63, 64, -1, 99, 100, 68, 69, 70, -1, 72,
- -1, -1, 75, 76, 77, -1, -1, -1, -1, -1,
- 83, 84, -1, -1, -1, -1, -1, 90, 91, 92,
- 93, 94, -1, 63, 64, -1, 99, 100, 68, 69,
- 70, -1, 72, -1, -1, 75, 76, 77, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 89,
- 90, 91, 92, 93, 94, -1, 63, 64, 98, 99,
- 100, 68, 69, 70, -1, 72, -1, -1, 75, 76,
- 77, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 90, 91, 92, 93, 94, -1, 63,
- 64, 98, 99, 100, 68, 69, 70, -1, 72, -1,
- -1, 75, 76, 77, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 89, 90, 91, 92, 93,
- 94, -1, 63, 64, -1, 99, 100, 68, 69, 70,
- -1, 72, -1, -1, 75, 76, 77, -1, -1, -1,
+ -1, -1, -1, 49, -1, 51, 12, 13, 14, 15,
+ -1, -1, -1, -1, -1, -1, -1, 23, 24, 25,
+ -1, -1, 28, 29, -1, 31, 72, -1, -1, -1,
+ -1, -1, -1, 79, 80, 81, 82, 83, -1, -1,
+ -1, -1, -1, 49, -1, 51, 92, 93, -1, -1,
+ -1, -1, 98, -1, -1, -1, 102, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 72, -1, -1, -1,
+ -1, 42, -1, 79, 80, 81, 82, 83, -1, -1,
+ -1, -1, -1, -1, -1, -1, 92, 93, -1, -1,
+ -1, -1, 98, 64, 65, -1, 102, -1, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, 78, -1, 47,
+ -1, -1, -1, -1, -1, 53, -1, -1, -1, -1,
+ 91, 92, 93, 94, 95, -1, 64, 65, -1, 100,
+ 101, 69, 70, 71, -1, 73, -1, -1, 76, 77,
+ 78, -1, 47, -1, -1, -1, -1, -1, 53, -1,
+ -1, -1, -1, 91, 92, 93, 94, 95, -1, 64,
+ 65, -1, 100, 101, 69, 70, 71, -1, 73, -1,
+ -1, 76, 77, 78, -1, 47, -1, -1, -1, -1,
+ -1, 53, -1, -1, -1, -1, 91, 92, 93, 94,
+ 95, -1, 64, 65, -1, 100, 101, 69, 70, 71,
+ -1, 73, -1, -1, 76, 77, 78, -1, 47, -1,
+ -1, -1, -1, -1, 53, -1, -1, -1, -1, 91,
+ 92, 93, 94, 95, -1, 64, 65, -1, 100, 101,
+ 69, 70, 71, -1, 73, -1, -1, 76, 77, 78,
+ -1, 47, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 91, 92, 93, 94, 95, -1, 64, 65,
+ -1, 100, 101, 69, 70, 71, -1, 73, -1, -1,
+ 76, 77, 78, -1, 47, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 91, 92, 93, 94, 95,
+ -1, 64, 65, -1, 100, 101, 69, 70, 71, -1,
+ 73, -1, -1, 76, 77, 78, -1, 47, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 91, 92,
+ 93, 94, 95, -1, 64, 65, -1, 100, 101, 69,
+ 70, 71, -1, 73, -1, -1, 76, 77, 78, -1,
+ 47, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 91, 92, 93, 94, 95, -1, 64, 65, -1,
+ 100, 101, 69, 70, 71, -1, 73, -1, -1, 76,
+ 77, 78, -1, -1, -1, -1, -1, -1, -1, 53,
+ -1, -1, -1, -1, 91, 92, 93, 94, 95, -1,
+ 64, 65, -1, 100, 101, 69, 70, 71, -1, 73,
+ -1, -1, 76, 77, 78, -1, -1, -1, -1, -1,
+ -1, -1, -1, 53, -1, -1, -1, 91, 92, 93,
+ 94, 95, -1, 97, 64, 65, 100, 101, -1, 69,
+ 70, 71, -1, 73, -1, -1, 76, 77, 78, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 55, -1,
+ 90, 91, 92, 93, 94, 95, -1, 64, 65, -1,
+ 100, 101, 69, 70, 71, -1, 73, -1, -1, 76,
+ 77, 78, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 91, 92, 93, 94, 95, -1,
+ 64, 65, -1, 100, 101, 69, 70, 71, -1, 73,
+ -1, -1, 76, 77, 78, -1, -1, -1, -1, -1,
+ 84, 85, -1, -1, -1, -1, -1, 91, 92, 93,
+ 94, 95, -1, 64, 65, -1, 100, 101, 69, 70,
+ 71, -1, 73, -1, -1, 76, 77, 78, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 90,
- 91, 92, 93, 94, -1, -1, -1, -1, 99, 100
+ 91, 92, 93, 94, 95, -1, 64, 65, 99, 100,
+ 101, 69, 70, 71, -1, 73, -1, -1, 76, 77,
+ 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 91, 92, 93, 94, 95, -1, 64,
+ 65, 99, 100, 101, 69, 70, 71, -1, 73, -1,
+ -1, 76, 77, 78, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 90, 91, 92, 93, 94,
+ 95, -1, 64, 65, -1, 100, 101, 69, 70, 71,
+ -1, 73, -1, -1, 76, 77, 78, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 91,
+ 92, 93, 94, 95, -1, -1, -1, -1, 100, 101
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 1, 11, 12, 13, 14, 16, 17, 18, 19,
- 20, 22, 23, 24, 27, 28, 30, 32, 36, 38,
- 39, 40, 43, 48, 49, 50, 53, 57, 58, 59,
- 60, 62, 71, 78, 79, 80, 81, 82, 85, 86,
- 87, 88, 91, 92, 97, 101, 105, 107, 108, 109,
- 110, 111, 118, 119, 120, 125, 126, 127, 129, 133,
- 136, 138, 145, 96, 106, 27, 48, 127, 127, 127,
- 97, 127, 147, 27, 127, 97, 147, 97, 147, 137,
- 49, 27, 130, 37, 42, 44, 45, 46, 47, 127,
- 134, 135, 27, 127, 54, 55, 12, 13, 27, 27,
- 27, 27, 127, 61, 134, 135, 27, 132, 127, 127,
- 127, 127, 127, 127, 27, 131, 27, 97, 127, 127,
- 127, 127, 146, 0, 106, 97, 89, 97, 117, 127,
- 109, 127, 63, 64, 68, 69, 70, 72, 75, 76,
- 77, 90, 91, 92, 93, 94, 99, 100, 97, 127,
- 127, 147, 103, 146, 147, 127, 146, 146, 103, 127,
- 127, 44, 135, 139, 41, 73, 74, 27, 52, 89,
- 127, 52, 89, 51, 140, 54, 135, 103, 46, 52,
- 46, 52, 46, 52, 46, 52, 83, 84, 103, 141,
- 27, 98, 102, 103, 107, 117, 127, 117, 127, 51,
- 89, 123, 52, 106, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 98, 127, 98, 98, 27, 127, 122, 26, 27, 128,
- 127, 127, 127, 127, 52, 89, 127, 127, 122, 127,
- 27, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 27, 122, 98, 103, 127, 98, 123, 98, 106,
- 122, 127, 127, 124, 27, 143, 127, 127, 127, 143,
- 46, 46, 46, 46, 142, 146, 124, 33, 52, 124,
- 109, 106, 110, 123, 103, 106, 106, 127, 127, 127,
- 127, 143, 98, 123, 52, 127, 123, 123, 31, 27,
- 103, 144, 144, 106, 31, 127, 123, 31, 56, 122,
- 35, 56, 114, 115, 121, 27, 124, 124, 144, 123,
- 124, 124, 113, 114, 116, 121, 122, 115, 123, 117,
- 124, 124, 123, 123, 116, 123, 117, 109, 56, 112,
- 51, 31, 123, 31, 31, 31, 51, 123, 122, 123,
- 122, 31, 122, 109, 110, 124, 123, 123
+ 0, 1, 12, 13, 14, 15, 17, 18, 19, 20,
+ 21, 23, 24, 25, 28, 29, 31, 33, 37, 39,
+ 40, 41, 44, 49, 50, 51, 54, 58, 59, 60,
+ 61, 63, 72, 79, 80, 81, 82, 83, 86, 87,
+ 88, 89, 92, 93, 98, 102, 106, 108, 109, 110,
+ 111, 112, 119, 120, 121, 126, 127, 128, 130, 134,
+ 137, 139, 146, 97, 107, 28, 49, 128, 128, 128,
+ 98, 128, 148, 28, 128, 98, 148, 98, 148, 138,
+ 50, 28, 131, 38, 43, 45, 46, 47, 48, 128,
+ 135, 136, 28, 128, 55, 56, 13, 14, 28, 28,
+ 28, 28, 128, 62, 135, 136, 28, 133, 128, 128,
+ 128, 128, 128, 128, 28, 132, 28, 98, 128, 128,
+ 128, 128, 147, 0, 107, 98, 90, 98, 118, 128,
+ 110, 128, 64, 65, 69, 70, 71, 73, 76, 77,
+ 78, 91, 92, 93, 94, 95, 100, 101, 98, 128,
+ 128, 148, 104, 147, 148, 128, 147, 147, 104, 128,
+ 128, 45, 136, 140, 42, 74, 75, 28, 53, 90,
+ 128, 53, 90, 52, 141, 55, 136, 104, 47, 53,
+ 47, 53, 47, 53, 47, 53, 84, 85, 104, 142,
+ 28, 99, 103, 104, 108, 118, 128, 118, 128, 52,
+ 90, 124, 53, 107, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 99, 128, 99, 99, 28, 128, 123, 27, 28, 129,
+ 128, 128, 128, 128, 53, 90, 128, 128, 123, 128,
+ 28, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 28, 123, 99, 104, 128, 99, 124, 99, 107,
+ 123, 128, 128, 125, 28, 144, 128, 128, 128, 144,
+ 47, 47, 47, 47, 143, 147, 125, 34, 53, 125,
+ 110, 107, 111, 124, 104, 107, 107, 128, 128, 128,
+ 128, 144, 99, 124, 53, 128, 124, 124, 32, 28,
+ 104, 145, 145, 107, 32, 128, 124, 32, 57, 123,
+ 36, 57, 115, 116, 122, 28, 125, 125, 145, 124,
+ 125, 125, 114, 115, 117, 122, 123, 116, 124, 118,
+ 125, 125, 124, 124, 117, 124, 118, 110, 57, 113,
+ 52, 32, 124, 32, 32, 32, 52, 124, 123, 124,
+ 123, 32, 123, 110, 111, 125, 124, 124
};
#define yyerrok (yyerrstatus = 0)
@@ -3079,7 +3081,7 @@ yyreduce:
/* Line 1267 of yacc.c. */
-#line 3083 "engines/director/lingo/lingo-gr.cpp"
+#line 3085 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
diff --git a/engines/director/lingo/lingo-gr.h b/engines/director/lingo/lingo-gr.h
index 054d55a224..fc2959872c 100644
--- a/engines/director/lingo/lingo-gr.h
+++ b/engines/director/lingo/lingo-gr.h
@@ -47,84 +47,85 @@
RECT = 263,
ARRAY = 264,
OBJECT = 265,
- INT = 266,
- THEENTITY = 267,
- THEENTITYWITHID = 268,
- FLOAT = 269,
- BLTIN = 270,
- BLTINNOARGS = 271,
- BLTINNOARGSORONE = 272,
- BLTINONEARG = 273,
- BLTINARGLIST = 274,
- TWOWORDBUILTIN = 275,
- FBLTIN = 276,
- FBLTINNOARGS = 277,
- FBLTINONEARG = 278,
- FBLTINARGLIST = 279,
- RBLTIN = 280,
- RBLTINONEARG = 281,
- ID = 282,
- STRING = 283,
- HANDLER = 284,
- SYMBOL = 285,
- ENDCLAUSE = 286,
- tPLAYACCEL = 287,
- tDOWN = 288,
- tELSE = 289,
- tNLELSIF = 290,
- tEXIT = 291,
- tFRAME = 292,
- tGLOBAL = 293,
- tGO = 294,
- tIF = 295,
- tINTO = 296,
- tLOOP = 297,
- tMACRO = 298,
- tMOVIE = 299,
- tNEXT = 300,
- tOF = 301,
- tPREVIOUS = 302,
- tPUT = 303,
- tREPEAT = 304,
- tSET = 305,
- tTHEN = 306,
- tTO = 307,
- tWHEN = 308,
- tWITH = 309,
- tWHILE = 310,
- tNLELSE = 311,
- tFACTORY = 312,
- tMETHOD = 313,
- tOPEN = 314,
- tPLAY = 315,
- tDONE = 316,
- tINSTANCE = 317,
- tGE = 318,
- tLE = 319,
- tGT = 320,
- tLT = 321,
- tEQ = 322,
- tNEQ = 323,
- tAND = 324,
- tOR = 325,
- tNOT = 326,
- tMOD = 327,
- tAFTER = 328,
- tBEFORE = 329,
- tCONCAT = 330,
- tCONTAINS = 331,
- tSTARTS = 332,
- tCHAR = 333,
- tITEM = 334,
- tLINE = 335,
- tWORD = 336,
- tSPRITE = 337,
- tINTERSECTS = 338,
- tWITHIN = 339,
- tTELL = 340,
- tPROPERTY = 341,
- tON = 342,
- tME = 343
+ REFERENCE = 266,
+ INT = 267,
+ THEENTITY = 268,
+ THEENTITYWITHID = 269,
+ FLOAT = 270,
+ BLTIN = 271,
+ BLTINNOARGS = 272,
+ BLTINNOARGSORONE = 273,
+ BLTINONEARG = 274,
+ BLTINARGLIST = 275,
+ TWOWORDBUILTIN = 276,
+ FBLTIN = 277,
+ FBLTINNOARGS = 278,
+ FBLTINONEARG = 279,
+ FBLTINARGLIST = 280,
+ RBLTIN = 281,
+ RBLTINONEARG = 282,
+ ID = 283,
+ STRING = 284,
+ HANDLER = 285,
+ SYMBOL = 286,
+ ENDCLAUSE = 287,
+ tPLAYACCEL = 288,
+ tDOWN = 289,
+ tELSE = 290,
+ tNLELSIF = 291,
+ tEXIT = 292,
+ tFRAME = 293,
+ tGLOBAL = 294,
+ tGO = 295,
+ tIF = 296,
+ tINTO = 297,
+ tLOOP = 298,
+ tMACRO = 299,
+ tMOVIE = 300,
+ tNEXT = 301,
+ tOF = 302,
+ tPREVIOUS = 303,
+ tPUT = 304,
+ tREPEAT = 305,
+ tSET = 306,
+ tTHEN = 307,
+ tTO = 308,
+ tWHEN = 309,
+ tWITH = 310,
+ tWHILE = 311,
+ tNLELSE = 312,
+ tFACTORY = 313,
+ tMETHOD = 314,
+ tOPEN = 315,
+ tPLAY = 316,
+ tDONE = 317,
+ tINSTANCE = 318,
+ tGE = 319,
+ tLE = 320,
+ tGT = 321,
+ tLT = 322,
+ tEQ = 323,
+ tNEQ = 324,
+ tAND = 325,
+ tOR = 326,
+ tNOT = 327,
+ tMOD = 328,
+ tAFTER = 329,
+ tBEFORE = 330,
+ tCONCAT = 331,
+ tCONTAINS = 332,
+ tSTARTS = 333,
+ tCHAR = 334,
+ tITEM = 335,
+ tLINE = 336,
+ tWORD = 337,
+ tSPRITE = 338,
+ tINTERSECTS = 339,
+ tWITHIN = 340,
+ tTELL = 341,
+ tPROPERTY = 342,
+ tON = 343,
+ tME = 344
};
#endif
/* Tokens. */
@@ -136,84 +137,85 @@
#define RECT 263
#define ARRAY 264
#define OBJECT 265
-#define INT 266
-#define THEENTITY 267
-#define THEENTITYWITHID 268
-#define FLOAT 269
-#define BLTIN 270
-#define BLTINNOARGS 271
-#define BLTINNOARGSORONE 272
-#define BLTINONEARG 273
-#define BLTINARGLIST 274
-#define TWOWORDBUILTIN 275
-#define FBLTIN 276
-#define FBLTINNOARGS 277
-#define FBLTINONEARG 278
-#define FBLTINARGLIST 279
-#define RBLTIN 280
-#define RBLTINONEARG 281
-#define ID 282
-#define STRING 283
-#define HANDLER 284
-#define SYMBOL 285
-#define ENDCLAUSE 286
-#define tPLAYACCEL 287
-#define tDOWN 288
-#define tELSE 289
-#define tNLELSIF 290
-#define tEXIT 291
-#define tFRAME 292
-#define tGLOBAL 293
-#define tGO 294
-#define tIF 295
-#define tINTO 296
-#define tLOOP 297
-#define tMACRO 298
-#define tMOVIE 299
-#define tNEXT 300
-#define tOF 301
-#define tPREVIOUS 302
-#define tPUT 303
-#define tREPEAT 304
-#define tSET 305
-#define tTHEN 306
-#define tTO 307
-#define tWHEN 308
-#define tWITH 309
-#define tWHILE 310
-#define tNLELSE 311
-#define tFACTORY 312
-#define tMETHOD 313
-#define tOPEN 314
-#define tPLAY 315
-#define tDONE 316
-#define tINSTANCE 317
-#define tGE 318
-#define tLE 319
-#define tGT 320
-#define tLT 321
-#define tEQ 322
-#define tNEQ 323
-#define tAND 324
-#define tOR 325
-#define tNOT 326
-#define tMOD 327
-#define tAFTER 328
-#define tBEFORE 329
-#define tCONCAT 330
-#define tCONTAINS 331
-#define tSTARTS 332
-#define tCHAR 333
-#define tITEM 334
-#define tLINE 335
-#define tWORD 336
-#define tSPRITE 337
-#define tINTERSECTS 338
-#define tWITHIN 339
-#define tTELL 340
-#define tPROPERTY 341
-#define tON 342
-#define tME 343
+#define REFERENCE 266
+#define INT 267
+#define THEENTITY 268
+#define THEENTITYWITHID 269
+#define FLOAT 270
+#define BLTIN 271
+#define BLTINNOARGS 272
+#define BLTINNOARGSORONE 273
+#define BLTINONEARG 274
+#define BLTINARGLIST 275
+#define TWOWORDBUILTIN 276
+#define FBLTIN 277
+#define FBLTINNOARGS 278
+#define FBLTINONEARG 279
+#define FBLTINARGLIST 280
+#define RBLTIN 281
+#define RBLTINONEARG 282
+#define ID 283
+#define STRING 284
+#define HANDLER 285
+#define SYMBOL 286
+#define ENDCLAUSE 287
+#define tPLAYACCEL 288
+#define tDOWN 289
+#define tELSE 290
+#define tNLELSIF 291
+#define tEXIT 292
+#define tFRAME 293
+#define tGLOBAL 294
+#define tGO 295
+#define tIF 296
+#define tINTO 297
+#define tLOOP 298
+#define tMACRO 299
+#define tMOVIE 300
+#define tNEXT 301
+#define tOF 302
+#define tPREVIOUS 303
+#define tPUT 304
+#define tREPEAT 305
+#define tSET 306
+#define tTHEN 307
+#define tTO 308
+#define tWHEN 309
+#define tWITH 310
+#define tWHILE 311
+#define tNLELSE 312
+#define tFACTORY 313
+#define tMETHOD 314
+#define tOPEN 315
+#define tPLAY 316
+#define tDONE 317
+#define tINSTANCE 318
+#define tGE 319
+#define tLE 320
+#define tGT 321
+#define tLT 322
+#define tEQ 323
+#define tNEQ 324
+#define tAND 325
+#define tOR 326
+#define tNOT 327
+#define tMOD 328
+#define tAFTER 329
+#define tBEFORE 330
+#define tCONCAT 331
+#define tCONTAINS 332
+#define tSTARTS 333
+#define tCHAR 334
+#define tITEM 335
+#define tLINE 336
+#define tWORD 337
+#define tSPRITE 338
+#define tINTERSECTS 339
+#define tWITHIN 340
+#define tTELL 341
+#define tPROPERTY 342
+#define tON 343
+#define tME 344
@@ -231,7 +233,7 @@ typedef union YYSTYPE
Common::Array<double> *arr;
}
/* Line 1529 of yacc.c. */
-#line 235 "engines/director/lingo/lingo-gr.hpp"
+#line 237 "engines/director/lingo/lingo-gr.hpp"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index 4bbbbcdf96..86f8743560 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -87,7 +87,7 @@ void checkEnd(Common::String *token, const char *expect, bool required) {
}
%token UNARY
-%token CASTREF VOID VAR POINT RECT ARRAY OBJECT
+%token CASTREF VOID VAR POINT RECT ARRAY OBJECT REFERENCE
%token<i> INT
%token<e> THEENTITY THEENTITYWITHID
%token<f> FLOAT