"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/libnxsl/parser.tab.cpp" between
netxms-3.8.382.tar.gz and netxms-3.8.405.tar.gz

About: NetXMS is a multi-platform open source network management and monitoring system.

parser.tab.cpp  (netxms-3.8.382):parser.tab.cpp  (netxms-3.8.405)
skipping to change at line 459 skipping to change at line 459
(Dst)[yyi] = (Src)[yyi]; \ (Dst)[yyi] = (Src)[yyi]; \
} \ } \
while (0) while (0)
# endif # endif
# endif # endif
#endif /* !YYCOPY_NEEDED */ #endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */ /* YYFINAL -- State number of the termination state. */
#define YYFINAL 147 #define YYFINAL 147
/* YYLAST -- Last index in YYTABLE. */ /* YYLAST -- Last index in YYTABLE. */
#define YYLAST 1955 #define YYLAST 1931
/* YYNTOKENS -- Number of terminals. */ /* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 103 #define YYNTOKENS 103
/* YYNNTS -- Number of nonterminals. */ /* YYNNTS -- Number of nonterminals. */
#define YYNNTS 128 #define YYNNTS 128
/* YYNRULES -- Number of rules. */ /* YYNRULES -- Number of rules. */
#define YYNRULES 288 #define YYNRULES 288
/* YYNSTATES -- Number of states. */ /* YYNSTATES -- Number of states. */
#define YYNSTATES 489 #define YYNSTATES 489
skipping to change at line 621 skipping to change at line 621
295, 296, 297, 298, 299, 300, 301, 302, 303, 61, 295, 296, 297, 298, 299, 300, 301, 302, 303, 61,
304, 305, 306, 307, 308, 309, 310, 311, 312, 58, 304, 305, 306, 307, 308, 309, 310, 311, 312, 58,
63, 46, 313, 314, 124, 94, 38, 315, 316, 317, 63, 46, 313, 314, 124, 94, 38, 315, 316, 317,
318, 319, 320, 321, 60, 322, 62, 323, 324, 325, 318, 319, 320, 321, 60, 322, 62, 323, 324, 325,
43, 45, 42, 47, 37, 326, 327, 328, 126, 329, 43, 45, 42, 47, 37, 326, 327, 328, 126, 329,
330, 64, 331, 332, 91, 93, 59, 44, 41, 123, 330, 64, 331, 332, 91, 93, 59, 44, 41, 123,
125, 40, 35 125, 40, 35
}; };
# endif # endif
#define YYPACT_NINF -405 #define YYPACT_NINF -439
#define yypact_value_is_default(Yystate) \ #define yypact_value_is_default(Yystate) \
(!!((Yystate) == (-405))) (!!((Yystate) == (-439)))
#define YYTABLE_NINF -245 #define YYTABLE_NINF -245
#define yytable_value_is_error(Yytable_value) \ #define yytable_value_is_error(Yytable_value) \
0 0
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */ STATE-NUM. */
static const yytype_int16 yypact[] = static const yytype_int16 yypact[] =
{ {
451, -405, -405, -84, -25, -63, -405, -405, -405, -66, 451, -439, -439, -87, -30, -63, -439, -439, -439, -81,
-62, 12, -60, 15, -405, -405, 626, -405, -405, -22, -66, 12, -60, 15, -439, -439, 626, -439, -439, -11,
-405, -405, -405, -405, -405, -405, -405, -405, -405, -405, -439, -439, -439, -439, -439, -439, -439, -439, -439, -439,
-11, -405, -405, -38, 139, -405, -405, -405, -405, -405, 14, -439, -439, -38, 139, -439, -439, -439, -439, -439,
-405, 926, -90, -37, -34, 926, 926, -405, 551, 926, -439, 926, -82, -37, -34, 926, 926, -439, 551, 926,
-32, 66, -405, 451, -405, -405, -405, -405, -405, -405, -32, 66, -439, 451, -439, -439, -439, -439, -439, -439,
-405, -20, 540, -405, -405, -405, -405, -24, -405, -13, -439, -22, 540, -439, -439, -439, -439, -18, -439, -10,
926, -405, -405, -405, -405, -405, -405, -405, -405, -405, 926, -439, -439, -439, -439, -439, -439, -439, -439, -439,
-405, -405, -405, -405, 701, 326, -405, 32, -405, 37, -439, -439, -439, -439, 701, 326, -439, 45, -439, 40,
4, -10, -405, 551, 989, 47, -405, 41, 9, 16, 4, 8, -439, 551, 989, 48, -439, 57, 17, 19,
926, 5, -405, 1524, 72, -38, 19, -405, 20, 17, 926, 13, -439, 1524, 73, -38, 16, -439, 20, 21,
-405, -405, 21, 22, 73, -405, 926, -405, -405, -405, -439, -439, 27, 23, 84, -439, 926, -439, -439, -439,
-405, -405, -405, -405, -405, -405, -405, -405, 926, -405, -439, -439, -439, -439, -439, -439, -439, -439, 926, -439,
-76, 24, 31, -405, 926, -405, -405, 926, -405, -76, -76, 29, 32, -439, 926, -439, -439, 926, -439, -76,
-76, 26, 551, -20, 1095, -405, 926, -405, -405, -405, -76, 34, 551, -22, 1095, -439, 926, -439, -439, -439,
-405, 926, -405, -405, 926, 926, 926, 926, 926, 926, -439, 926, -439, -439, 926, 926, 926, 926, 926, 926,
926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 926,
926, 926, 926, 926, 926, 14, 926, 926, -405, 540, 926, 926, 926, 926, 926, 18, 926, 926, -439, 540,
926, -7, -405, 540, 35, 30, 926, -405, -405, -405, 926, -7, -439, 540, 35, 30, 926, -439, -439, -439,
-405, -405, -405, -405, -405, -405, -405, -405, 33, 38, -439, -439, -439, -439, -439, -439, -439, -439, 38, 42,
405, -405, -25, 96, 232, 1561, 77, 32, 926, -405, 405, -439, -30, 97, 232, 1561, 80, 45, 926, -439,
97, 1134, 776, -405, 39, -27, 926, 131, -405, 926, 98, 1134, 776, -439, 69, -27, 926, 134, -439, 926,
-405, 926, 44, 540, 926, 926, 926, 926, 926, 926, -439, 926, 85, 540, 926, 926, 926, 926, 926, 926,
926, 926, 926, 49, -405, 926, -405, 926, 615, 690, 926, 926, 926, 49, -439, 926, -439, 926, 615, 690,
-405, -405, -405, 1173, 926, 764, 926, 926, 973, 1833, -439, -439, -439, 1173, 926, 764, 926, 926, 973, 1809,
1861, 1027, 1027, 1027, 1027, 1027, 1027, 1027, -56, -56, 1837, 1027, 1027, 1027, 1027, 1027, 1027, 1027, -56, -56,
-56, -56, 28, 28, -2, -2, -76, -76, -76, -43, -56, -56, 28, 28, -2, -2, -76, -76, -76, -43,
851, 1635, 111, 1212, 1251, -405, 926, -405, 1052, 540, 851, 1635, 124, 1212, 1251, -439, 926, -439, 1052, 540,
926, 926, 926, 926, 926, 926, 926, 926, 926, 85, 926, 926, 926, 926, 926, 926, 926, 926, 926, 87,
-405, -405, -405, 82, -405, -405, -405, 88, 540, -405, -439, -439, -439, 86, -439, -439, -439, 89, 540, -439,
-405, -405, 87, 926, 101, -405, 17, 89, 1290, -405, -439, -439, 88, 926, 101, -439, 21, 103, 1290, -439,
1329, 137, 540, 73, 540, 540, 540, 540, 540, 540, 1329, 153, 540, 84, 540, 540, 540, 540, 540, 540,
540, 540, 540, 1672, 102, 104, 1368, 106, 926, 926, 540, 540, 540, 1672, 104, 108, 1368, 113, 926, 926,
-405, 1708, 837, 911, 926, -405, 107, 123, 926, -405, -439, 1708, 837, 911, 926, -439, 115, 123, 926, -439,
-405, 540, -405, 540, 540, 540, 540, 540, 540, 540, -439, 540, -439, 540, 540, 540, 540, 540, 540, 540,
540, 540, 32, 926, 926, -405, 551, -405, 1407, 168, 540, 540, 45, 926, 926, -439, 551, -439, 1407, 168,
-405, -405, -405, 17, -405, 112, -405, 926, -405, 926, -439, -439, -439, 21, -439, 128, -439, 926, -439, 926,
116, -405, 1743, 1779, -405, 540, -405, 926, -405, -405, 117, -439, 1743, 1779, -439, 540, -439, 926, -439, -439,
-405, -405, -405, -405, -405, -405, -405, -405, 540, 119, -439, -439, -439, -439, -439, -439, -439, -439, 540, 136,
551, -405, 1446, 1598, 215, -405, -405, -405, 129, 168, 551, -439, 1446, 1598, 217, -439, -439, -439, 132, 168,
132, -405, 551, 551, -405, 540, -405, 926, 46, 254, 135, -439, 551, 551, -439, 540, -439, 926, 46, 254,
926, 540, 926, 926, 926, 926, 926, 926, 926, 926, 926, 540, 926, 926, 926, 926, 926, 926, 926, 926,
-405, -405, 136, -405, -405, -405, 926, -405, -405, 227, -439, -439, 137, -439, -439, -439, 926, -439, -439, 230,
-405, 134, 440, -405, -405, -405, 540, 540, 540, 540, -439, 141, 440, -439, -439, -439, 540, 540, 540, 540,
540, 540, 540, 540, 540, -405, 926, 551, 540, 1099, 540, 540, 540, 540, 540, -439, 926, 551, 540, 1100,
226, 233, 235, -405, -405, 1485, -405, 183, 220, -405, 229, 236, 237, -439, -439, 1485, -439, 185, 222, -439,
221, 186, 146, 227, 227, -405, 551, 188, 225, 190, 223, 188, 148, 230, 230, -439, 551, 190, 227, 192,
551, -405, -405, -405, 551, -405, 551, 1850, 551, -405, 551, -439, -439, -439, 551, -439, 551, 1100, 551, -439,
-405, -405, -405, -405, -405, -405, 191, 551, -405 -439, -439, -439, -439, -439, -439, 194, 551, -439
}; };
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
Performed when YYTABLE does not specify something else to do. Zero Performed when YYTABLE does not specify something else to do. Zero
means the default is an error. */ means the default is an error. */
static const yytype_uint16 yydefact[] = static const yytype_uint16 yydefact[] =
{ {
4, 200, 258, 0, 0, 0, 225, 201, 287, 0, 4, 200, 258, 0, 0, 0, 225, 201, 287, 0,
0, 0, 0, 0, 288, 203, 0, 202, 249, 0, 0, 0, 0, 0, 288, 203, 0, 202, 249, 0,
227, 286, 31, 178, 179, 180, 183, 184, 181, 182, 227, 286, 31, 178, 179, 180, 183, 184, 181, 182,
skipping to change at line 745 skipping to change at line 745
92, 94, 96, 98, 100, 226, 0, 0, 256, 0, 92, 94, 96, 98, 100, 226, 0, 0, 256, 0,
248, 234, 235, 44, 45, 0, 211, 0, 238, 240, 248, 234, 235, 44, 45, 0, 211, 0, 238, 240,
236, 0, 0, 0, 0, 214, 27, 0, 0, 0, 236, 0, 0, 0, 0, 214, 27, 0, 0, 0,
27, 229, 231, 233, 0, 257, 27, 0, 27, 247, 27, 229, 231, 233, 0, 257, 27, 0, 27, 247,
215, 239, 246, 241, 245, 237, 0, 27, 242 215, 239, 246, 241, 245, 237, 0, 27, 242
}; };
/* YYPGOTO[NTERM-NUM]. */ /* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] = static const yytype_int16 yypgoto[] =
{ {
-405, -405, 198, -405, -405, 51, -405, -405, -405, -405, -439, -439, 201, -439, -439, 54, -439, -439, -438, -439,
-405, -405, -186, -405, -108, -140, 0, -405, -405, -405, -439, -439, -186, -439, -108, -140, 0, -439, -439, -439,
-405, 256, -405, -59, -405, -405, -405, -9, -405, -405, -439, 257, -439, -55, -439, -439, -439, -9, -439, -439,
-405, -405, -405, -405, -405, -405, -405, -405, -405, -405, -439, -439, -439, -439, -439, -439, -439, -439, -439, -439,
-405, -405, -405, -405, -405, -405, -405, -405, -405, -405, -439, -439, -439, -439, -439, -439, -439, -439, -439, -439,
-405, -405, -405, -405, -405, -405, -405, -405, -81, -405, -439, -439, -439, -439, -439, -439, -439, -439, -79, -439,
-405, -405, -405, -149, -405, -405, -405, -110, -405, -405, -439, -439, -439, -147, -439, -439, -439, -107, -439, -439,
-405, -405, -405, -405, -405, -405, -405, -405, -405, -405, -439, -439, -439, -439, -439, -439, -439, -439, -439, -439,
-405, -405, -405, -405, -405, -405, -405, -405, -405, -405, -439, -439, -439, -439, -439, -439, -439, -439, -439, -439,
-405, -405, -405, -405, -405, -405, -404, -405, -405, -405, -439, -439, -439, -439, -439, -439, -391, -439, -439, -439,
-405, -405, -405, -405, -405, -405, -405, -405, -405, -405, -439, -439, -439, -439, -439, -439, -439, -439, -439, -439,
-405, -139, -405, -405, -405, -405, -405, -405, -405, 52, -439, -135, -439, -439, -439, -439, -439, -439, -439, 55,
-405, -405, -405, -208, -405, -6, 29, -197 -439, -439, -439, -208, -439, -6, 33, -197
}; };
/* YYDEFGOTO[NTERM-NUM]. */ /* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] = static const yytype_int16 yydefgoto[] =
{ {
-1, 51, 52, 53, 54, 90, 91, 55, 112, 56, -1, 51, 52, 53, 54, 90, 91, 55, 112, 56,
215, 306, 199, 289, 57, 141, 142, 59, 109, 363, 215, 306, 199, 289, 57, 141, 142, 59, 109, 363,
60, 143, 114, 221, 222, 311, 404, 62, 224, 225, 60, 143, 114, 221, 222, 311, 404, 62, 224, 225,
226, 227, 228, 229, 230, 231, 232, 280, 281, 282, 226, 227, 228, 229, 230, 231, 232, 280, 281, 282,
283, 284, 285, 286, 287, 288, 412, 413, 414, 415, 283, 284, 285, 286, 287, 288, 412, 413, 414, 415,
skipping to change at line 783 skipping to change at line 783
469, 467, 452, 468, 486, 459, 483, 462, 79, 104, 469, 467, 452, 468, 486, 459, 483, 462, 79, 104,
304, 398, 399, 426, 457, 80, 87, 207, 81, 98, 304, 398, 399, 426, 457, 80, 87, 207, 81, 98,
99, 82, 83, 184, 185, 84, 85, 86 99, 82, 83, 184, 185, 84, 85, 86
}; };
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule whose positive, shift that token. If negative, reduce the rule whose
number is the opposite. If YYTABLE_NINF, syntax error. */ number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] = static const yytype_int16 yytable[] =
{ {
58, 217, 241, 291, 302, 133, 334, 103, 136, 131, 58, 217, 241, 291, 302, 133, 334, 103, 136, 88,
145, 132, 88, 107, 175, 198, 96, 89, 176, 105, 145, 458, 89, 107, 175, 198, 96, 131, 176, 132,
106, 297, 168, 169, 170, 171, 172, 173, 174, 307, 94, 297, 168, 169, 170, 171, 172, 173, 174, 307,
110, 111, 130, 92, 175, 94, 139, 140, 176, 95, 105, 106, 130, 92, 175, 95, 139, 140, 176, 482,
144, 100, 116, 117, 118, 119, 120, 121, 122, 123, 144, 100, 116, 117, 118, 119, 120, 121, 122, 123,
124, 125, 276, 58, 97, 105, 269, 101, 129, 472, 124, 125, 276, 58, 97, 110, 111, 101, 129, 105,
473, 179, 336, 115, 134, 50, 147, 137, 50, 146, 269, 179, 336, 115, 134, 50, 147, 137, 50, 146,
342, 305, 135, 138, 198, 183, 149, 177, 126, 127, 342, 305, 472, 473, 149, 183, 135, 138, 126, 127,
172, 173, 174, 178, 128, 205, 200, 202, 175, 206, 172, 173, 174, 177, 128, 205, 178, 198, 175, 200,
208, 211, 176, 203, 129, 377, 378, 379, 380, 381, 206, 211, 176, 203, 129, 377, 378, 379, 380, 381,
201, 382, 383, 384, 385, 209, 212, 223, 170, 171, 201, 382, 383, 384, 385, 202, 208, 223, 170, 171,
172, 173, 174, 210, 214, 220, 48, 218, 175, 233, 172, 173, 174, 209, 212, 214, 210, 129, 175, 233,
129, 216, 176, 219, 234, 238, 240, 278, 239, 236, 48, 216, 176, 218, 219, 238, 220, 278, 239, 234,
-22, 386, 387, 277, 290, 293, 296, 243, 309, 97, 236, 386, 387, 277, 240, -22, 293, 243, 290, 296,
303, 313, 245, 176, 434, 248, 249, 250, 251, 252, 97, 309, 245, 176, 434, 248, 249, 250, 251, 252,
253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
263, 264, 265, 266, 267, 268, 391, 271, 273, 270, 263, 264, 265, 266, 267, 268, 391, 271, 273, 270,
338, 274, 377, 378, 379, 380, 381, 279, 382, 383, 303, 274, 377, 378, 379, 380, 381, 279, 382, 383,
384, 385, 352, 353, 355, 357, 365, 361, 116, 117, 384, 385, 313, 338, 352, 355, 357, 353, 116, 117,
118, 119, 120, 121, 122, 123, 124, 125, 360, 298, 118, 119, 120, 121, 122, 123, 124, 125, 360, 298,
359, 369, 368, 183, 371, 376, 397, 308, 386, 387, 359, 361, 365, 183, 368, 369, 397, 308, 386, 387,
310, 403, 312, 407, 420, 314, 315, 316, 317, 318, 310, 371, 312, 376, 407, 314, 315, 316, 317, 318,
319, 320, 321, 322, 126, 127, 323, 424, 326, 427, 319, 320, 321, 322, 126, 127, 323, 403, 326, 424,
128, 429, 445, 449, 453, 331, 461, 332, 333, -230, 128, 420, 427, 445, 429, 331, 449, 332, 333, 461,
129, -232, 466, -244, -243, 470, 471, 476, 477, 478, 129, 453, -230, -232, 466, -244, -243, 470, 471, 476,
487, 148, 460, 292, 366, 401, 61, 389, 433, 406, 477, 478, 460, 487, 148, 401, 292, 61, 366, 389,
428, 183, 299, 431, 0, 0, 0, 341, 0, 183, 433, 183, 406, 431, 428, 299, 0, 341, 0, 183,
0, 343, 344, 345, 346, 347, 348, 349, 350, 351, 0, 343, 344, 345, 346, 347, 348, 349, 350, 351,
484, 116, 117, 118, 119, 120, 121, 122, 123, 124, 484, 116, 117, 118, 119, 120, 121, 122, 123, 124,
125, 294, 0, 0, 358, 0, 0, 0, 0, 0, 125, 294, 0, 0, 358, 0, 0, 0, 0, 0,
0, 0, 0, 377, 378, 379, 380, 381, 0, 382, 0, 0, 0, 377, 378, 379, 380, 381, 0, 382,
383, 384, 385, 0, 0, 0, 0, 126, 127, 372, 383, 384, 385, 0, 0, 0, 0, 126, 127, 372,
373, 0, 0, 128, 0, 375, 475, 0, 0, 388, 373, 0, 0, 128, 0, 375, 475, 0, 0, 388,
479, 0, 0, 129, 0, 0, 481, 0, 485, 386, 479, 0, 0, 129, 0, 0, 481, 0, 485, 386,
387, 0, 0, 0, 392, 393, 0, 488, 0, 0, 387, 0, 0, 0, 392, 393, 0, 488, 0, 0,
0, 0, 435, 0, 0, 0, 394, 0, 405, 0, 0, 0, 435, 0, 0, 0, 394, 0, 405, 0,
323, 0, 0, 0, 0, 0, 0, 0, 411, 0, 323, 0, 0, 0, 0, 0, 0, 0, 411, 0,
skipping to change at line 894 skipping to change at line 894
42, 43, 44, 45, 46, 0, 0, 21, 0, 23, 42, 43, 44, 45, 46, 0, 0, 21, 0, 23,
24, 25, 26, 27, 28, 29, 0, 49, 50, 0, 24, 25, 26, 27, 28, 29, 0, 49, 50, 0,
33, 204, 35, 36, 37, 38, 39, 40, 155, 156, 33, 204, 35, 36, 37, 38, 39, 40, 155, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
167, 168, 169, 170, 171, 172, 173, 174, 0, 0, 167, 168, 169, 170, 171, 172, 173, 174, 0, 0,
0, 0, 0, 175, 0, 0, 8, 176, 0, 0, 0, 0, 0, 175, 0, 0, 8, 176, 0, 0,
41, 13, 14, 42, 43, 44, 45, 46, 0, 0, 41, 13, 14, 42, 43, 44, 45, 46, 0, 0,
21, 0, 23, 24, 25, 26, 27, 28, 29, 0, 21, 0, 23, 24, 25, 26, 27, 28, 29, 0,
49, 50, 0, 33, 181, 35, 36, 37, 38, 39, 49, 50, 0, 33, 181, 35, 36, 37, 38, 39,
40, 164, 165, 166, 167, 168, 169, 170, 171, 172, 40, 164, 165, 166, 167, 168, 169, 170, 171, 172,
173, 174, 0, 8, 0, 0, 0, 175, 0, 14, 173, 174, 0, 0, 8, 0, 0, 175, 0, 0,
0, 176, 0, 0, 0, 0, 0, 21, 0, 0, 14, 176, 0, 0, 0, 0, 0, 0, 21, 0,
0, 0, 0, 41, 0, 0, 42, 43, 44, 45, 0, 0, 0, 41, 0, 0, 42, 43, 44, 45,
46, 458, 35, 36, 37, 38, 39, 40, 0, 0, 46, 110, 111, 35, 36, 37, 38, 39, 40, 0,
0, 0, 0, 49, 50, 150, 151, 152, 153, 154, 0, 0, 0, 49, 50, 150, 151, 152, 153, 154,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
0, 0, 0, 0, 0, 175, 0, 0, 0, 176, 0, 0, 0, 0, 0, 175, 0, 0, 0, 176,
0, 0, 0, 242, 150, 151, 152, 153, 154, 155, 0, 0, 0, 242, 150, 151, 152, 153, 154, 155,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 0, 166, 167, 168, 169, 170, 171, 172, 173, 174, 0,
0, 0, 0, 0, 175, 0, 0, 0, 176, 0, 0, 0, 0, 0, 175, 0, 0, 0, 176, 0,
0, 0, 300, 150, 151, 152, 153, 154, 155, 156, 0, 0, 300, 150, 151, 152, 153, 154, 155, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
skipping to change at line 969 skipping to change at line 969
0, 0, 175, 0, 0, 0, 176, 374, 150, 151, 0, 0, 175, 0, 0, 0, 176, 374, 150, 151,
152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 0, 0, 0, 0, 0, 175, 0, 172, 173, 174, 0, 0, 0, 0, 0, 175, 0,
0, 0, 176, 150, 151, 152, 153, 154, 155, 156, 0, 0, 176, 150, 151, 152, 153, 154, 155, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
167, 168, 169, 170, 171, 172, 173, 174, 0, 0, 167, 168, 169, 170, 171, 172, 173, 174, 0, 0,
0, 0, 0, 175, 0, 0, 0, 176, 408, 150, 0, 0, 0, 175, 0, 0, 0, 176, 408, 150,
151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
171, 172, 173, 174, 8, 0, 0, 0, 0, 175, 171, 172, 173, 174, 0, 0, 0, 0, 0, 175,
14, 0, 0, 176, 409, 0, 0, 0, 21, 0, 0, 0, 0, 176, 409, 156, 157, 158, 159, 160,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
0, 0, 482, 35, 36, 37, 38, 39, 40, 156, 171, 172, 173, 174, 0, 0, 0, 0, 0, 175,
157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 0, 0, 0, 176, 157, 158, 159, 160, 161, 162,
167, 168, 169, 170, 171, 172, 173, 174, 0, 0, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
0, 0, 0, 175, 0, 0, 0, 176, 157, 158, 173, 174, 0, 0, 0, 0, 0, 175, 0, 0,
159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 0, 176
169, 170, 171, 172, 173, 174, 0, 0, 0, 0,
0, 175, 0, 0, 0, 176
}; };
static const yytype_int16 yycheck[] = static const yytype_int16 yycheck[] =
{ {
0, 109, 142, 200, 212, 42, 49, 16, 42, 99, 0, 109, 142, 200, 212, 42, 49, 16, 42, 96,
42, 101, 96, 19, 90, 42, 4, 42, 94, 41, 42, 449, 42, 19, 90, 42, 4, 99, 94, 101,
42, 207, 78, 79, 80, 81, 82, 83, 84, 215, 101, 207, 78, 79, 80, 81, 82, 83, 84, 215,
41, 42, 41, 96, 90, 101, 45, 46, 94, 101, 41, 42, 41, 96, 90, 101, 45, 46, 94, 477,
49, 101, 49, 50, 51, 52, 53, 54, 55, 56, 49, 101, 49, 50, 51, 52, 53, 54, 55, 56,
57, 58, 59, 53, 42, 41, 42, 42, 101, 463, 57, 58, 59, 53, 42, 41, 42, 42, 101, 41,
464, 70, 270, 101, 101, 102, 0, 101, 102, 101, 42, 70, 270, 101, 101, 102, 0, 101, 102, 101,
278, 98, 43, 44, 42, 84, 96, 101, 85, 86, 278, 98, 463, 464, 96, 84, 43, 44, 85, 86,
82, 83, 84, 96, 91, 94, 49, 97, 90, 42, 82, 83, 84, 101, 91, 94, 96, 42, 90, 49,
49, 100, 94, 93, 101, 49, 50, 51, 52, 53, 42, 100, 94, 93, 101, 49, 50, 51, 52, 53,
96, 55, 56, 57, 58, 96, 101, 116, 80, 81, 96, 55, 56, 57, 58, 97, 49, 116, 80, 81,
82, 83, 84, 97, 42, 42, 99, 96, 90, 128, 82, 83, 84, 96, 101, 42, 97, 101, 90, 128,
101, 101, 94, 101, 100, 134, 100, 97, 137, 98, 99, 101, 94, 96, 101, 134, 42, 97, 137, 100,
97, 85, 86, 98, 96, 39, 59, 146, 7, 42, 98, 85, 86, 98, 100, 97, 39, 146, 96, 59,
101, 97, 151, 94, 98, 154, 155, 156, 157, 158, 42, 7, 151, 94, 98, 154, 155, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
169, 170, 171, 172, 173, 174, 352, 176, 177, 175, 169, 170, 171, 172, 173, 174, 352, 176, 177, 175,
59, 180, 49, 50, 51, 52, 53, 186, 55, 56, 101, 180, 49, 50, 51, 52, 53, 186, 55, 56,
57, 58, 97, 101, 96, 98, 49, 98, 49, 50, 57, 58, 97, 59, 97, 96, 98, 101, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, 306, 208, 51, 52, 53, 54, 55, 56, 57, 58, 306, 208,
99, 97, 100, 212, 98, 98, 38, 216, 85, 86, 99, 98, 49, 212, 100, 97, 38, 216, 85, 86,
219, 99, 221, 97, 95, 224, 225, 226, 227, 228, 219, 98, 221, 98, 97, 224, 225, 226, 227, 228,
229, 230, 231, 232, 85, 86, 235, 12, 237, 100, 229, 230, 231, 232, 85, 86, 235, 99, 237, 12,
91, 99, 96, 6, 100, 244, 10, 246, 247, 6, 91, 95, 100, 96, 99, 244, 6, 246, 247, 10,
101, 6, 59, 23, 23, 59, 100, 59, 23, 59, 101, 100, 6, 6, 59, 23, 23, 59, 100, 59,
59, 53, 449, 202, 313, 363, 0, 338, 407, 369, 23, 59, 449, 59, 53, 363, 202, 0, 313, 338,
399, 270, 210, 403, -1, -1, -1, 276, -1, 278, 407, 270, 369, 403, 399, 210, -1, 276, -1, 278,
-1, 280, 281, 282, 283, 284, 285, 286, 287, 288, -1, 280, 281, 282, 283, 284, 285, 286, 287, 288,
477, 49, 50, 51, 52, 53, 54, 55, 56, 57, 477, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, 59, -1, -1, 303, -1, -1, -1, -1, -1, 58, 59, -1, -1, 303, -1, -1, -1, -1, -1,
-1, -1, -1, 49, 50, 51, 52, 53, -1, 55, -1, -1, -1, 49, 50, 51, 52, 53, -1, 55,
56, 57, 58, -1, -1, -1, -1, 85, 86, 328, 56, 57, 58, -1, -1, -1, -1, 85, 86, 328,
329, -1, -1, 91, -1, 334, 466, -1, -1, 338, 329, -1, -1, 91, -1, 334, 466, -1, -1, 338,
470, -1, -1, 101, -1, -1, 476, -1, 478, 85, 470, -1, -1, 101, -1, -1, 476, -1, 478, 85,
86, -1, -1, -1, 353, 354, -1, 487, -1, -1, 86, -1, -1, -1, 353, 354, -1, 487, -1, -1,
-1, -1, 98, -1, -1, -1, 356, -1, 367, -1, -1, -1, 98, -1, -1, -1, 356, -1, 367, -1,
369, -1, -1, -1, -1, -1, -1, -1, 377, -1, 369, -1, -1, -1, -1, -1, -1, -1, 377, -1,
skipping to change at line 1094 skipping to change at line 1092
84, 85, 86, 87, 88, -1, -1, 28, -1, 30, 84, 85, 86, 87, 88, -1, -1, 28, -1, 30,
31, 32, 33, 34, 35, 36, -1, 101, 102, -1, 31, 32, 33, 34, 35, 36, -1, 101, 102, -1,
41, 42, 43, 44, 45, 46, 47, 48, 65, 66, 41, 42, 43, 44, 45, 46, 47, 48, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, -1, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
-1, -1, -1, 90, -1, -1, 14, 94, -1, -1, -1, -1, -1, 90, -1, -1, 14, 94, -1, -1,
81, 19, 20, 84, 85, 86, 87, 88, -1, -1, 81, 19, 20, 84, 85, 86, 87, 88, -1, -1,
28, -1, 30, 31, 32, 33, 34, 35, 36, -1, 28, -1, 30, 31, 32, 33, 34, 35, 36, -1,
101, 102, -1, 41, 42, 43, 44, 45, 46, 47, 101, 102, -1, 41, 42, 43, 44, 45, 46, 47,
48, 74, 75, 76, 77, 78, 79, 80, 81, 82, 48, 74, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, -1, 14, -1, -1, -1, 90, -1, 20, 83, 84, -1, -1, 14, -1, -1, 90, -1, -1,
-1, 94, -1, -1, -1, -1, -1, 28, -1, -1, 20, 94, -1, -1, -1, -1, -1, -1, 28, -1,
-1, -1, -1, 81, -1, -1, 84, 85, 86, 87, -1, -1, -1, 81, -1, -1, 84, 85, 86, 87,
88, 42, 43, 44, 45, 46, 47, 48, -1, -1, 88, 41, 42, 43, 44, 45, 46, 47, 48, -1,
-1, -1, -1, 101, 102, 60, 61, 62, 63, 64, -1, -1, -1, 101, 102, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
-1, -1, -1, -1, -1, 90, -1, -1, -1, 94, -1, -1, -1, -1, -1, 90, -1, -1, -1, 94,
-1, -1, -1, 98, 60, 61, 62, 63, 64, 65, -1, -1, -1, 98, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, -1, 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
-1, -1, -1, -1, 90, -1, -1, -1, 94, -1, -1, -1, -1, -1, 90, -1, -1, -1, 94, -1,
-1, -1, 98, 60, 61, 62, 63, 64, 65, 66, -1, -1, 98, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
skipping to change at line 1169 skipping to change at line 1167
-1, -1, 90, -1, -1, -1, 94, 59, 60, 61, -1, -1, 90, -1, -1, -1, 94, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
82, 83, 84, -1, -1, -1, -1, -1, 90, -1, 82, 83, 84, -1, -1, -1, -1, -1, 90, -1,
-1, -1, 94, 60, 61, 62, 63, 64, 65, 66, -1, -1, 94, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, -1, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
-1, -1, -1, 90, -1, -1, -1, 94, 95, 60, -1, -1, -1, 90, -1, -1, -1, 94, 95, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 14, -1, -1, -1, -1, 90, 81, 82, 83, 84, -1, -1, -1, -1, -1, 90,
20, -1, -1, 94, 95, -1, -1, -1, 28, -1, -1, -1, -1, 94, 95, 66, 67, 68, 69, 70,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
-1, -1, 42, 43, 44, 45, 46, 47, 48, 66, 81, 82, 83, 84, -1, -1, -1, -1, -1, 90,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76, -1, -1, -1, 94, 67, 68, 69, 70, 71, 72,
77, 78, 79, 80, 81, 82, 83, 84, -1, -1, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
-1, -1, -1, 90, -1, -1, -1, 94, 67, 68, 83, 84, -1, -1, -1, -1, -1, 90, -1, -1,
69, 70, 71, 72, 73, 74, 75, 76, 77, 78, -1, 94
79, 80, 81, 82, 83, 84, -1, -1, -1, -1,
-1, 90, -1, -1, -1, 94
}; };
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */ symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] = static const yytype_uint8 yystos[] =
{ {
0, 3, 4, 5, 8, 9, 11, 13, 14, 15, 0, 3, 4, 5, 8, 9, 11, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47,
skipping to change at line 1230 skipping to change at line 1226
130, 130, 97, 101, 183, 96, 178, 98, 130, 99, 130, 130, 97, 101, 183, 96, 178, 98, 130, 99,
117, 98, 98, 122, 98, 49, 126, 59, 100, 97, 117, 98, 98, 122, 98, 49, 126, 59, 100, 97,
167, 98, 130, 130, 59, 130, 98, 49, 50, 51, 167, 98, 130, 130, 59, 130, 98, 49, 50, 51,
52, 53, 55, 56, 57, 58, 85, 86, 130, 161, 52, 53, 55, 56, 57, 58, 85, 86, 130, 161,
190, 115, 130, 130, 119, 179, 98, 38, 214, 215, 190, 115, 130, 130, 119, 179, 98, 38, 214, 215,
198, 117, 193, 99, 129, 130, 170, 97, 95, 95, 198, 117, 193, 99, 129, 130, 170, 97, 95, 95,
160, 130, 149, 150, 151, 152, 153, 154, 155, 156, 160, 130, 149, 150, 151, 152, 153, 154, 155, 156,
95, 119, 98, 96, 12, 180, 216, 100, 214, 99, 95, 119, 98, 96, 12, 180, 216, 100, 214, 99,
119, 118, 130, 166, 98, 98, 130, 130, 130, 130, 119, 118, 130, 166, 98, 98, 130, 130, 130, 130,
130, 130, 130, 130, 130, 96, 184, 181, 130, 6, 130, 130, 130, 130, 130, 96, 184, 181, 130, 6,
199, 202, 205, 100, 100, 130, 119, 217, 42, 208, 199, 202, 205, 100, 100, 130, 119, 217, 111, 208,
230, 10, 210, 200, 201, 98, 59, 204, 206, 203, 230, 10, 210, 200, 201, 98, 59, 204, 206, 203,
59, 100, 199, 199, 185, 118, 59, 23, 59, 118, 59, 100, 199, 199, 185, 118, 59, 23, 59, 118,
119, 118, 42, 209, 230, 118, 207, 59, 118 119, 118, 111, 209, 230, 118, 207, 59, 118
}; };
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] = static const yytype_uint8 yyr1[] =
{ {
0, 103, 104, 104, 104, 105, 105, 106, 106, 106, 0, 103, 104, 104, 104, 105, 105, 106, 106, 106,
106, 107, 108, 108, 109, 110, 111, 111, 113, 112, 106, 107, 108, 108, 109, 110, 111, 111, 113, 112,
114, 114, 116, 115, 115, 117, 118, 118, 119, 119, 114, 114, 116, 115, 115, 117, 118, 118, 119, 119,
119, 121, 122, 120, 123, 123, 123, 125, 124, 124, 119, 121, 122, 120, 123, 123, 123, 125, 124, 124,
126, 126, 128, 127, 129, 129, 130, 130, 131, 130, 126, 126, 128, 127, 129, 129, 130, 130, 131, 130,
skipping to change at line 1730 skipping to change at line 1726
if (!yymsg) if (!yymsg)
yymsg = "Deleting"; yymsg = "Deleting";
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
switch (yytype) switch (yytype)
{ {
case 43: /* T_STRING */ case 43: /* T_STRING */
#line 118 "parser.y" /* yacc.c:1257 */ #line 118 "parser.y" /* yacc.c:1257 */
{ MemFree(((*yyvaluep).valStr)); } { MemFree(((*yyvaluep).valStr)); }
#line 1752 "parser.tab.cpp" /* yacc.c:1257 */ #line 1748 "parser.tab.cpp" /* yacc.c:1257 */
break; break;
case 230: /* Constant */ case 230: /* Constant */
#line 119 "parser.y" /* yacc.c:1257 */ #line 119 "parser.y" /* yacc.c:1257 */
{ pScript->destroyValue(((*yyvaluep).constant)); } { pScript->destroyValue(((*yyvaluep).constant)); }
#line 1758 "parser.tab.cpp" /* yacc.c:1257 */ #line 1754 "parser.tab.cpp" /* yacc.c:1257 */
break; break;
default: default:
break; break;
} }
YY_IGNORE_MAYBE_UNINITIALIZED_END YY_IGNORE_MAYBE_UNINITIALIZED_END
} }
/*----------. /*----------.
| yyparse. | | yyparse. |
skipping to change at line 2009 skipping to change at line 2005
// Add implicit main() function // Add implicit main() function
if (!pScript->addFunction("$main", 0, szErrorText)) if (!pScript->addFunction("$main", 0, szErrorText))
{ {
pCompiler->error(szErrorText); pCompiler->error(szErrorText);
YYERROR; YYERROR;
} }
// Implicit return // Implicit return
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_RET_NULL); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_RET_NULL);
} }
#line 2041 "parser.tab.cpp" /* yacc.c:1652 */ #line 2037 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 3: case 3:
#line 142 "parser.y" /* yacc.c:1652 */ #line 142 "parser.y" /* yacc.c:1652 */
{ {
char szErrorText[256]; char szErrorText[256];
// Add implicit return // Add implicit return
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_RETURN); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_RETURN);
// Add implicit main() function // Add implicit main() function
if (!pScript->addFunction("$main", 0, szErrorText)) if (!pScript->addFunction("$main", 0, szErrorText))
{ {
pCompiler->error(szErrorText); pCompiler->error(szErrorText);
YYERROR; YYERROR;
} }
} }
#line 2059 "parser.tab.cpp" /* yacc.c:1652 */ #line 2055 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 4: case 4:
#line 156 "parser.y" /* yacc.c:1652 */ #line 156 "parser.y" /* yacc.c:1652 */
{ {
char szErrorText[256]; char szErrorText[256];
// Add implicit return // Add implicit return
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_RET_NULL); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_RET_NULL);
// Add implicit main() function // Add implicit main() function
if (!pScript->addFunction("$main", 0, szErrorText)) if (!pScript->addFunction("$main", 0, szErrorText))
{ {
pCompiler->error(szErrorText); pCompiler->error(szErrorText);
YYERROR; YYERROR;
} }
} }
#line 2077 "parser.tab.cpp" /* yacc.c:1652 */ #line 2073 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 14: case 14:
#line 194 "parser.y" /* yacc.c:1652 */ #line 194 "parser.y" /* yacc.c:1652 */
{ {
if (!pScript->addConstant((yyvsp[-2].valIdentifier), (yyvsp[0].constant)) ) if (!pScript->addConstant((yyvsp[-2].valIdentifier), (yyvsp[0].constant)) )
{ {
pCompiler->error("Constant already defined"); pCompiler->error("Constant already defined");
pScript->destroyValue((yyvsp[0].constant)); pScript->destroyValue((yyvsp[0].constant));
(yyvsp[0].constant) = nullptr; (yyvsp[0].constant) = nullptr;
YYERROR; YYERROR;
} }
(yyvsp[0].constant) = nullptr; (yyvsp[0].constant) = nullptr;
} }
#line 2092 "parser.tab.cpp" /* yacc.c:1652 */ #line 2088 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 15: case 15:
#line 208 "parser.y" /* yacc.c:1652 */ #line 208 "parser.y" /* yacc.c:1652 */
{ {
pScript->addRequiredModule((yyvsp[-1].valIdentifier).v, pLexer->getCurrLi ne(), false); pScript->addRequiredModule((yyvsp[-1].valIdentifier).v, pLexer->getCurrLi ne(), false);
} }
#line 2100 "parser.tab.cpp" /* yacc.c:1652 */ #line 2096 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 18: case 18:
#line 220 "parser.y" /* yacc.c:1652 */ #line 220 "parser.y" /* yacc.c:1652 */
{ {
char szErrorText[256]; char szErrorText[256];
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, INVALI D_ADDRESS); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, INVALI D_ADDRESS);
if (!pScript->addFunction((yyvsp[0].valIdentifier), INVALID_ADDRE SS, szErrorText)) if (!pScript->addFunction((yyvsp[0].valIdentifier), INVALID_ADDRE SS, szErrorText))
{ {
pCompiler->error(szErrorText); pCompiler->error(szErrorText);
YYERROR; YYERROR;
} }
pCompiler->setIdentifierOperation(OPCODE_BIND); pCompiler->setIdentifierOperation(OPCODE_BIND);
} }
#line 2117 "parser.tab.cpp" /* yacc.c:1652 */ #line 2113 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 19: case 19:
#line 233 "parser.y" /* yacc.c:1652 */ #line 233 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_RET_NULL); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_RET_NULL);
pScript->resolveLastJump(OPCODE_JMP); pScript->resolveLastJump(OPCODE_JMP);
} }
#line 2126 "parser.tab.cpp" /* yacc.c:1652 */ #line 2122 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 22: case 22:
#line 246 "parser.y" /* yacc.c:1652 */ #line 246 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), pCompiler->getIden tifierOperation(), (yyvsp[0].valIdentifier)); pScript->addInstruction(pLexer->getCurrLine(), pCompiler->getIden tifierOperation(), (yyvsp[0].valIdentifier));
} }
#line 2134 "parser.tab.cpp" /* yacc.c:1652 */ #line 2130 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 24: case 24:
#line 251 "parser.y" /* yacc.c:1652 */ #line 251 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), pCompiler->getIden tifierOperation(), (yyvsp[0].valIdentifier)); pScript->addInstruction(pLexer->getCurrLine(), pCompiler->getIden tifierOperation(), (yyvsp[0].valIdentifier));
} }
#line 2142 "parser.tab.cpp" /* yacc.c:1652 */ #line 2138 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 31: case 31:
#line 273 "parser.y" /* yacc.c:1652 */ #line 273 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CATCH, INVA LID_ADDRESS); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CATCH, INVA LID_ADDRESS);
} }
#line 2150 "parser.tab.cpp" /* yacc.c:1652 */ #line 2146 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 32: case 32:
#line 277 "parser.y" /* yacc.c:1652 */ #line 277 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CPOP); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CPOP);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, INVALI D_ADDRESS); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, INVALI D_ADDRESS);
pScript->resolveLastJump(OPCODE_CATCH); pScript->resolveLastJump(OPCODE_CATCH);
} }
#line 2160 "parser.tab.cpp" /* yacc.c:1652 */ #line 2156 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 33: case 33:
#line 283 "parser.y" /* yacc.c:1652 */ #line 283 "parser.y" /* yacc.c:1652 */
{ {
pScript->resolveLastJump(OPCODE_JMP); pScript->resolveLastJump(OPCODE_JMP);
} }
#line 2168 "parser.tab.cpp" /* yacc.c:1652 */ #line 2164 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 34: case 34:
#line 290 "parser.y" /* yacc.c:1652 */ #line 290 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_POP, static_cast<in t16_t>(1)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_POP, static_cast<in t16_t>(1));
} }
#line 2176 "parser.tab.cpp" /* yacc.c:1652 */ #line 2172 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 36: case 36:
#line 295 "parser.y" /* yacc.c:1652 */ #line 295 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NOP); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NOP);
} }
#line 2184 "parser.tab.cpp" /* yacc.c:1652 */ #line 2180 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 37: case 37:
#line 302 "parser.y" /* yacc.c:1652 */ #line 302 "parser.y" /* yacc.c:1652 */
{ {
pScript->enableExpressionVariables(); pScript->enableExpressionVariables();
} }
#line 2192 "parser.tab.cpp" /* yacc.c:1652 */ #line 2188 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 38: case 38:
#line 306 "parser.y" /* yacc.c:1652 */ #line 306 "parser.y" /* yacc.c:1652 */
{ {
pScript->disableExpressionVariables(pLexer->getCurrLine()); pScript->disableExpressionVariables(pLexer->getCurrLine());
} }
#line 2200 "parser.tab.cpp" /* yacc.c:1652 */ #line 2196 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 42: case 42:
#line 319 "parser.y" /* yacc.c:1652 */ #line 319 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, INVALID_ADDRES S); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, INVALID_ADDRES S);
pScript->registerExpressionVariable((yyvsp[0].valIdentifier)); pScript->registerExpressionVariable((yyvsp[0].valIdentifier));
} }
#line 2209 "parser.tab.cpp" /* yacc.c:1652 */ #line 2205 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 43: case 43:
#line 324 "parser.y" /* yacc.c:1652 */ #line 324 "parser.y" /* yacc.c:1652 */
{ {
pScript->resolveLastJump(OPCODE_JMP); pScript->resolveLastJump(OPCODE_JMP);
} }
#line 2217 "parser.tab.cpp" /* yacc.c:1652 */ #line 2213 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 44: case 44:
#line 331 "parser.y" /* yacc.c:1652 */ #line 331 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_RET_NULL); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_RET_NULL);
} }
#line 2225 "parser.tab.cpp" /* yacc.c:1652 */ #line 2221 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 45: case 45:
#line 335 "parser.y" /* yacc.c:1652 */ #line 335 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_RETURN); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_RETURN);
} }
#line 2233 "parser.tab.cpp" /* yacc.c:1652 */ #line 2229 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 47: case 47:
#line 343 "parser.y" /* yacc.c:1652 */ #line 343 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-2].val Identifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-2].val Identifier));
} }
#line 2241 "parser.tab.cpp" /* yacc.c:1652 */ #line 2237 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 48: case 48:
#line 346 "parser.y" /* yacc.c:1652 */ #line 346 "parser.y" /* yacc.c:1652 */
{ pScript->addPushVariableInstruction((yyvsp[-1].valIdentifier), pLexer->get CurrLine()); } { pScript->addPushVariableInstruction((yyvsp[-1].valIdentifier), pLexer->get CurrLine()); }
#line 2247 "parser.tab.cpp" /* yacc.c:1652 */ #line 2243 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 49: case 49:
#line 347 "parser.y" /* yacc.c:1652 */ #line 347 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_ADD); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_ADD);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-3].val Identifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-3].val Identifier));
} }
#line 2256 "parser.tab.cpp" /* yacc.c:1652 */ #line 2252 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 50: case 50:
#line 351 "parser.y" /* yacc.c:1652 */ #line 351 "parser.y" /* yacc.c:1652 */
{ pScript->addPushVariableInstruction((yyvsp[-1].valIdentifier), pLexer->get CurrLine()); } { pScript->addPushVariableInstruction((yyvsp[-1].valIdentifier), pLexer->get CurrLine()); }
#line 2262 "parser.tab.cpp" /* yacc.c:1652 */ #line 2258 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 51: case 51:
#line 352 "parser.y" /* yacc.c:1652 */ #line 352 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SUB); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SUB);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-3].val Identifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-3].val Identifier));
} }
#line 2271 "parser.tab.cpp" /* yacc.c:1652 */ #line 2267 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 52: case 52:
#line 356 "parser.y" /* yacc.c:1652 */ #line 356 "parser.y" /* yacc.c:1652 */
{ pScript->addPushVariableInstruction((yyvsp[-1].valIdentifier), pLexer->get CurrLine()); } { pScript->addPushVariableInstruction((yyvsp[-1].valIdentifier), pLexer->get CurrLine()); }
#line 2277 "parser.tab.cpp" /* yacc.c:1652 */ #line 2273 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 53: case 53:
#line 357 "parser.y" /* yacc.c:1652 */ #line 357 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_MUL); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_MUL);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-3].val Identifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-3].val Identifier));
} }
#line 2286 "parser.tab.cpp" /* yacc.c:1652 */ #line 2282 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 54: case 54:
#line 361 "parser.y" /* yacc.c:1652 */ #line 361 "parser.y" /* yacc.c:1652 */
{ pScript->addPushVariableInstruction((yyvsp[-1].valIdentifier), pLexer->get CurrLine()); } { pScript->addPushVariableInstruction((yyvsp[-1].valIdentifier), pLexer->get CurrLine()); }
#line 2292 "parser.tab.cpp" /* yacc.c:1652 */ #line 2288 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 55: case 55:
#line 362 "parser.y" /* yacc.c:1652 */ #line 362 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_DIV); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_DIV);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-3].val Identifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-3].val Identifier));
} }
#line 2301 "parser.tab.cpp" /* yacc.c:1652 */ #line 2297 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 56: case 56:
#line 366 "parser.y" /* yacc.c:1652 */ #line 366 "parser.y" /* yacc.c:1652 */
{ pScript->addPushVariableInstruction((yyvsp[-1].valIdentifier), pLexer->get CurrLine()); } { pScript->addPushVariableInstruction((yyvsp[-1].valIdentifier), pLexer->get CurrLine()); }
#line 2307 "parser.tab.cpp" /* yacc.c:1652 */ #line 2303 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 57: case 57:
#line 367 "parser.y" /* yacc.c:1652 */ #line 367 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_REM); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_REM);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-3].val Identifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-3].val Identifier));
} }
#line 2316 "parser.tab.cpp" /* yacc.c:1652 */ #line 2312 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 58: case 58:
#line 371 "parser.y" /* yacc.c:1652 */ #line 371 "parser.y" /* yacc.c:1652 */
{ pScript->addPushVariableInstruction((yyvsp[-1].valIdentifier), pLexer->get CurrLine()); } { pScript->addPushVariableInstruction((yyvsp[-1].valIdentifier), pLexer->get CurrLine()); }
#line 2322 "parser.tab.cpp" /* yacc.c:1652 */ #line 2318 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 59: case 59:
#line 372 "parser.y" /* yacc.c:1652 */ #line 372 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CONCAT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CONCAT);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-3].val Identifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-3].val Identifier));
} }
#line 2331 "parser.tab.cpp" /* yacc.c:1652 */ #line 2327 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 60: case 60:
#line 376 "parser.y" /* yacc.c:1652 */ #line 376 "parser.y" /* yacc.c:1652 */
{ pScript->addPushVariableInstruction((yyvsp[-1].valIdentifier), pLexer->get CurrLine()); } { pScript->addPushVariableInstruction((yyvsp[-1].valIdentifier), pLexer->get CurrLine()); }
#line 2337 "parser.tab.cpp" /* yacc.c:1652 */ #line 2333 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 61: case 61:
#line 377 "parser.y" /* yacc.c:1652 */ #line 377 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_AND); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_AND);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-3].val Identifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-3].val Identifier));
} }
#line 2346 "parser.tab.cpp" /* yacc.c:1652 */ #line 2342 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 62: case 62:
#line 381 "parser.y" /* yacc.c:1652 */ #line 381 "parser.y" /* yacc.c:1652 */
{ pScript->addPushVariableInstruction((yyvsp[-1].valIdentifier), pLexer->get CurrLine()); } { pScript->addPushVariableInstruction((yyvsp[-1].valIdentifier), pLexer->get CurrLine()); }
#line 2352 "parser.tab.cpp" /* yacc.c:1652 */ #line 2348 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 63: case 63:
#line 382 "parser.y" /* yacc.c:1652 */ #line 382 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_OR); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_OR);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-3].val Identifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-3].val Identifier));
} }
#line 2361 "parser.tab.cpp" /* yacc.c:1652 */ #line 2357 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 64: case 64:
#line 386 "parser.y" /* yacc.c:1652 */ #line 386 "parser.y" /* yacc.c:1652 */
{ pScript->addPushVariableInstruction((yyvsp[-1].valIdentifier), pLexer->get CurrLine()); } { pScript->addPushVariableInstruction((yyvsp[-1].valIdentifier), pLexer->get CurrLine()); }
#line 2367 "parser.tab.cpp" /* yacc.c:1652 */ #line 2363 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 65: case 65:
#line 387 "parser.y" /* yacc.c:1652 */ #line 387 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_XOR); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_XOR);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-3].val Identifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET, (yyvsp[-3].val Identifier));
} }
#line 2376 "parser.tab.cpp" /* yacc.c:1652 */ #line 2372 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 66: case 66:
#line 391 "parser.y" /* yacc.c:1652 */ #line 391 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ, static _cast<int16_t>(1)); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ, static _cast<int16_t>(1)); }
#line 2382 "parser.tab.cpp" /* yacc.c:1652 */ #line 2378 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 67: case 67:
#line 392 "parser.y" /* yacc.c:1652 */ #line 392 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_ADD); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_ADD);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE);
} }
#line 2391 "parser.tab.cpp" /* yacc.c:1652 */ #line 2387 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 68: case 68:
#line 396 "parser.y" /* yacc.c:1652 */ #line 396 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ, static _cast<int16_t>(1)); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ, static _cast<int16_t>(1)); }
#line 2397 "parser.tab.cpp" /* yacc.c:1652 */ #line 2393 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 69: case 69:
#line 397 "parser.y" /* yacc.c:1652 */ #line 397 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SUB); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SUB);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE);
} }
#line 2406 "parser.tab.cpp" /* yacc.c:1652 */ #line 2402 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 70: case 70:
#line 401 "parser.y" /* yacc.c:1652 */ #line 401 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ, static _cast<int16_t>(1)); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ, static _cast<int16_t>(1)); }
#line 2412 "parser.tab.cpp" /* yacc.c:1652 */ #line 2408 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 71: case 71:
#line 402 "parser.y" /* yacc.c:1652 */ #line 402 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_MUL); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_MUL);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE);
} }
#line 2421 "parser.tab.cpp" /* yacc.c:1652 */ #line 2417 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 72: case 72:
#line 406 "parser.y" /* yacc.c:1652 */ #line 406 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ, static _cast<int16_t>(1)); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ, static _cast<int16_t>(1)); }
#line 2427 "parser.tab.cpp" /* yacc.c:1652 */ #line 2423 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 73: case 73:
#line 407 "parser.y" /* yacc.c:1652 */ #line 407 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_DIV); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_DIV);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE);
} }
#line 2436 "parser.tab.cpp" /* yacc.c:1652 */ #line 2432 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 74: case 74:
#line 411 "parser.y" /* yacc.c:1652 */ #line 411 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ, static _cast<int16_t>(1)); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ, static _cast<int16_t>(1)); }
#line 2442 "parser.tab.cpp" /* yacc.c:1652 */ #line 2438 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 75: case 75:
#line 412 "parser.y" /* yacc.c:1652 */ #line 412 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_REM); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_REM);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE);
} }
#line 2451 "parser.tab.cpp" /* yacc.c:1652 */ #line 2447 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 76: case 76:
#line 416 "parser.y" /* yacc.c:1652 */ #line 416 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ, static _cast<int16_t>(1)); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ, static _cast<int16_t>(1)); }
#line 2457 "parser.tab.cpp" /* yacc.c:1652 */ #line 2453 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 77: case 77:
#line 417 "parser.y" /* yacc.c:1652 */ #line 417 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CONCAT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CONCAT);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE);
} }
#line 2466 "parser.tab.cpp" /* yacc.c:1652 */ #line 2462 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 78: case 78:
#line 421 "parser.y" /* yacc.c:1652 */ #line 421 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ, static _cast<int16_t>(1)); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ, static _cast<int16_t>(1)); }
#line 2472 "parser.tab.cpp" /* yacc.c:1652 */ #line 2468 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 79: case 79:
#line 422 "parser.y" /* yacc.c:1652 */ #line 422 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_AND); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_AND);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE);
} }
#line 2481 "parser.tab.cpp" /* yacc.c:1652 */ #line 2477 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 80: case 80:
#line 426 "parser.y" /* yacc.c:1652 */ #line 426 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ, static _cast<int16_t>(1)); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ, static _cast<int16_t>(1)); }
#line 2487 "parser.tab.cpp" /* yacc.c:1652 */ #line 2483 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 81: case 81:
#line 427 "parser.y" /* yacc.c:1652 */ #line 427 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_OR); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_OR);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE);
} }
#line 2496 "parser.tab.cpp" /* yacc.c:1652 */ #line 2492 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 82: case 82:
#line 431 "parser.y" /* yacc.c:1652 */ #line 431 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ, static _cast<int16_t>(1)); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ, static _cast<int16_t>(1)); }
#line 2502 "parser.tab.cpp" /* yacc.c:1652 */ #line 2498 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 83: case 83:
#line 432 "parser.y" /* yacc.c:1652 */ #line 432 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_XOR); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_XOR);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE);
} }
#line 2511 "parser.tab.cpp" /* yacc.c:1652 */ #line 2507 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 84: case 84:
#line 437 "parser.y" /* yacc.c:1652 */ #line 437 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ELEMENT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ELEMENT);
} }
#line 2519 "parser.tab.cpp" /* yacc.c:1652 */ #line 2515 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 85: case 85:
#line 440 "parser.y" /* yacc.c:1652 */ #line 440 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PEEK_ELEMENT); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PEEK_ELEMENT); }
#line 2525 "parser.tab.cpp" /* yacc.c:1652 */ #line 2521 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 86: case 86:
#line 441 "parser.y" /* yacc.c:1652 */ #line 441 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_ADD); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_ADD);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ELEMENT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ELEMENT);
} }
#line 2534 "parser.tab.cpp" /* yacc.c:1652 */ #line 2530 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 87: case 87:
#line 445 "parser.y" /* yacc.c:1652 */ #line 445 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PEEK_ELEMENT); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PEEK_ELEMENT); }
#line 2540 "parser.tab.cpp" /* yacc.c:1652 */ #line 2536 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 88: case 88:
#line 446 "parser.y" /* yacc.c:1652 */ #line 446 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SUB); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SUB);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ELEMENT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ELEMENT);
} }
#line 2549 "parser.tab.cpp" /* yacc.c:1652 */ #line 2545 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 89: case 89:
#line 450 "parser.y" /* yacc.c:1652 */ #line 450 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PEEK_ELEMENT); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PEEK_ELEMENT); }
#line 2555 "parser.tab.cpp" /* yacc.c:1652 */ #line 2551 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 90: case 90:
#line 451 "parser.y" /* yacc.c:1652 */ #line 451 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_MUL); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_MUL);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ELEMENT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ELEMENT);
} }
#line 2564 "parser.tab.cpp" /* yacc.c:1652 */ #line 2560 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 91: case 91:
#line 455 "parser.y" /* yacc.c:1652 */ #line 455 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PEEK_ELEMENT); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PEEK_ELEMENT); }
#line 2570 "parser.tab.cpp" /* yacc.c:1652 */ #line 2566 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 92: case 92:
#line 456 "parser.y" /* yacc.c:1652 */ #line 456 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_DIV); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_DIV);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ELEMENT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ELEMENT);
} }
#line 2579 "parser.tab.cpp" /* yacc.c:1652 */ #line 2575 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 93: case 93:
#line 460 "parser.y" /* yacc.c:1652 */ #line 460 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PEEK_ELEMENT); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PEEK_ELEMENT); }
#line 2585 "parser.tab.cpp" /* yacc.c:1652 */ #line 2581 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 94: case 94:
#line 461 "parser.y" /* yacc.c:1652 */ #line 461 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CONCAT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CONCAT);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ELEMENT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ELEMENT);
} }
#line 2594 "parser.tab.cpp" /* yacc.c:1652 */ #line 2590 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 95: case 95:
#line 465 "parser.y" /* yacc.c:1652 */ #line 465 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PEEK_ELEMENT); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PEEK_ELEMENT); }
#line 2600 "parser.tab.cpp" /* yacc.c:1652 */ #line 2596 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 96: case 96:
#line 466 "parser.y" /* yacc.c:1652 */ #line 466 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_AND); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_AND);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ELEMENT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ELEMENT);
} }
#line 2609 "parser.tab.cpp" /* yacc.c:1652 */ #line 2605 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 97: case 97:
#line 470 "parser.y" /* yacc.c:1652 */ #line 470 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PEEK_ELEMENT); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PEEK_ELEMENT); }
#line 2615 "parser.tab.cpp" /* yacc.c:1652 */ #line 2611 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 98: case 98:
#line 471 "parser.y" /* yacc.c:1652 */ #line 471 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_OR); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_OR);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ELEMENT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ELEMENT);
} }
#line 2624 "parser.tab.cpp" /* yacc.c:1652 */ #line 2620 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 99: case 99:
#line 475 "parser.y" /* yacc.c:1652 */ #line 475 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PEEK_ELEMENT); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PEEK_ELEMENT); }
#line 2630 "parser.tab.cpp" /* yacc.c:1652 */ #line 2626 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 100: case 100:
#line 476 "parser.y" /* yacc.c:1652 */ #line 476 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_XOR); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_XOR);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ELEMENT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ELEMENT);
} }
#line 2639 "parser.tab.cpp" /* yacc.c:1652 */ #line 2635 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 101: case 101:
#line 481 "parser.y" /* yacc.c:1652 */ #line 481 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_GET_ELEMENT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_GET_ELEMENT);
} }
#line 2647 "parser.tab.cpp" /* yacc.c:1652 */ #line 2643 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 102: case 102:
#line 485 "parser.y" /* yacc.c:1652 */ #line 485 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_GET_RANGE); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_GET_RANGE);
} }
#line 2655 "parser.tab.cpp" /* yacc.c:1652 */ #line 2651 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 103: case 103:
#line 489 "parser.y" /* yacc.c:1652 */ #line 489 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_WRITE);
} }
#line 2663 "parser.tab.cpp" /* yacc.c:1652 */ #line 2659 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 104: case 104:
#line 493 "parser.y" /* yacc.c:1652 */ #line 493 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_READ);
} }
#line 2671 "parser.tab.cpp" /* yacc.c:1652 */ #line 2667 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 105: case 105:
#line 497 "parser.y" /* yacc.c:1652 */ #line 497 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ATTRIBUTE, (yyv sp[-2].valIdentifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SET_ATTRIBUTE, (yyv sp[-2].valIdentifier));
} }
#line 2679 "parser.tab.cpp" /* yacc.c:1652 */ #line 2675 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 106: case 106:
#line 501 "parser.y" /* yacc.c:1652 */ #line 501 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_GET_ATTRIBUTE, (yyv sp[0].valIdentifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_GET_ATTRIBUTE, (yyv sp[0].valIdentifier));
} }
#line 2687 "parser.tab.cpp" /* yacc.c:1652 */ #line 2683 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 107: case 107:
#line 505 "parser.y" /* yacc.c:1652 */ #line 505 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CALL_METHOD, (yyvsp [-2].valIdentifier), (yyvsp[-1].valInt32)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CALL_METHOD, (yyvsp [-2].valIdentifier), (yyvsp[-1].valInt32));
} }
#line 2695 "parser.tab.cpp" /* yacc.c:1652 */ #line 2691 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 108: case 108:
#line 509 "parser.y" /* yacc.c:1652 */ #line 509 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CALL_METHOD, (yyvsp [-1].valIdentifier), 0); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CALL_METHOD, (yyvsp [-1].valIdentifier), 0);
} }
#line 2703 "parser.tab.cpp" /* yacc.c:1652 */ #line 2699 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 109: case 109:
#line 513 "parser.y" /* yacc.c:1652 */ #line 513 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SAFE_GET_ATTR, (yyv sp[-2].valIdentifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SAFE_GET_ATTR, (yyv sp[-2].valIdentifier));
} }
#line 2711 "parser.tab.cpp" /* yacc.c:1652 */ #line 2707 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 110: case 110:
#line 517 "parser.y" /* yacc.c:1652 */ #line 517 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NEG); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NEG);
} }
#line 2719 "parser.tab.cpp" /* yacc.c:1652 */ #line 2715 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 111: case 111:
#line 521 "parser.y" /* yacc.c:1652 */ #line 521 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NOT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NOT);
} }
#line 2727 "parser.tab.cpp" /* yacc.c:1652 */ #line 2723 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 112: case 112:
#line 525 "parser.y" /* yacc.c:1652 */ #line 525 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_NOT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_NOT);
} }
#line 2735 "parser.tab.cpp" /* yacc.c:1652 */ #line 2731 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 113: case 113:
#line 529 "parser.y" /* yacc.c:1652 */ #line 529 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_INCP, (yyvsp[0].val Identifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_INCP, (yyvsp[0].val Identifier));
} }
#line 2743 "parser.tab.cpp" /* yacc.c:1652 */ #line 2739 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 114: case 114:
#line 533 "parser.y" /* yacc.c:1652 */ #line 533 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_DECP, (yyvsp[0].val Identifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_DECP, (yyvsp[0].val Identifier));
} }
#line 2751 "parser.tab.cpp" /* yacc.c:1652 */ #line 2747 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 115: case 115:
#line 537 "parser.y" /* yacc.c:1652 */ #line 537 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_INC, (yyvsp[-1].val Identifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_INC, (yyvsp[-1].val Identifier));
} }
#line 2759 "parser.tab.cpp" /* yacc.c:1652 */ #line 2755 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 116: case 116:
#line 541 "parser.y" /* yacc.c:1652 */ #line 541 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_DEC, (yyvsp[-1].val Identifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_DEC, (yyvsp[-1].val Identifier));
} }
#line 2767 "parser.tab.cpp" /* yacc.c:1652 */ #line 2763 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 117: case 117:
#line 545 "parser.y" /* yacc.c:1652 */ #line 545 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_INCP); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_INCP);
} }
#line 2775 "parser.tab.cpp" /* yacc.c:1652 */ #line 2771 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 118: case 118:
#line 549 "parser.y" /* yacc.c:1652 */ #line 549 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_DECP); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_DECP);
} }
#line 2783 "parser.tab.cpp" /* yacc.c:1652 */ #line 2779 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 119: case 119:
#line 553 "parser.y" /* yacc.c:1652 */ #line 553 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_INC); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_INC);
} }
#line 2791 "parser.tab.cpp" /* yacc.c:1652 */ #line 2787 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 120: case 120:
#line 557 "parser.y" /* yacc.c:1652 */ #line 557 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_DEC); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_STORAGE_DEC);
} }
#line 2799 "parser.tab.cpp" /* yacc.c:1652 */ #line 2795 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 121: case 121:
#line 561 "parser.y" /* yacc.c:1652 */ #line 561 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_INCP_ELEMENT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_INCP_ELEMENT);
} }
#line 2807 "parser.tab.cpp" /* yacc.c:1652 */ #line 2803 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 122: case 122:
#line 565 "parser.y" /* yacc.c:1652 */ #line 565 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_DECP_ELEMENT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_DECP_ELEMENT);
} }
#line 2815 "parser.tab.cpp" /* yacc.c:1652 */ #line 2811 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 123: case 123:
#line 569 "parser.y" /* yacc.c:1652 */ #line 569 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_INC_ELEMENT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_INC_ELEMENT);
} }
#line 2823 "parser.tab.cpp" /* yacc.c:1652 */ #line 2819 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 124: case 124:
#line 573 "parser.y" /* yacc.c:1652 */ #line 573 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_DEC_ELEMENT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_DEC_ELEMENT);
} }
#line 2831 "parser.tab.cpp" /* yacc.c:1652 */ #line 2827 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 125: case 125:
#line 577 "parser.y" /* yacc.c:1652 */ #line 577 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_ADD); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_ADD);
} }
#line 2839 "parser.tab.cpp" /* yacc.c:1652 */ #line 2835 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 126: case 126:
#line 581 "parser.y" /* yacc.c:1652 */ #line 581 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SUB); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SUB);
} }
#line 2847 "parser.tab.cpp" /* yacc.c:1652 */ #line 2843 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 127: case 127:
#line 585 "parser.y" /* yacc.c:1652 */ #line 585 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_MUL); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_MUL);
} }
#line 2855 "parser.tab.cpp" /* yacc.c:1652 */ #line 2851 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 128: case 128:
#line 589 "parser.y" /* yacc.c:1652 */ #line 589 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_DIV); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_DIV);
} }
#line 2863 "parser.tab.cpp" /* yacc.c:1652 */ #line 2859 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 129: case 129:
#line 593 "parser.y" /* yacc.c:1652 */ #line 593 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_REM); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_REM);
} }
#line 2871 "parser.tab.cpp" /* yacc.c:1652 */ #line 2867 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 130: case 130:
#line 597 "parser.y" /* yacc.c:1652 */ #line 597 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_LIKE); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_LIKE);
} }
#line 2879 "parser.tab.cpp" /* yacc.c:1652 */ #line 2875 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 131: case 131:
#line 601 "parser.y" /* yacc.c:1652 */ #line 601 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_ILIKE); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_ILIKE);
} }
#line 2887 "parser.tab.cpp" /* yacc.c:1652 */ #line 2883 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 132: case 132:
#line 605 "parser.y" /* yacc.c:1652 */ #line 605 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_MATCH); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_MATCH);
} }
#line 2895 "parser.tab.cpp" /* yacc.c:1652 */ #line 2891 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 133: case 133:
#line 609 "parser.y" /* yacc.c:1652 */ #line 609 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_IMATCH); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_IMATCH);
} }
#line 2903 "parser.tab.cpp" /* yacc.c:1652 */ #line 2899 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 134: case 134:
#line 613 "parser.y" /* yacc.c:1652 */ #line 613 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_IN); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_IN);
} }
#line 2911 "parser.tab.cpp" /* yacc.c:1652 */ #line 2907 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 135: case 135:
#line 617 "parser.y" /* yacc.c:1652 */ #line 617 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_EQ); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_EQ);
} }
#line 2919 "parser.tab.cpp" /* yacc.c:1652 */ #line 2915 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 136: case 136:
#line 621 "parser.y" /* yacc.c:1652 */ #line 621 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NE); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NE);
} }
#line 2927 "parser.tab.cpp" /* yacc.c:1652 */ #line 2923 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 137: case 137:
#line 625 "parser.y" /* yacc.c:1652 */ #line 625 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_LT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_LT);
} }
#line 2935 "parser.tab.cpp" /* yacc.c:1652 */ #line 2931 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 138: case 138:
#line 629 "parser.y" /* yacc.c:1652 */ #line 629 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_LE); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_LE);
} }
#line 2943 "parser.tab.cpp" /* yacc.c:1652 */ #line 2939 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 139: case 139:
#line 633 "parser.y" /* yacc.c:1652 */ #line 633 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_GT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_GT);
} }
#line 2951 "parser.tab.cpp" /* yacc.c:1652 */ #line 2947 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 140: case 140:
#line 637 "parser.y" /* yacc.c:1652 */ #line 637 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_GE); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_GE);
} }
#line 2959 "parser.tab.cpp" /* yacc.c:1652 */ #line 2955 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 141: case 141:
#line 641 "parser.y" /* yacc.c:1652 */ #line 641 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_AND); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_AND);
} }
#line 2967 "parser.tab.cpp" /* yacc.c:1652 */ #line 2963 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 142: case 142:
#line 645 "parser.y" /* yacc.c:1652 */ #line 645 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_OR); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_OR);
} }
#line 2975 "parser.tab.cpp" /* yacc.c:1652 */ #line 2971 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 143: case 143:
#line 649 "parser.y" /* yacc.c:1652 */ #line 649 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_XOR); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_BIT_XOR);
} }
#line 2983 "parser.tab.cpp" /* yacc.c:1652 */ #line 2979 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 144: case 144:
#line 652 "parser.y" /* yacc.c:1652 */ #line 652 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JZ_PEEK, INVALID_ADD RESS); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JZ_PEEK, INVALID_ADD RESS); }
#line 2989 "parser.tab.cpp" /* yacc.c:1652 */ #line 2985 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 145: case 145:
#line 653 "parser.y" /* yacc.c:1652 */ #line 653 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_AND); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_AND);
pScript->resolveLastJump(OPCODE_JZ_PEEK); pScript->resolveLastJump(OPCODE_JZ_PEEK);
} }
#line 2998 "parser.tab.cpp" /* yacc.c:1652 */ #line 2994 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 146: case 146:
#line 657 "parser.y" /* yacc.c:1652 */ #line 657 "parser.y" /* yacc.c:1652 */
{ pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JNZ_PEEK, INVALID_AD DRESS); } { pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JNZ_PEEK, INVALID_AD DRESS); }
#line 3004 "parser.tab.cpp" /* yacc.c:1652 */ #line 3000 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 147: case 147:
#line 658 "parser.y" /* yacc.c:1652 */ #line 658 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_OR); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_OR);
pScript->resolveLastJump(OPCODE_JNZ_PEEK); pScript->resolveLastJump(OPCODE_JNZ_PEEK);
} }
#line 3013 "parser.tab.cpp" /* yacc.c:1652 */ #line 3009 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 148: case 148:
#line 663 "parser.y" /* yacc.c:1652 */ #line 663 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_LSHIFT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_LSHIFT);
} }
#line 3021 "parser.tab.cpp" /* yacc.c:1652 */ #line 3017 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 149: case 149:
#line 667 "parser.y" /* yacc.c:1652 */ #line 667 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_RSHIFT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_RSHIFT);
} }
#line 3029 "parser.tab.cpp" /* yacc.c:1652 */ #line 3025 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 150: case 150:
#line 671 "parser.y" /* yacc.c:1652 */ #line 671 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CONCAT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CONCAT);
} }
#line 3037 "parser.tab.cpp" /* yacc.c:1652 */ #line 3033 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 151: case 151:
#line 675 "parser.y" /* yacc.c:1652 */ #line 675 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JZ, INVALID_ADDRESS ); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JZ, INVALID_ADDRESS );
} }
#line 3045 "parser.tab.cpp" /* yacc.c:1652 */ #line 3041 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 152: case 152:
#line 679 "parser.y" /* yacc.c:1652 */ #line 679 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, INVALID_ADDRES S); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, INVALID_ADDRES S);
pScript->resolveLastJump(OPCODE_JZ); pScript->resolveLastJump(OPCODE_JZ);
} }
#line 3054 "parser.tab.cpp" /* yacc.c:1652 */ #line 3050 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 153: case 153:
#line 684 "parser.y" /* yacc.c:1652 */ #line 684 "parser.y" /* yacc.c:1652 */
{ {
pScript->resolveLastJump(OPCODE_JMP); pScript->resolveLastJump(OPCODE_JMP);
} }
#line 3062 "parser.tab.cpp" /* yacc.c:1652 */ #line 3058 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 156: case 156:
#line 693 "parser.y" /* yacc.c:1652 */ #line 693 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTANT, pScr ipt->createValue()); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTANT, pScr ipt->createValue());
} }
#line 3070 "parser.tab.cpp" /* yacc.c:1652 */ #line 3066 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 162: case 162:
#line 705 "parser.y" /* yacc.c:1652 */ #line 705 "parser.y" /* yacc.c:1652 */
{ {
pScript->addPushVariableInstruction((yyvsp[0].valIdentifier), pLexer->get CurrLine()); pScript->addPushVariableInstruction((yyvsp[0].valIdentifier), pLexer->get CurrLine());
} }
#line 3078 "parser.tab.cpp" /* yacc.c:1652 */ #line 3074 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 163: case 163:
#line 709 "parser.y" /* yacc.c:1652 */ #line 709 "parser.y" /* yacc.c:1652 */
{ {
// Special case for VM properties // Special case for VM properties
if (!strcmp((yyvsp[0].valIdentifier).v, "NXSL::Classes") || !strcmp((yyvsp[0] .valIdentifier).v, "NXSL::Functions")) if (!strcmp((yyvsp[0].valIdentifier).v, "NXSL::Classes") || !strcmp((yyvsp[0] .valIdentifier).v, "NXSL::Functions"))
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_PROPERTY, (yyvs p[0].valIdentifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_PROPERTY, (yyvs p[0].valIdentifier));
else else
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTR EF, (yyvsp[0].valIdentifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTR EF, (yyvsp[0].valIdentifier));
} }
#line 3090 "parser.tab.cpp" /* yacc.c:1652 */ #line 3086 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 164: case 164:
#line 717 "parser.y" /* yacc.c:1652 */ #line 717 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTANT, (yyv sp[0].constant)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTANT, (yyv sp[0].constant));
(yyvsp[0].constant) = NULL; (yyvsp[0].constant) = NULL;
} }
#line 3099 "parser.tab.cpp" /* yacc.c:1652 */ #line 3095 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 165: case 165:
#line 725 "parser.y" /* yacc.c:1652 */ #line 725 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CAST, static_cast<i nt16_t>((yyvsp[-3].valInt32))); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CAST, static_cast<i nt16_t>((yyvsp[-3].valInt32)));
} }
#line 3107 "parser.tab.cpp" /* yacc.c:1652 */ #line 3103 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 166: case 166:
#line 732 "parser.y" /* yacc.c:1652 */ #line 732 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NEW_ARRAY); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NEW_ARRAY);
} }
#line 3115 "parser.tab.cpp" /* yacc.c:1652 */ #line 3111 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 168: case 168:
#line 737 "parser.y" /* yacc.c:1652 */ #line 737 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NEW_ARRAY); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NEW_ARRAY);
} }
#line 3123 "parser.tab.cpp" /* yacc.c:1652 */ #line 3119 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 169: case 169:
#line 744 "parser.y" /* yacc.c:1652 */ #line 744 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_ADD_TO_ARRAY); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_ADD_TO_ARRAY);
} }
#line 3131 "parser.tab.cpp" /* yacc.c:1652 */ #line 3127 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 171: case 171:
#line 749 "parser.y" /* yacc.c:1652 */ #line 749 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_ADD_TO_ARRAY); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_ADD_TO_ARRAY);
} }
#line 3139 "parser.tab.cpp" /* yacc.c:1652 */ #line 3135 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 172: case 172:
#line 756 "parser.y" /* yacc.c:1652 */ #line 756 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NEW_HASHMAP); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NEW_HASHMAP);
} }
#line 3147 "parser.tab.cpp" /* yacc.c:1652 */ #line 3143 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 174: case 174:
#line 761 "parser.y" /* yacc.c:1652 */ #line 761 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NEW_HASHMAP); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NEW_HASHMAP);
} }
#line 3155 "parser.tab.cpp" /* yacc.c:1652 */ #line 3151 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 177: case 177:
#line 773 "parser.y" /* yacc.c:1652 */ #line 773 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_HASHMAP_SET); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_HASHMAP_SET);
} }
#line 3163 "parser.tab.cpp" /* yacc.c:1652 */ #line 3159 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 178: case 178:
#line 779 "parser.y" /* yacc.c:1652 */ #line 779 "parser.y" /* yacc.c:1652 */
{ {
(yyval.valInt32) = NXSL_DT_BOOLEAN; (yyval.valInt32) = NXSL_DT_BOOLEAN;
} }
#line 3171 "parser.tab.cpp" /* yacc.c:1652 */ #line 3167 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 179: case 179:
#line 783 "parser.y" /* yacc.c:1652 */ #line 783 "parser.y" /* yacc.c:1652 */
{ {
(yyval.valInt32) = NXSL_DT_INT32; (yyval.valInt32) = NXSL_DT_INT32;
} }
#line 3179 "parser.tab.cpp" /* yacc.c:1652 */ #line 3175 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 180: case 180:
#line 787 "parser.y" /* yacc.c:1652 */ #line 787 "parser.y" /* yacc.c:1652 */
{ {
(yyval.valInt32) = NXSL_DT_INT64; (yyval.valInt32) = NXSL_DT_INT64;
} }
#line 3187 "parser.tab.cpp" /* yacc.c:1652 */ #line 3183 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 181: case 181:
#line 791 "parser.y" /* yacc.c:1652 */ #line 791 "parser.y" /* yacc.c:1652 */
{ {
(yyval.valInt32) = NXSL_DT_UINT32; (yyval.valInt32) = NXSL_DT_UINT32;
} }
#line 3195 "parser.tab.cpp" /* yacc.c:1652 */ #line 3191 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 182: case 182:
#line 795 "parser.y" /* yacc.c:1652 */ #line 795 "parser.y" /* yacc.c:1652 */
{ {
(yyval.valInt32) = NXSL_DT_UINT64; (yyval.valInt32) = NXSL_DT_UINT64;
} }
#line 3203 "parser.tab.cpp" /* yacc.c:1652 */ #line 3199 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 183: case 183:
#line 799 "parser.y" /* yacc.c:1652 */ #line 799 "parser.y" /* yacc.c:1652 */
{ {
(yyval.valInt32) = NXSL_DT_REAL; (yyval.valInt32) = NXSL_DT_REAL;
} }
#line 3211 "parser.tab.cpp" /* yacc.c:1652 */ #line 3207 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 184: case 184:
#line 803 "parser.y" /* yacc.c:1652 */ #line 803 "parser.y" /* yacc.c:1652 */
{ {
(yyval.valInt32) = NXSL_DT_STRING; (yyval.valInt32) = NXSL_DT_STRING;
} }
#line 3219 "parser.tab.cpp" /* yacc.c:1652 */ #line 3215 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 196: case 196:
#line 821 "parser.y" /* yacc.c:1652 */ #line 821 "parser.y" /* yacc.c:1652 */
{ {
if (pCompiler->canUseBreak()) if (pCompiler->canUseBreak())
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NOP); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NOP);
pCompiler->addBreakAddr(pScript->getCodeSize() - 1); pCompiler->addBreakAddr(pScript->getCodeSize() - 1);
} }
else else
{ {
pCompiler->error("\"break\" statement can be used only within loo ps, \"switch\", and \"select\" statements"); pCompiler->error("\"break\" statement can be used only within loo ps, \"switch\", and \"select\" statements");
YYERROR; YYERROR;
} }
} }
#line 3236 "parser.tab.cpp" /* yacc.c:1652 */ #line 3232 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 197: case 197:
#line 834 "parser.y" /* yacc.c:1652 */ #line 834 "parser.y" /* yacc.c:1652 */
{ {
uint32_t addr = pCompiler->peekAddr(); uint32_t addr = pCompiler->peekAddr();
if (addr != INVALID_ADDRESS) if (addr != INVALID_ADDRESS)
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, addr); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, addr);
} }
else else
{ {
pCompiler->error("\"continue\" statement can be used only within loops"); pCompiler->error("\"continue\" statement can be used only within loops");
YYERROR; YYERROR;
} }
} }
#line 3253 "parser.tab.cpp" /* yacc.c:1652 */ #line 3249 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 198: case 198:
#line 850 "parser.y" /* yacc.c:1652 */ #line 850 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction((yyvsp[-1].simpleStatement).sourceLine, (yyvsp[-1 ].simpleStatement).opCode); pScript->addInstruction((yyvsp[-1].simpleStatement).sourceLine, (yyvsp[-1 ].simpleStatement).opCode);
} }
#line 3261 "parser.tab.cpp" /* yacc.c:1652 */ #line 3257 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 199: case 199:
#line 854 "parser.y" /* yacc.c:1652 */ #line 854 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTANT, pScr ipt->createValue()); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTANT, pScr ipt->createValue());
pScript->addInstruction((yyvsp[0].simpleStatement).sourceLine, (yyvsp[0]. simpleStatement).opCode); pScript->addInstruction((yyvsp[0].simpleStatement).sourceLine, (yyvsp[0]. simpleStatement).opCode);
} }
#line 3270 "parser.tab.cpp" /* yacc.c:1652 */ #line 3266 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 200: case 200:
#line 862 "parser.y" /* yacc.c:1652 */ #line 862 "parser.y" /* yacc.c:1652 */
{ {
(yyval.simpleStatement).sourceLine = pLexer->getCurrLine(); (yyval.simpleStatement).sourceLine = pLexer->getCurrLine();
(yyval.simpleStatement).opCode = OPCODE_ABORT; (yyval.simpleStatement).opCode = OPCODE_ABORT;
} }
#line 3279 "parser.tab.cpp" /* yacc.c:1652 */ #line 3275 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 201: case 201:
#line 867 "parser.y" /* yacc.c:1652 */ #line 867 "parser.y" /* yacc.c:1652 */
{ {
(yyval.simpleStatement).sourceLine = pLexer->getCurrLine(); (yyval.simpleStatement).sourceLine = pLexer->getCurrLine();
(yyval.simpleStatement).opCode = OPCODE_EXIT; (yyval.simpleStatement).opCode = OPCODE_EXIT;
} }
#line 3288 "parser.tab.cpp" /* yacc.c:1652 */ #line 3284 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 202: case 202:
#line 872 "parser.y" /* yacc.c:1652 */ #line 872 "parser.y" /* yacc.c:1652 */
{ {
if (pCompiler->getTemporaryStackItems() > 0) if (pCompiler->getTemporaryStackItems() > 0)
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_POP, static_cast <int16_t>(pCompiler->getTemporaryStackItems())); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_POP, static_cast <int16_t>(pCompiler->getTemporaryStackItems()));
} }
(yyval.simpleStatement).sourceLine = pLexer->getCurrLine(); (yyval.simpleStatement).sourceLine = pLexer->getCurrLine();
(yyval.simpleStatement).opCode = OPCODE_RETURN; (yyval.simpleStatement).opCode = OPCODE_RETURN;
} }
#line 3301 "parser.tab.cpp" /* yacc.c:1652 */ #line 3297 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 203: case 203:
#line 881 "parser.y" /* yacc.c:1652 */ #line 881 "parser.y" /* yacc.c:1652 */
{ {
(yyval.simpleStatement).sourceLine = pLexer->getCurrLine(); (yyval.simpleStatement).sourceLine = pLexer->getCurrLine();
(yyval.simpleStatement).opCode = OPCODE_PRINT; (yyval.simpleStatement).opCode = OPCODE_PRINT;
} }
#line 3310 "parser.tab.cpp" /* yacc.c:1652 */ #line 3306 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 204: case 204:
#line 889 "parser.y" /* yacc.c:1652 */ #line 889 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTANT, pScr ipt->createValue(_T("\n"))); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTANT, pScr ipt->createValue(_T("\n")));
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CONCAT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CONCAT);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PRINT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PRINT);
} }
#line 3320 "parser.tab.cpp" /* yacc.c:1652 */ #line 3316 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 205: case 205:
#line 895 "parser.y" /* yacc.c:1652 */ #line 895 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTANT, pScr ipt->createValue(_T("\n"))); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTANT, pScr ipt->createValue(_T("\n")));
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PRINT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PRINT);
} }
#line 3329 "parser.tab.cpp" /* yacc.c:1652 */ #line 3325 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 206: case 206:
#line 903 "parser.y" /* yacc.c:1652 */ #line 903 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JZ, INVALID _ADDRESS); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JZ, INVALID _ADDRESS);
} }
#line 3337 "parser.tab.cpp" /* yacc.c:1652 */ #line 3333 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 208: case 208:
#line 911 "parser.y" /* yacc.c:1652 */ #line 911 "parser.y" /* yacc.c:1652 */
{ {
pScript->resolveLastJump(OPCODE_JZ); pScript->resolveLastJump(OPCODE_JZ);
} }
#line 3345 "parser.tab.cpp" /* yacc.c:1652 */ #line 3341 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 209: case 209:
#line 915 "parser.y" /* yacc.c:1652 */ #line 915 "parser.y" /* yacc.c:1652 */
{ {
pScript->resolveLastJump(OPCODE_JMP); pScript->resolveLastJump(OPCODE_JMP);
} }
#line 3353 "parser.tab.cpp" /* yacc.c:1652 */ #line 3349 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 210: case 210:
#line 922 "parser.y" /* yacc.c:1652 */ #line 922 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, INVALI D_ADDRESS); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, INVALI D_ADDRESS);
pScript->resolveLastJump(OPCODE_JZ); pScript->resolveLastJump(OPCODE_JZ);
} }
#line 3362 "parser.tab.cpp" /* yacc.c:1652 */ #line 3358 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 212: case 212:
#line 931 "parser.y" /* yacc.c:1652 */ #line 931 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_POP, static_cast<in t16_t>(1)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_POP, static_cast<in t16_t>(1));
pCompiler->pushAddr(pScript->getCodeSize()); pCompiler->pushAddr(pScript->getCodeSize());
} }
#line 3371 "parser.tab.cpp" /* yacc.c:1652 */ #line 3367 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 213: case 213:
#line 936 "parser.y" /* yacc.c:1652 */ #line 936 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JZ, INVALID_ADDRESS ); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JZ, INVALID_ADDRESS );
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, INVALID_ADDRES S); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, INVALID_ADDRES S);
pCompiler->pushAddr(pScript->getCodeSize()); pCompiler->pushAddr(pScript->getCodeSize());
} }
#line 3381 "parser.tab.cpp" /* yacc.c:1652 */ #line 3377 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 214: case 214:
#line 942 "parser.y" /* yacc.c:1652 */ #line 942 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_POP, static_cast<in t16_t>(1)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_POP, static_cast<in t16_t>(1));
uint32_t addrPart3 = pCompiler->popAddr(); uint32_t addrPart3 = pCompiler->popAddr();
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, pCompiler->pop Addr()); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, pCompiler->pop Addr());
pCompiler->pushAddr(addrPart3); pCompiler->pushAddr(addrPart3);
pCompiler->newBreakLevel(); pCompiler->newBreakLevel();
pScript->resolveLastJump(OPCODE_JMP); pScript->resolveLastJump(OPCODE_JMP);
} }
#line 3394 "parser.tab.cpp" /* yacc.c:1652 */ #line 3390 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 215: case 215:
#line 951 "parser.y" /* yacc.c:1652 */ #line 951 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, pCompiler->pop Addr()); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, pCompiler->pop Addr());
pScript->resolveLastJump(OPCODE_JZ); pScript->resolveLastJump(OPCODE_JZ);
pCompiler->closeBreakLevel(pScript); pCompiler->closeBreakLevel(pScript);
} }
#line 3404 "parser.tab.cpp" /* yacc.c:1652 */ #line 3400 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 216: case 216:
#line 959 "parser.y" /* yacc.c:1652 */ #line 959 "parser.y" /* yacc.c:1652 */
{ pCompiler->incTemporaryStackItems(); } { pCompiler->incTemporaryStackItems(); }
#line 3410 "parser.tab.cpp" /* yacc.c:1652 */ #line 3406 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 217: case 217:
#line 959 "parser.y" /* yacc.c:1652 */ #line 959 "parser.y" /* yacc.c:1652 */
{ pCompiler->decTemporaryStackItems(); } { pCompiler->decTemporaryStackItems(); }
#line 3416 "parser.tab.cpp" /* yacc.c:1652 */ #line 3412 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 218: case 218:
#line 964 "parser.y" /* yacc.c:1652 */ #line 964 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTANT, pScr ipt->createValue((yyvsp[-1].valIdentifier).v)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTANT, pScr ipt->createValue((yyvsp[-1].valIdentifier).v));
} }
#line 3424 "parser.tab.cpp" /* yacc.c:1652 */ #line 3420 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 219: case 219:
#line 969 "parser.y" /* yacc.c:1652 */ #line 969 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTANT, pScr ipt->createValue((yyvsp[-1].valIdentifier).v)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTANT, pScr ipt->createValue((yyvsp[-1].valIdentifier).v));
} }
#line 3432 "parser.tab.cpp" /* yacc.c:1652 */ #line 3428 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 220: case 220:
#line 976 "parser.y" /* yacc.c:1652 */ #line 976 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_FOREACH); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_FOREACH);
pCompiler->pushAddr(pScript->getCodeSize()); pCompiler->pushAddr(pScript->getCodeSize());
pCompiler->newBreakLevel(); pCompiler->newBreakLevel();
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NEXT); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NEXT);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JZ, INVALID_ADDRESS ); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JZ, INVALID_ADDRESS );
} }
#line 3444 "parser.tab.cpp" /* yacc.c:1652 */ #line 3440 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 221: case 221:
#line 984 "parser.y" /* yacc.c:1652 */ #line 984 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, pCompiler->pop Addr()); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, pCompiler->pop Addr());
pScript->resolveLastJump(OPCODE_JZ); pScript->resolveLastJump(OPCODE_JZ);
pCompiler->closeBreakLevel(pScript); pCompiler->closeBreakLevel(pScript);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_POP, static_cast<in t16_t>(1)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_POP, static_cast<in t16_t>(1));
} }
#line 3455 "parser.tab.cpp" /* yacc.c:1652 */ #line 3451 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 222: case 222:
#line 994 "parser.y" /* yacc.c:1652 */ #line 994 "parser.y" /* yacc.c:1652 */
{ {
pCompiler->pushAddr(pScript->getCodeSize()); pCompiler->pushAddr(pScript->getCodeSize());
pCompiler->newBreakLevel(); pCompiler->newBreakLevel();
} }
#line 3464 "parser.tab.cpp" /* yacc.c:1652 */ #line 3460 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 223: case 223:
#line 999 "parser.y" /* yacc.c:1652 */ #line 999 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JZ, INVALID_ADDRESS ); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JZ, INVALID_ADDRESS );
} }
#line 3472 "parser.tab.cpp" /* yacc.c:1652 */ #line 3468 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 224: case 224:
#line 1003 "parser.y" /* yacc.c:1652 */ #line 1003 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, pCompiler->pop Addr()); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, pCompiler->pop Addr());
pScript->resolveLastJump(OPCODE_JZ); pScript->resolveLastJump(OPCODE_JZ);
pCompiler->closeBreakLevel(pScript); pCompiler->closeBreakLevel(pScript);
} }
#line 3482 "parser.tab.cpp" /* yacc.c:1652 */ #line 3478 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 225: case 225:
#line 1012 "parser.y" /* yacc.c:1652 */ #line 1012 "parser.y" /* yacc.c:1652 */
{ {
pCompiler->pushAddr(pScript->getCodeSize()); pCompiler->pushAddr(pScript->getCodeSize());
pCompiler->newBreakLevel(); pCompiler->newBreakLevel();
} }
#line 3491 "parser.tab.cpp" /* yacc.c:1652 */ #line 3487 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 226: case 226:
#line 1017 "parser.y" /* yacc.c:1652 */ #line 1017 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JNZ, pCompiler->pop Addr()); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JNZ, pCompiler->pop Addr());
pCompiler->closeBreakLevel(pScript); pCompiler->closeBreakLevel(pScript);
} }
#line 3500 "parser.tab.cpp" /* yacc.c:1652 */ #line 3496 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 227: case 227:
#line 1025 "parser.y" /* yacc.c:1652 */ #line 1025 "parser.y" /* yacc.c:1652 */
{ {
pCompiler->newBreakLevel(); pCompiler->newBreakLevel();
} }
#line 3508 "parser.tab.cpp" /* yacc.c:1652 */ #line 3504 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 228: case 228:
#line 1029 "parser.y" /* yacc.c:1652 */ #line 1029 "parser.y" /* yacc.c:1652 */
{ {
pCompiler->incTemporaryStackItems(); pCompiler->incTemporaryStackItems();
} }
#line 3516 "parser.tab.cpp" /* yacc.c:1652 */ #line 3512 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 229: case 229:
#line 1033 "parser.y" /* yacc.c:1652 */ #line 1033 "parser.y" /* yacc.c:1652 */
{ {
pCompiler->closeBreakLevel(pScript); pCompiler->closeBreakLevel(pScript);
pCompiler->decTemporaryStackItems(); pCompiler->decTemporaryStackItems();
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_POP, static_cast<in t16_t>(1)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_POP, static_cast<in t16_t>(1));
} }
#line 3526 "parser.tab.cpp" /* yacc.c:1652 */ #line 3522 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 230: case 230:
#line 1042 "parser.y" /* yacc.c:1652 */ #line 1042 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, pScript->getCo deSize() + 5); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, pScript->getCo deSize() + 5);
pScript->resolveLastJump(OPCODE_JZ); pScript->resolveLastJump(OPCODE_JZ);
} }
#line 3535 "parser.tab.cpp" /* yacc.c:1652 */ #line 3531 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 232: case 232:
#line 1048 "parser.y" /* yacc.c:1652 */ #line 1048 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, pScript->getCo deSize() + 5); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, pScript->getCo deSize() + 5);
pScript->resolveLastJump(OPCODE_JNZ); pScript->resolveLastJump(OPCODE_JNZ);
pScript->resolveLastJump(OPCODE_JNZ); pScript->resolveLastJump(OPCODE_JNZ);
} }
#line 3545 "parser.tab.cpp" /* yacc.c:1652 */ #line 3541 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 234: case 234:
#line 1055 "parser.y" /* yacc.c:1652 */ #line 1055 "parser.y" /* yacc.c:1652 */
{ {
pScript->resolveLastJump(OPCODE_JZ); pScript->resolveLastJump(OPCODE_JZ);
} }
#line 3553 "parser.tab.cpp" /* yacc.c:1652 */ #line 3549 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 235: case 235:
#line 1059 "parser.y" /* yacc.c:1652 */ #line 1059 "parser.y" /* yacc.c:1652 */
{ {
pScript->resolveLastJump(OPCODE_JNZ); pScript->resolveLastJump(OPCODE_JNZ);
pScript->resolveLastJump(OPCODE_JNZ); pScript->resolveLastJump(OPCODE_JNZ);
} }
#line 3562 "parser.tab.cpp" /* yacc.c:1652 */ #line 3558 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 236: case 236:
#line 1067 "parser.y" /* yacc.c:1652 */ #line 1067 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CASE, (yyvsp[0].con stant)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CASE, (yyvsp[0].con stant));
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JZ, INVALID_ADDRESS ); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JZ, INVALID_ADDRESS );
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NOP); // Needed to match number of instructions in case and range case pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NOP); // Needed to match number of instructions in case and range case
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NOP); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NOP);
(yyvsp[0].constant) = nullptr; (yyvsp[0].constant) = nullptr;
} }
#line 3574 "parser.tab.cpp" /* yacc.c:1652 */ #line 3570 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 238: case 238:
#line 1076 "parser.y" /* yacc.c:1652 */ #line 1076 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CASE_CONST, (yyvsp[ 0].valIdentifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CASE_CONST, (yyvsp[ 0].valIdentifier));
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JZ, INVALID_ADDRESS ); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JZ, INVALID_ADDRESS );
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NOP); // Needed to match number of instructions in case and range case pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NOP); // Needed to match number of instructions in case and range case
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NOP); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NOP);
} }
#line 3585 "parser.tab.cpp" /* yacc.c:1652 */ #line 3581 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 240: case 240:
#line 1087 "parser.y" /* yacc.c:1652 */ #line 1087 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JNZ, INVALID_ADDRES S); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JNZ, INVALID_ADDRES S);
} }
#line 3593 "parser.tab.cpp" /* yacc.c:1652 */ #line 3589 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 241: case 241:
#line 1091 "parser.y" /* yacc.c:1652 */ #line 1091 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JNZ, INVALID_ADDRES S); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JNZ, INVALID_ADDRES S);
} }
#line 3601 "parser.tab.cpp" /* yacc.c:1652 */ #line 3597 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 243: case 243:
#line 1099 "parser.y" /* yacc.c:1652 */ #line 1099 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CASE_LT, (yyvsp[0]. constant)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CASE_LT, (yyvsp[0]. constant));
(yyvsp[0].constant) = nullptr; (yyvsp[0].constant) = nullptr;
} }
#line 3610 "parser.tab.cpp" /* yacc.c:1652 */ #line 3606 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 244: case 244:
#line 1104 "parser.y" /* yacc.c:1652 */ #line 1104 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CASE_CONST_LT, (yyv sp[0].valIdentifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CASE_CONST_LT, (yyv sp[0].valIdentifier));
} }
#line 3618 "parser.tab.cpp" /* yacc.c:1652 */ #line 3614 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 245: case 245:
#line 1111 "parser.y" /* yacc.c:1652 */ #line 1111 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CASE_GT, (yyvsp[0]. constant)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CASE_GT, (yyvsp[0]. constant));
(yyvsp[0].constant) = nullptr; (yyvsp[0].constant) = nullptr;
} }
#line 3627 "parser.tab.cpp" /* yacc.c:1652 */ #line 3623 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 246: case 246:
#line 1116 "parser.y" /* yacc.c:1652 */ #line 1116 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CASE_CONST_GT, (yyv sp[0].valIdentifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CASE_CONST_GT, (yyv sp[0].valIdentifier));
} }
#line 3635 "parser.tab.cpp" /* yacc.c:1652 */ #line 3631 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 249: case 249:
#line 1128 "parser.y" /* yacc.c:1652 */ #line 1128 "parser.y" /* yacc.c:1652 */
{ {
pCompiler->newBreakLevel(); pCompiler->newBreakLevel();
pCompiler->newSelectLevel(); pCompiler->newSelectLevel();
} }
#line 3644 "parser.tab.cpp" /* yacc.c:1652 */ #line 3640 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 250: case 250:
#line 1133 "parser.y" /* yacc.c:1652 */ #line 1133 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SELECT, (yyvsp[-4]. valIdentifier), (yyvsp[-1].valInt32)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_SELECT, (yyvsp[-4]. valIdentifier), (yyvsp[-1].valInt32));
pCompiler->closeBreakLevel(pScript); pCompiler->closeBreakLevel(pScript);
UINT32 addr = pCompiler->popSelectJumpAddr(); uint32_t addr = pCompiler->popSelectJumpAddr();
if (addr != INVALID_ADDRESS) if (addr != INVALID_ADDRESS)
{ {
pScript->createJumpAt(addr, pScript->getCodeSize()); pScript->createJumpAt(addr, pScript->getCodeSize());
} }
pCompiler->closeSelectLevel(); pCompiler->closeSelectLevel();
} }
#line 3660 "parser.tab.cpp" /* yacc.c:1652 */ #line 3656 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 252: case 252:
#line 1149 "parser.y" /* yacc.c:1652 */ #line 1149 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTANT, pScr ipt->createValue()); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTANT, pScr ipt->createValue());
} }
#line 3668 "parser.tab.cpp" /* yacc.c:1652 */ #line 3664 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 253: case 253:
#line 1156 "parser.y" /* yacc.c:1652 */ #line 1156 "parser.y" /* yacc.c:1652 */
{ {
(yyval.valInt32) = (yyvsp[0].valInt32) + 1; (yyval.valInt32) = (yyvsp[0].valInt32) + 1;
} }
#line 3676 "parser.tab.cpp" /* yacc.c:1652 */ #line 3672 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 254: case 254:
#line 1160 "parser.y" /* yacc.c:1652 */ #line 1160 "parser.y" /* yacc.c:1652 */
{ {
(yyval.valInt32) = 1; (yyval.valInt32) = 1;
} }
#line 3684 "parser.tab.cpp" /* yacc.c:1652 */ #line 3680 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 255: case 255:
#line 1167 "parser.y" /* yacc.c:1652 */ #line 1167 "parser.y" /* yacc.c:1652 */
{ {
} }
#line 3691 "parser.tab.cpp" /* yacc.c:1652 */ #line 3687 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 256: case 256:
#line 1170 "parser.y" /* yacc.c:1652 */ #line 1170 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSHCP, static_cast <int16_t>(2)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSHCP, static_cast <int16_t>(2));
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, INVALID_ADDRES S); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_JMP, INVALID_ADDRES S);
UINT32 addr = pCompiler->popSelectJumpAddr(); uint32_t addr = pCompiler->popSelectJumpAddr();
if (addr != INVALID_ADDRESS) if (addr != INVALID_ADDRESS)
{ {
pScript->createJumpAt(addr, pScript->getCodeSize()); pScript->createJumpAt(addr, pScript->getCodeSize());
} }
} }
#line 3705 "parser.tab.cpp" /* yacc.c:1652 */ #line 3701 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 257: case 257:
#line 1180 "parser.y" /* yacc.c:1652 */ #line 1180 "parser.y" /* yacc.c:1652 */
{ {
pCompiler->pushSelectJumpAddr(pScript->getCodeSize()); pCompiler->pushSelectJumpAddr(pScript->getCodeSize());
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NOP); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NOP);
pScript->resolveLastJump(OPCODE_JMP); pScript->resolveLastJump(OPCODE_JMP);
} }
#line 3715 "parser.tab.cpp" /* yacc.c:1652 */ #line 3711 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 258: case 258:
#line 1188 "parser.y" /* yacc.c:1652 */ #line 1188 "parser.y" /* yacc.c:1652 */
{ pCompiler->setIdentifierOperation(OPCODE_ARRAY); } { pCompiler->setIdentifierOperation(OPCODE_ARRAY); }
#line 3721 "parser.tab.cpp" /* yacc.c:1652 */ #line 3717 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 260: case 260:
#line 1189 "parser.y" /* yacc.c:1652 */ #line 1189 "parser.y" /* yacc.c:1652 */
{ pCompiler->setIdentifierOperation(OPCODE_GLOBAL_ARRAY); } { pCompiler->setIdentifierOperation(OPCODE_GLOBAL_ARRAY); }
#line 3727 "parser.tab.cpp" /* yacc.c:1652 */ #line 3723 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 265: case 265:
#line 1203 "parser.y" /* yacc.c:1652 */ #line 1203 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_GLOBAL, (yyvsp[0].v alIdentifier), 0); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_GLOBAL, (yyvsp[0].v alIdentifier), 0);
} }
#line 3735 "parser.tab.cpp" /* yacc.c:1652 */ #line 3731 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 266: case 266:
#line 1207 "parser.y" /* yacc.c:1652 */ #line 1207 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_GLOBAL, (yyvsp[-2]. valIdentifier), 1); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_GLOBAL, (yyvsp[-2]. valIdentifier), 1);
} }
#line 3743 "parser.tab.cpp" /* yacc.c:1652 */ #line 3739 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 267: case 267:
#line 1214 "parser.y" /* yacc.c:1652 */ #line 1214 "parser.y" /* yacc.c:1652 */
{ {
char fname[256]; char fname[256];
snprintf(fname, 256, "__new@%s", (yyvsp[0].valIdentifier).v); snprintf(fname, 256, "__new@%s", (yyvsp[0].valIdentifier).v);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CALL_EXTERNAL, fnam e, 0); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CALL_EXTERNAL, fnam e, 0);
} }
#line 3753 "parser.tab.cpp" /* yacc.c:1652 */ #line 3749 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 268: case 268:
#line 1220 "parser.y" /* yacc.c:1652 */ #line 1220 "parser.y" /* yacc.c:1652 */
{ {
char fname[256]; char fname[256];
snprintf(fname, 256, "__new@%s", (yyvsp[-3].valIdentifier).v); snprintf(fname, 256, "__new@%s", (yyvsp[-3].valIdentifier).v);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CALL_EXTERNAL, fnam e, (yyvsp[-1].valInt32)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CALL_EXTERNAL, fnam e, (yyvsp[-1].valInt32));
} }
#line 3763 "parser.tab.cpp" /* yacc.c:1652 */ #line 3759 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 269: case 269:
#line 1226 "parser.y" /* yacc.c:1652 */ #line 1226 "parser.y" /* yacc.c:1652 */
{ {
char fname[256]; char fname[256];
snprintf(fname, 256, "__new@%s", (yyvsp[-2].valIdentifier).v); snprintf(fname, 256, "__new@%s", (yyvsp[-2].valIdentifier).v);
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CALL_EXTERNAL, fnam e, 0); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CALL_EXTERNAL, fnam e, 0);
} }
#line 3773 "parser.tab.cpp" /* yacc.c:1652 */ #line 3769 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 270: case 270:
#line 1235 "parser.y" /* yacc.c:1652 */ #line 1235 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CALL_EXTERNAL, (yyv sp[-2].valIdentifier), (yyvsp[-1].valInt32)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CALL_EXTERNAL, (yyv sp[-2].valIdentifier), (yyvsp[-1].valInt32));
} }
#line 3781 "parser.tab.cpp" /* yacc.c:1652 */ #line 3777 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 271: case 271:
#line 1239 "parser.y" /* yacc.c:1652 */ #line 1239 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CALL_EXTERNAL, (yyv sp[-1].valIdentifier), 0); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_CALL_EXTERNAL, (yyv sp[-1].valIdentifier), 0);
} }
#line 3789 "parser.tab.cpp" /* yacc.c:1652 */ #line 3785 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 272: case 272:
#line 1245 "parser.y" /* yacc.c:1652 */ #line 1245 "parser.y" /* yacc.c:1652 */
{ (yyval.valInt32) = (yyvsp[0].valInt32) + 1; } { (yyval.valInt32) = (yyvsp[0].valInt32) + 1; }
#line 3795 "parser.tab.cpp" /* yacc.c:1652 */ #line 3791 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 273: case 273:
#line 1246 "parser.y" /* yacc.c:1652 */ #line 1246 "parser.y" /* yacc.c:1652 */
{ (yyval.valInt32) = 1; } { (yyval.valInt32) = 1; }
#line 3801 "parser.tab.cpp" /* yacc.c:1652 */ #line 3797 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 275: case 275:
#line 1252 "parser.y" /* yacc.c:1652 */ #line 1252 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NAME, (yyvsp[-2].va lIdentifier)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_NAME, (yyvsp[-2].va lIdentifier));
} }
#line 3809 "parser.tab.cpp" /* yacc.c:1652 */ #line 3805 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 276: case 276:
#line 1259 "parser.y" /* yacc.c:1652 */ #line 1259 "parser.y" /* yacc.c:1652 */
{ {
(yyval.valIdentifier) = (yyvsp[-1].valIdentifier); (yyval.valIdentifier) = (yyvsp[-1].valIdentifier);
} }
#line 3817 "parser.tab.cpp" /* yacc.c:1652 */ #line 3813 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 277: case 277:
#line 1263 "parser.y" /* yacc.c:1652 */ #line 1263 "parser.y" /* yacc.c:1652 */
{ {
(yyval.valIdentifier) = (yyvsp[-1].valIdentifier); (yyval.valIdentifier) = (yyvsp[-1].valIdentifier);
pScript->addRequiredModule((yyvsp[-1].valIdentifier).v, pLexer->getCurrLi ne(), true); pScript->addRequiredModule((yyvsp[-1].valIdentifier).v, pLexer->getCurrLi ne(), true);
} }
#line 3826 "parser.tab.cpp" /* yacc.c:1652 */ #line 3822 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 278: case 278:
#line 1271 "parser.y" /* yacc.c:1652 */ #line 1271 "parser.y" /* yacc.c:1652 */
{ {
pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTANT, pScr ipt->createValue((yyvsp[0].valIdentifier).v)); pScript->addInstruction(pLexer->getCurrLine(), OPCODE_PUSH_CONSTANT, pScr ipt->createValue((yyvsp[0].valIdentifier).v));
} }
#line 3834 "parser.tab.cpp" /* yacc.c:1652 */ #line 3830 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 280: case 280:
#line 1279 "parser.y" /* yacc.c:1652 */ #line 1279 "parser.y" /* yacc.c:1652 */
{ {
#ifdef UNICODE #ifdef UNICODE
(yyval.constant) = pScript->createValue((yyvsp[0].valStr)); (yyval.constant) = pScript->createValue((yyvsp[0].valStr));
#else #else
char *mbString = MBStringFromUTF8String((yyvsp[0].valStr)); char *mbString = MBStringFromUTF8String((yyvsp[0].valStr));
(yyval.constant) = pScript->createValue(mbString); (yyval.constant) = pScript->createValue(mbString);
MemFree(mbString); MemFree(mbString);
#endif #endif
MemFreeAndNull((yyvsp[0].valStr)); MemFreeAndNull((yyvsp[0].valStr));
} }
#line 3849 "parser.tab.cpp" /* yacc.c:1652 */ #line 3845 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 281: case 281:
#line 1290 "parser.y" /* yacc.c:1652 */ #line 1290 "parser.y" /* yacc.c:1652 */
{ {
(yyval.constant) = pScript->createValue((yyvsp[0].valInt32)); (yyval.constant) = pScript->createValue((yyvsp[0].valInt32));
} }
#line 3857 "parser.tab.cpp" /* yacc.c:1652 */ #line 3853 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 282: case 282:
#line 1294 "parser.y" /* yacc.c:1652 */ #line 1294 "parser.y" /* yacc.c:1652 */
{ {
(yyval.constant) = pScript->createValue((yyvsp[0].valUInt32)); (yyval.constant) = pScript->createValue((yyvsp[0].valUInt32));
} }
#line 3865 "parser.tab.cpp" /* yacc.c:1652 */ #line 3861 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 283: case 283:
#line 1298 "parser.y" /* yacc.c:1652 */ #line 1298 "parser.y" /* yacc.c:1652 */
{ {
(yyval.constant) = pScript->createValue((yyvsp[0].valInt64)); (yyval.constant) = pScript->createValue((yyvsp[0].valInt64));
} }
#line 3873 "parser.tab.cpp" /* yacc.c:1652 */ #line 3869 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 284: case 284:
#line 1302 "parser.y" /* yacc.c:1652 */ #line 1302 "parser.y" /* yacc.c:1652 */
{ {
(yyval.constant) = pScript->createValue((yyvsp[0].valUInt64)); (yyval.constant) = pScript->createValue((yyvsp[0].valUInt64));
} }
#line 3881 "parser.tab.cpp" /* yacc.c:1652 */ #line 3877 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 285: case 285:
#line 1306 "parser.y" /* yacc.c:1652 */ #line 1306 "parser.y" /* yacc.c:1652 */
{ {
(yyval.constant) = pScript->createValue((yyvsp[0].valReal)); (yyval.constant) = pScript->createValue((yyvsp[0].valReal));
} }
#line 3889 "parser.tab.cpp" /* yacc.c:1652 */ #line 3885 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 286: case 286:
#line 1310 "parser.y" /* yacc.c:1652 */ #line 1310 "parser.y" /* yacc.c:1652 */
{ {
(yyval.constant) = pScript->createValue(true); (yyval.constant) = pScript->createValue(true);
} }
#line 3897 "parser.tab.cpp" /* yacc.c:1652 */ #line 3893 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 287: case 287:
#line 1314 "parser.y" /* yacc.c:1652 */ #line 1314 "parser.y" /* yacc.c:1652 */
{ {
(yyval.constant) = pScript->createValue(false); (yyval.constant) = pScript->createValue(false);
} }
#line 3905 "parser.tab.cpp" /* yacc.c:1652 */ #line 3901 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
case 288: case 288:
#line 1318 "parser.y" /* yacc.c:1652 */ #line 1318 "parser.y" /* yacc.c:1652 */
{ {
(yyval.constant) = pScript->createValue(); (yyval.constant) = pScript->createValue();
} }
#line 3913 "parser.tab.cpp" /* yacc.c:1652 */ #line 3909 "parser.tab.cpp" /* yacc.c:1652 */
break; break;
#line 3917 "parser.tab.cpp" /* yacc.c:1652 */ #line 3913 "parser.tab.cpp" /* yacc.c:1652 */
default: break; default: break;
} }
/* User semantic actions sometimes alter yychar, and that requires /* User semantic actions sometimes alter yychar, and that requires
that yytoken be updated with the new translation. We take the that yytoken be updated with the new translation. We take the
approach of translating immediately before every use of yytoken. approach of translating immediately before every use of yytoken.
One alternative is translating here after every semantic action, One alternative is translating here after every semantic action,
but that translation would be missed if the semantic action invokes but that translation would be missed if the semantic action invokes
YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
incorrect destructor might then be invoked immediately. In the incorrect destructor might then be invoked immediately. In the
 End of changes. 251 change blocks. 
363 lines changed or deleted 359 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)