diff options
Diffstat (limited to 'engines/director/lingo/lingo-lex.cpp')
-rw-r--r-- | engines/director/lingo/lingo-lex.cpp | 593 |
1 files changed, 305 insertions, 288 deletions
diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp index 840c349075..2e4ba95cc8 100644 --- a/engines/director/lingo/lingo-lex.cpp +++ b/engines/director/lingo/lingo-lex.cpp @@ -364,8 +364,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 62 -#define YY_END_OF_BUFFER 63 +#define YY_NUM_RULES 64 +#define YY_END_OF_BUFFER 65 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -373,32 +373,33 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[214] = +static yyconst flex_int16_t yy_accept[224] = { 0, - 0, 0, 63, 61, 3, 59, 59, 61, 61, 61, - 58, 58, 58, 57, 58, 58, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 2, 2, 3, 59, 0, 0, 0, - 0, 0, 60, 4, 54, 1, 56, 57, 53, 51, - 52, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 19, 9, 55, 55, 55, 55, 55, 55, 55, - 30, 31, 55, 33, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 45, 55, 55, 2, 2, 0, 4, - 1, 56, 5, 55, 55, 55, 55, 13, 55, 55, - - 55, 55, 0, 55, 55, 55, 55, 55, 26, 55, - 55, 29, 55, 55, 55, 36, 55, 38, 55, 55, - 55, 55, 55, 55, 55, 0, 55, 7, 8, 12, - 15, 55, 55, 55, 0, 55, 55, 22, 23, 55, - 55, 55, 28, 32, 34, 55, 55, 55, 55, 55, - 0, 44, 49, 55, 47, 11, 55, 55, 16, 55, - 18, 55, 55, 24, 55, 27, 55, 55, 39, 55, - 55, 43, 43, 50, 55, 0, 55, 55, 17, 55, - 55, 25, 55, 37, 46, 40, 0, 43, 48, 0, - 55, 14, 55, 55, 55, 0, 43, 10, 6, 20, - - 55, 35, 0, 43, 55, 0, 0, 21, 42, 0, - 0, 41, 0 + 0, 0, 65, 63, 3, 61, 61, 63, 63, 63, + 60, 60, 60, 59, 60, 60, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 2, 2, 3, 61, 0, 0, + 0, 0, 0, 62, 4, 56, 1, 58, 59, 55, + 53, 54, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 21, 11, 57, 57, 57, 57, + 57, 57, 57, 32, 33, 57, 35, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 47, 57, 57, 2, + 2, 0, 4, 1, 58, 57, 6, 57, 57, 57, + + 57, 57, 15, 57, 57, 57, 57, 0, 57, 57, + 57, 57, 57, 28, 57, 57, 31, 57, 57, 57, + 38, 57, 40, 57, 57, 57, 57, 57, 57, 57, + 0, 57, 57, 57, 9, 10, 14, 17, 57, 57, + 57, 0, 57, 57, 24, 25, 57, 57, 57, 30, + 34, 36, 57, 57, 57, 57, 57, 0, 46, 51, + 57, 49, 13, 5, 57, 57, 57, 18, 57, 20, + 57, 57, 26, 57, 29, 57, 57, 41, 57, 57, + 45, 45, 52, 57, 0, 7, 57, 57, 19, 57, + 57, 27, 57, 39, 48, 42, 0, 45, 50, 0, + + 57, 16, 57, 57, 57, 0, 45, 12, 8, 22, + 57, 37, 0, 45, 57, 0, 0, 23, 44, 0, + 0, 43, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -444,133 +445,137 @@ static yyconst flex_int32_t yy_meta[64] = 5, 5, 5 } ; -static yyconst flex_int16_t yy_base[221] = +static yyconst flex_int16_t yy_base[231] = { 0, - 0, 62, 166, 531, 66, 70, 74, 78, 158, 0, - 531, 145, 128, 54, 70, 119, 58, 0, 58, 59, - 70, 73, 71, 71, 72, 110, 89, 115, 81, 82, - 128, 112, 126, 174, 185, 189, 531, 193, 197, 201, - 78, 89, 531, 0, 531, 0, 81, 141, 531, 531, - 531, 0, 140, 116, 172, 113, 164, 161, 183, 191, - 127, 101, 0, 178, 184, 196, 182, 208, 181, 189, - 0, 0, 200, 0, 209, 208, 196, 201, 200, 203, - 209, 232, 229, 0, 236, 217, 267, 274, 226, 0, - 0, 79, 0, 229, 237, 236, 241, 0, 232, 233, - - 253, 267, 287, 259, 274, 266, 266, 276, 0, 276, - 268, 0, 277, 267, 271, 0, 288, 0, 282, 287, - 281, 310, 288, 292, 291, 303, 312, 0, 0, 0, - 0, 303, 315, 325, 314, 328, 314, 0, 0, 318, - 320, 330, 0, 0, 0, 327, 336, 335, 323, 324, - 359, 0, 0, 335, 335, 213, 339, 333, 0, 346, - 531, 346, 345, 0, 349, 0, 354, 351, 0, 366, - 357, 389, 395, 0, 367, 399, 375, 366, 0, 369, - 379, 0, 371, 0, 0, 0, 408, 413, 0, 387, - 384, 0, 401, 404, 387, 407, 429, 531, 0, 0, - - 391, 0, 430, 434, 405, 438, 449, 0, 450, 421, - 454, 455, 531, 502, 504, 507, 510, 516, 521, 525 + 0, 62, 172, 556, 66, 70, 74, 78, 160, 0, + 556, 145, 143, 54, 70, 125, 65, 67, 60, 63, + 70, 86, 71, 0, 82, 70, 85, 111, 115, 109, + 84, 128, 126, 127, 185, 189, 193, 556, 197, 158, + 202, 83, 131, 556, 0, 556, 0, 113, 95, 556, + 556, 556, 0, 112, 133, 162, 157, 182, 178, 193, + 189, 196, 199, 188, 86, 0, 187, 189, 205, 191, + 210, 188, 193, 0, 0, 208, 0, 214, 211, 199, + 206, 218, 223, 227, 245, 242, 0, 243, 231, 269, + 275, 233, 0, 0, 83, 248, 0, 246, 247, 249, + + 256, 265, 0, 257, 261, 269, 280, 296, 266, 282, + 274, 275, 286, 0, 288, 280, 0, 288, 278, 282, + 0, 301, 0, 295, 301, 297, 331, 304, 313, 303, + 323, 313, 316, 333, 0, 0, 0, 0, 323, 335, + 341, 331, 345, 332, 0, 0, 336, 337, 342, 0, + 0, 0, 343, 354, 352, 339, 341, 376, 0, 0, + 357, 355, 301, 0, 365, 367, 361, 0, 368, 556, + 370, 367, 0, 382, 0, 374, 371, 0, 386, 375, + 409, 410, 0, 385, 418, 0, 391, 382, 0, 407, + 408, 0, 395, 0, 0, 0, 433, 434, 0, 413, + + 407, 0, 424, 428, 415, 428, 450, 556, 0, 0, + 417, 0, 455, 456, 423, 468, 474, 0, 476, 442, + 480, 487, 556, 527, 529, 532, 535, 541, 546, 550 } ; -static yyconst flex_int16_t yy_def[221] = +static yyconst flex_int16_t yy_def[231] = { 0, - 213, 1, 213, 213, 213, 213, 213, 213, 214, 215, - 213, 213, 213, 213, 213, 213, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 213, 213, 213, 213, 213, 213, 213, - 213, 214, 213, 217, 213, 218, 213, 213, 213, 213, - 213, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 213, 213, 213, 217, - 218, 213, 216, 216, 216, 216, 216, 216, 216, 216, - - 216, 216, 213, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 213, 216, 216, 216, 216, - 216, 216, 216, 216, 213, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 219, 216, 216, 216, 216, 213, 216, 216, 216, 216, - 213, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 219, 219, 216, 216, 213, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 213, 219, 216, 213, - 216, 216, 216, 216, 216, 213, 219, 213, 216, 216, - - 216, 216, 213, 219, 216, 220, 213, 216, 220, 213, - 213, 220, 0, 213, 213, 213, 213, 213, 213, 213 + 223, 1, 223, 223, 223, 223, 223, 223, 224, 225, + 223, 223, 223, 223, 223, 223, 226, 226, 226, 226, + 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 226, 226, 226, 223, 223, 223, 223, 223, 223, + 223, 223, 224, 223, 227, 223, 228, 223, 223, 223, + 223, 223, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 226, 226, 226, 226, 226, 226, 226, 226, 223, + 223, 223, 227, 228, 223, 226, 226, 226, 226, 226, + + 226, 226, 226, 226, 226, 226, 226, 223, 226, 226, + 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, + 223, 226, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 223, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 226, 226, 226, 226, 226, 226, 229, 226, 226, + 226, 226, 223, 226, 226, 226, 226, 226, 226, 223, + 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, + 229, 229, 226, 226, 223, 226, 226, 226, 226, 226, + 226, 226, 226, 226, 226, 226, 223, 229, 226, 223, + + 226, 226, 226, 226, 226, 223, 229, 223, 226, 226, + 226, 226, 223, 229, 226, 230, 223, 226, 230, 223, + 223, 230, 0, 223, 223, 223, 223, 223, 223, 223 } ; -static yyconst flex_int16_t yy_nxt[595] = +static yyconst flex_int16_t yy_nxt[620] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 4, 14, 15, 11, 16, 17, 18, 19, 20, 21, - 22, 23, 18, 24, 18, 25, 26, 27, 28, 29, - 18, 30, 31, 32, 18, 18, 33, 18, 18, 18, - 17, 18, 19, 20, 21, 22, 23, 18, 24, 25, - 26, 27, 28, 29, 18, 30, 31, 32, 18, 18, - 33, 18, 18, 34, 47, 48, 35, 36, 37, 37, - 38, 39, 40, 40, 39, 39, 40, 40, 39, 38, - 37, 37, 38, 49, 50, 53, 54, 55, 59, 41, - 92, 63, 92, 41, 43, 56, 61, 57, 64, 62, - - 65, 78, 103, 89, 60, 103, 75, 58, 69, 53, - 54, 55, 76, 59, 41, 77, 63, 70, 41, 56, - 61, 57, 64, 62, 65, 66, 78, 89, 60, 67, - 75, 58, 51, 69, 83, 71, 76, 46, 68, 77, - 84, 70, 72, 94, 73, 97, 74, 79, 85, 86, - 66, 47, 48, 45, 67, 102, 80, 81, 93, 83, - 71, 82, 68, 43, 84, 213, 72, 94, 73, 97, - 74, 213, 79, 85, 86, 87, 37, 37, 88, 102, - 80, 81, 98, 93, 99, 82, 88, 37, 37, 88, - 36, 37, 37, 38, 38, 37, 37, 38, 39, 95, - - 100, 39, 39, 40, 40, 39, 101, 98, 96, 99, - 104, 105, 106, 107, 176, 108, 41, 176, 111, 113, - 41, 213, 112, 95, 114, 100, 109, 115, 213, 116, - 117, 101, 96, 118, 104, 105, 106, 119, 107, 108, - 120, 41, 111, 110, 113, 41, 112, 121, 122, 114, - 125, 109, 115, 116, 117, 123, 128, 118, 126, 124, - 130, 119, 127, 129, 120, 131, 132, 110, 87, 37, - 37, 88, 121, 122, 125, 88, 37, 37, 88, 133, - 123, 128, 126, 134, 124, 130, 127, 129, 103, 131, - 132, 103, 136, 137, 213, 139, 213, 140, 141, 142, - - 213, 143, 138, 133, 144, 145, 146, 147, 134, 148, - 149, 151, 150, 155, 151, 153, 136, 154, 137, 139, - 135, 140, 156, 141, 142, 143, 138, 157, 144, 145, - 146, 158, 147, 148, 159, 149, 150, 152, 155, 153, - 160, 154, 161, 162, 135, 163, 164, 156, 165, 166, - 167, 168, 157, 169, 174, 158, 170, 171, 175, 159, - 151, 152, 177, 151, 178, 160, 161, 182, 162, 163, - 164, 179, 165, 180, 166, 167, 168, 181, 169, 174, - 170, 171, 183, 175, 184, 185, 193, 177, 178, 186, - 187, 173, 182, 187, 189, 179, 187, 180, 194, 187, - - 176, 181, 191, 176, 192, 195, 183, 198, 184, 187, - 185, 193, 187, 186, 187, 173, 199, 187, 189, 202, - 200, 201, 190, 194, 205, 188, 191, 203, 192, 195, - 187, 206, 198, 187, 206, 207, 196, 208, 207, 206, - 199, 211, 206, 202, 197, 200, 201, 190, 205, 188, - 207, 213, 203, 207, 213, 212, 212, 213, 212, 212, - 196, 208, 204, 213, 213, 213, 211, 213, 197, 213, - 213, 213, 213, 213, 213, 213, 213, 210, 213, 213, - 213, 213, 213, 213, 213, 213, 204, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - - 213, 210, 42, 42, 213, 42, 42, 42, 44, 44, - 52, 52, 52, 90, 90, 90, 91, 91, 213, 91, - 91, 91, 172, 213, 213, 172, 209, 213, 213, 209, - 3, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213 - + 22, 23, 24, 25, 24, 26, 27, 28, 29, 30, + 24, 31, 32, 33, 24, 24, 34, 24, 24, 24, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 24, 31, 32, 33, 24, 24, + 34, 24, 24, 35, 48, 49, 36, 37, 38, 38, + 39, 40, 41, 41, 40, 40, 41, 41, 40, 39, + 38, 38, 39, 50, 51, 54, 56, 108, 57, 42, + 108, 58, 55, 42, 95, 59, 64, 60, 68, 65, + + 69, 62, 66, 81, 70, 48, 49, 61, 92, 67, + 54, 56, 57, 71, 42, 58, 55, 63, 42, 59, + 64, 60, 68, 65, 95, 69, 62, 66, 81, 70, + 72, 61, 92, 67, 78, 74, 44, 71, 52, 73, + 79, 63, 75, 80, 76, 96, 77, 82, 86, 88, + 89, 97, 47, 46, 87, 72, 83, 84, 78, 40, + 74, 85, 40, 73, 79, 44, 75, 80, 76, 96, + 77, 223, 82, 86, 88, 89, 97, 42, 87, 223, + 83, 84, 98, 223, 99, 85, 90, 38, 38, 91, + 91, 38, 38, 91, 37, 38, 38, 39, 39, 38, + + 38, 39, 42, 40, 41, 41, 40, 98, 99, 100, + 102, 103, 104, 105, 106, 223, 107, 111, 101, 109, + 110, 42, 112, 223, 113, 116, 117, 118, 114, 119, + 120, 223, 121, 100, 102, 122, 103, 104, 105, 106, + 107, 111, 101, 109, 110, 115, 42, 112, 113, 116, + 117, 123, 118, 114, 119, 120, 121, 124, 125, 122, + 126, 127, 128, 223, 130, 131, 129, 132, 135, 115, + 90, 38, 38, 91, 133, 123, 91, 38, 38, 91, + 134, 124, 125, 136, 137, 126, 127, 128, 130, 131, + 138, 129, 132, 135, 139, 140, 141, 108, 133, 143, + + 108, 144, 185, 146, 134, 185, 147, 136, 148, 137, + 145, 149, 223, 150, 138, 151, 152, 153, 139, 140, + 154, 141, 155, 143, 156, 162, 144, 146, 157, 142, + 147, 160, 158, 148, 145, 158, 149, 150, 161, 151, + 152, 153, 163, 223, 164, 154, 155, 165, 166, 156, + 162, 167, 157, 142, 168, 160, 169, 223, 159, 170, + 171, 175, 161, 172, 173, 174, 176, 163, 164, 177, + 178, 165, 179, 166, 180, 167, 183, 158, 184, 168, + 158, 169, 159, 170, 186, 171, 175, 172, 173, 174, + 187, 176, 188, 189, 177, 178, 179, 190, 180, 191, + + 192, 183, 193, 184, 194, 195, 223, 196, 182, 186, + 197, 197, 199, 197, 197, 187, 188, 189, 201, 185, + 202, 190, 185, 191, 203, 192, 193, 204, 194, 205, + 195, 196, 182, 208, 197, 197, 199, 197, 197, 209, + 198, 200, 201, 210, 202, 211, 223, 212, 213, 203, + 215, 197, 204, 205, 197, 218, 216, 217, 208, 216, + 217, 206, 221, 209, 198, 207, 200, 223, 210, 216, + 211, 212, 216, 213, 215, 217, 223, 223, 217, 218, + 223, 222, 223, 214, 222, 206, 223, 221, 222, 207, + 223, 222, 223, 223, 223, 223, 223, 223, 223, 223, + + 223, 223, 220, 223, 223, 223, 223, 214, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 220, 43, 43, 223, + 43, 43, 43, 45, 45, 53, 53, 53, 93, 93, + 93, 94, 94, 223, 94, 94, 94, 181, 223, 223, + 181, 219, 223, 223, 219, 3, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223 } ; -static yyconst flex_int16_t yy_chk[595] = +static yyconst flex_int16_t yy_chk[620] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -580,64 +585,66 @@ static yyconst flex_int16_t yy_chk[595] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 14, 14, 2, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, - 8, 8, 8, 15, 15, 17, 19, 20, 22, 6, - 92, 24, 47, 7, 42, 21, 23, 21, 24, 23, - - 25, 30, 62, 41, 22, 62, 29, 21, 27, 17, - 19, 20, 29, 22, 6, 29, 24, 27, 7, 21, - 23, 21, 24, 23, 25, 26, 30, 41, 22, 26, - 29, 21, 16, 27, 32, 28, 29, 13, 26, 29, - 32, 27, 28, 54, 28, 56, 28, 31, 33, 33, - 26, 48, 48, 12, 26, 61, 31, 31, 53, 32, - 28, 31, 26, 9, 32, 3, 28, 54, 28, 56, - 28, 0, 31, 33, 33, 34, 34, 34, 34, 61, - 31, 31, 57, 53, 58, 31, 35, 35, 35, 35, - 36, 36, 36, 36, 38, 38, 38, 38, 39, 55, - - 59, 39, 40, 40, 40, 40, 60, 57, 55, 58, - 64, 64, 65, 66, 156, 67, 39, 156, 69, 73, - 40, 0, 70, 55, 75, 59, 68, 76, 0, 77, - 78, 60, 55, 79, 64, 64, 65, 80, 66, 67, - 81, 39, 69, 68, 73, 40, 70, 82, 83, 75, - 86, 68, 76, 77, 78, 85, 95, 79, 89, 85, - 97, 80, 94, 96, 81, 99, 100, 68, 87, 87, - 87, 87, 82, 83, 86, 88, 88, 88, 88, 101, - 85, 95, 89, 102, 85, 97, 94, 96, 103, 99, - 100, 103, 104, 105, 0, 106, 0, 107, 108, 110, - - 0, 111, 105, 101, 113, 114, 115, 117, 102, 119, - 120, 122, 121, 125, 122, 123, 104, 124, 105, 106, - 103, 107, 126, 108, 110, 111, 105, 127, 113, 114, - 115, 132, 117, 119, 133, 120, 121, 122, 125, 123, - 134, 124, 135, 136, 103, 137, 140, 126, 141, 142, - 146, 147, 127, 148, 154, 132, 149, 150, 155, 133, - 151, 122, 157, 151, 158, 134, 135, 165, 136, 137, - 140, 160, 141, 162, 142, 146, 147, 163, 148, 154, - 149, 150, 167, 155, 168, 170, 180, 157, 158, 171, - 172, 151, 165, 172, 175, 160, 173, 162, 181, 173, - - 176, 163, 177, 176, 178, 183, 167, 190, 168, 187, - 170, 180, 187, 171, 188, 151, 191, 188, 175, 195, - 193, 194, 176, 181, 201, 173, 177, 196, 178, 183, - 197, 203, 190, 197, 203, 204, 187, 205, 204, 206, - 191, 210, 206, 195, 188, 193, 194, 176, 201, 173, - 207, 209, 196, 207, 209, 211, 212, 0, 211, 212, - 187, 205, 197, 0, 0, 0, 210, 0, 188, 0, - 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, - 0, 0, 0, 0, 0, 0, 197, 0, 0, 0, + 8, 8, 8, 15, 15, 17, 18, 65, 19, 6, + 65, 20, 17, 7, 95, 21, 23, 21, 26, 23, + + 27, 22, 25, 31, 27, 49, 49, 21, 42, 25, + 17, 18, 19, 27, 6, 20, 17, 22, 7, 21, + 23, 21, 26, 23, 48, 27, 22, 25, 31, 27, + 28, 21, 42, 25, 30, 29, 43, 27, 16, 28, + 30, 22, 29, 30, 29, 54, 29, 32, 33, 34, + 34, 55, 13, 12, 33, 28, 32, 32, 30, 40, + 29, 32, 40, 28, 30, 9, 29, 30, 29, 54, + 29, 3, 32, 33, 34, 34, 55, 40, 33, 0, + 32, 32, 56, 0, 57, 32, 35, 35, 35, 35, + 36, 36, 36, 36, 37, 37, 37, 37, 39, 39, + + 39, 39, 40, 41, 41, 41, 41, 56, 57, 58, + 59, 60, 61, 62, 63, 0, 64, 68, 58, 67, + 67, 41, 69, 0, 70, 72, 73, 76, 71, 78, + 79, 0, 80, 58, 59, 81, 60, 61, 62, 63, + 64, 68, 58, 67, 67, 71, 41, 69, 70, 72, + 73, 82, 76, 71, 78, 79, 80, 83, 84, 81, + 85, 86, 88, 0, 89, 92, 88, 96, 100, 71, + 90, 90, 90, 90, 98, 82, 91, 91, 91, 91, + 99, 83, 84, 101, 102, 85, 86, 88, 89, 92, + 104, 88, 96, 100, 105, 106, 107, 108, 98, 109, + + 108, 110, 163, 111, 99, 163, 112, 101, 113, 102, + 110, 115, 0, 116, 104, 118, 119, 120, 105, 106, + 122, 107, 124, 109, 125, 130, 110, 111, 126, 108, + 112, 128, 127, 113, 110, 127, 115, 116, 129, 118, + 119, 120, 131, 0, 132, 122, 124, 133, 134, 125, + 130, 139, 126, 108, 140, 128, 141, 0, 127, 142, + 143, 149, 129, 144, 147, 148, 153, 131, 132, 154, + 155, 133, 156, 134, 157, 139, 161, 158, 162, 140, + 158, 141, 127, 142, 165, 143, 149, 144, 147, 148, + 166, 153, 167, 169, 154, 155, 156, 171, 157, 172, + + 174, 161, 176, 162, 177, 179, 0, 180, 158, 165, + 181, 182, 184, 181, 182, 166, 167, 169, 187, 185, + 188, 171, 185, 172, 190, 174, 176, 191, 177, 193, + 179, 180, 158, 200, 197, 198, 184, 197, 198, 201, + 182, 185, 187, 203, 188, 204, 0, 205, 206, 190, + 211, 207, 191, 193, 207, 215, 213, 214, 200, 213, + 214, 197, 220, 201, 182, 198, 185, 0, 203, 216, + 204, 205, 216, 206, 211, 217, 0, 219, 217, 215, + 219, 221, 0, 207, 221, 197, 0, 220, 222, 198, + 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 217, 0, 0, 0, 0, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 207, 214, 214, 0, 214, 214, 214, 215, 215, - 216, 216, 216, 217, 217, 217, 218, 218, 0, 218, - 218, 218, 219, 0, 0, 219, 220, 0, 0, 220, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213 - + 0, 0, 0, 0, 0, 0, 217, 224, 224, 0, + 224, 224, 224, 225, 225, 226, 226, 226, 227, 227, + 227, 228, 228, 0, 228, 228, 228, 229, 0, 0, + 229, 230, 0, 0, 230, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223 } ; static yy_state_type yy_last_accepting_state; @@ -711,7 +718,7 @@ static void countnl() { g_lingo->_colnumber = strlen(p); } -#line 715 "engines/director/lingo/lingo-lex.cpp" +#line 722 "engines/director/lingo/lingo-lex.cpp" #define INITIAL 0 @@ -899,7 +906,7 @@ YY_DECL #line 69 "engines/director/lingo/lingo-lex.l" -#line 903 "engines/director/lingo/lingo-lex.cpp" +#line 910 "engines/director/lingo/lingo-lex.cpp" if ( !(yy_init) ) { @@ -953,13 +960,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 214 ) + if ( yy_current_state >= 224 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 531 ); + while ( yy_base[yy_current_state] != 556 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1001,193 +1008,203 @@ YY_RULE_SETUP case 4: YY_RULE_SETUP #line 75 "engines/director/lingo/lingo-lex.l" -{ count(); yylval.s = new Common::String(yytext); return SYMBOL; } +{ count(); yylval.s = new Common::String(yytext); return SYMBOL; } // D3 YY_BREAK case 5: YY_RULE_SETUP #line 77 "engines/director/lingo/lingo-lex.l" -{ count(); return tAND; } +{ count(); return tAFTER; } // D3 YY_BREAK case 6: YY_RULE_SETUP #line 78 "engines/director/lingo/lingo-lex.l" -{ count(); return tCONTAINS; } +{ count(); return tAND; } YY_BREAK case 7: YY_RULE_SETUP #line 79 "engines/director/lingo/lingo-lex.l" -{ count(); return tDONE; } +{ count(); return tBEFORE; } // D3 YY_BREAK case 8: YY_RULE_SETUP #line 80 "engines/director/lingo/lingo-lex.l" -{ count(); return tDOWN; } +{ count(); return tCONTAINS; } YY_BREAK case 9: YY_RULE_SETUP #line 81 "engines/director/lingo/lingo-lex.l" -{ count(); return tIF; } +{ count(); return tDONE; } YY_BREAK case 10: -/* rule 10 can match eol */ YY_RULE_SETUP #line 82 "engines/director/lingo/lingo-lex.l" -{ countnl(); return tNLELSIF; } +{ count(); return tDOWN; } YY_BREAK case 11: -/* rule 11 can match eol */ YY_RULE_SETUP #line 83 "engines/director/lingo/lingo-lex.l" -{ countnl(); return tNLELSE; } +{ count(); return tIF; } YY_BREAK case 12: +/* rule 12 can match eol */ YY_RULE_SETUP #line 84 "engines/director/lingo/lingo-lex.l" -{ count(); return tELSE; } +{ countnl(); return tNLELSIF; } YY_BREAK case 13: +/* rule 13 can match eol */ YY_RULE_SETUP #line 85 "engines/director/lingo/lingo-lex.l" -{ count(); return tEND; } +{ countnl(); return tNLELSE; } YY_BREAK case 14: YY_RULE_SETUP #line 86 "engines/director/lingo/lingo-lex.l" -{ count(); return tFACTORY; } +{ count(); return tELSE; } YY_BREAK case 15: YY_RULE_SETUP #line 87 "engines/director/lingo/lingo-lex.l" -{ count(); return tEXIT; } +{ count(); return tEND; } YY_BREAK case 16: YY_RULE_SETUP #line 88 "engines/director/lingo/lingo-lex.l" -{ count(); return tFRAME; } +{ count(); return tFACTORY; } YY_BREAK case 17: YY_RULE_SETUP #line 89 "engines/director/lingo/lingo-lex.l" -{ count(); return tGLOBAL; } +{ count(); return tEXIT; } YY_BREAK case 18: YY_RULE_SETUP #line 90 "engines/director/lingo/lingo-lex.l" -{ count(); return tGO; } +{ count(); return tFRAME; } YY_BREAK case 19: YY_RULE_SETUP #line 91 "engines/director/lingo/lingo-lex.l" -{ count(); return tGO; } +{ count(); return tGLOBAL; } YY_BREAK case 20: YY_RULE_SETUP #line 92 "engines/director/lingo/lingo-lex.l" -{ count(); return tINSTANCE; } +{ count(); return tGO; } YY_BREAK case 21: YY_RULE_SETUP #line 93 "engines/director/lingo/lingo-lex.l" -{ count(); return tINTERSECTS; } +{ count(); return tGO; } YY_BREAK case 22: YY_RULE_SETUP #line 94 "engines/director/lingo/lingo-lex.l" -{ count(); return tINTO; } +{ count(); return tINSTANCE; } YY_BREAK case 23: YY_RULE_SETUP #line 95 "engines/director/lingo/lingo-lex.l" -{ count(); return tLOOP; } +{ count(); return tINTERSECTS; } YY_BREAK case 24: YY_RULE_SETUP #line 96 "engines/director/lingo/lingo-lex.l" -{ count(); return tMACRO; } +{ count(); return tINTO; } YY_BREAK case 25: YY_RULE_SETUP #line 97 "engines/director/lingo/lingo-lex.l" -{ count(); return tMETHOD; } +{ count(); return tLOOP; } YY_BREAK case 26: YY_RULE_SETUP #line 98 "engines/director/lingo/lingo-lex.l" -{ count(); return tMOD; } +{ count(); return tMACRO; } YY_BREAK case 27: YY_RULE_SETUP #line 99 "engines/director/lingo/lingo-lex.l" -{ count(); return tMOVIE; } +{ count(); return tMETHOD; } YY_BREAK case 28: YY_RULE_SETUP #line 100 "engines/director/lingo/lingo-lex.l" -{ count(); return tNEXT; } +{ count(); return tMOD; } YY_BREAK case 29: YY_RULE_SETUP #line 101 "engines/director/lingo/lingo-lex.l" -{ count(); return tNOT; } +{ count(); return tMOVIE; } YY_BREAK case 30: YY_RULE_SETUP #line 102 "engines/director/lingo/lingo-lex.l" -{ count(); return tOF; } +{ count(); return tNEXT; } YY_BREAK case 31: YY_RULE_SETUP #line 103 "engines/director/lingo/lingo-lex.l" -{ count(); return tON; } +{ count(); return tNOT; } YY_BREAK case 32: YY_RULE_SETUP #line 104 "engines/director/lingo/lingo-lex.l" -{ count(); return tOPEN; } +{ count(); return tOF; } YY_BREAK case 33: YY_RULE_SETUP #line 105 "engines/director/lingo/lingo-lex.l" -{ count(); return tOR; } +{ count(); return tON; } // D3 YY_BREAK case 34: YY_RULE_SETUP #line 106 "engines/director/lingo/lingo-lex.l" -{ count(); return tPLAY; } +{ count(); return tOPEN; } YY_BREAK case 35: YY_RULE_SETUP #line 107 "engines/director/lingo/lingo-lex.l" -{ count(); return tPREVIOUS; } +{ count(); return tOR; } YY_BREAK case 36: YY_RULE_SETUP #line 108 "engines/director/lingo/lingo-lex.l" -{ count(); return tPUT; } +{ count(); return tPLAY; } YY_BREAK case 37: YY_RULE_SETUP #line 109 "engines/director/lingo/lingo-lex.l" -{ count(); return tREPEAT; } +{ count(); return tPREVIOUS; } YY_BREAK case 38: YY_RULE_SETUP #line 110 "engines/director/lingo/lingo-lex.l" -{ count(); return tSET; } +{ count(); return tPUT; } YY_BREAK case 39: YY_RULE_SETUP #line 111 "engines/director/lingo/lingo-lex.l" -{ count(); return tSOUND; } +{ count(); return tREPEAT; } YY_BREAK case 40: YY_RULE_SETUP #line 112 "engines/director/lingo/lingo-lex.l" -{ count(); return tSTARTS; } +{ count(); return tSET; } YY_BREAK case 41: YY_RULE_SETUP #line 113 "engines/director/lingo/lingo-lex.l" +{ count(); return tSOUND; } // D3 + YY_BREAK +case 42: +YY_RULE_SETUP +#line 114 "engines/director/lingo/lingo-lex.l" +{ count(); return tSTARTS; } + YY_BREAK +case 43: +YY_RULE_SETUP +#line 115 "engines/director/lingo/lingo-lex.l" { count(); @@ -1197,9 +1214,9 @@ YY_RULE_SETUP return THEENTITYWITHID; } YY_BREAK -case 42: +case 44: YY_RULE_SETUP -#line 121 "engines/director/lingo/lingo-lex.l" +#line 123 "engines/director/lingo/lingo-lex.l" { count(); @@ -1241,9 +1258,9 @@ YY_RULE_SETUP warning("Unhandled the entity %s", ptr); } YY_BREAK -case 43: +case 45: YY_RULE_SETUP -#line 161 "engines/director/lingo/lingo-lex.l" +#line 163 "engines/director/lingo/lingo-lex.l" { count(); @@ -1264,64 +1281,64 @@ YY_RULE_SETUP warning("Unhandled the entity %s", ptr); } YY_BREAK -case 44: -YY_RULE_SETUP -#line 180 "engines/director/lingo/lingo-lex.l" -{ count(); return tTHEN; } - YY_BREAK -case 45: -YY_RULE_SETUP -#line 181 "engines/director/lingo/lingo-lex.l" -{ count(); return tTO; } - YY_BREAK case 46: YY_RULE_SETUP #line 182 "engines/director/lingo/lingo-lex.l" -{ count(); return tSPRITE; } +{ count(); return tTHEN; } YY_BREAK case 47: YY_RULE_SETUP #line 183 "engines/director/lingo/lingo-lex.l" -{ count(); return tWITH; } +{ count(); return tTO; } YY_BREAK case 48: YY_RULE_SETUP #line 184 "engines/director/lingo/lingo-lex.l" -{ count(); return tWITHIN; } +{ count(); return tSPRITE; } YY_BREAK case 49: YY_RULE_SETUP #line 185 "engines/director/lingo/lingo-lex.l" -{ count(); return tWHEN; } +{ count(); return tWITH; } YY_BREAK case 50: YY_RULE_SETUP #line 186 "engines/director/lingo/lingo-lex.l" -{ count(); return tWHILE; } +{ count(); return tWITHIN; } YY_BREAK case 51: YY_RULE_SETUP -#line 188 "engines/director/lingo/lingo-lex.l" -{ count(); return tNEQ; } +#line 187 "engines/director/lingo/lingo-lex.l" +{ count(); return tWHEN; } YY_BREAK case 52: YY_RULE_SETUP -#line 189 "engines/director/lingo/lingo-lex.l" -{ count(); return tGE; } +#line 188 "engines/director/lingo/lingo-lex.l" +{ count(); return tWHILE; } YY_BREAK case 53: YY_RULE_SETUP #line 190 "engines/director/lingo/lingo-lex.l" -{ count(); return tLE; } +{ count(); return tNEQ; } YY_BREAK case 54: YY_RULE_SETUP #line 191 "engines/director/lingo/lingo-lex.l" -{ count(); return tCONCAT; } +{ count(); return tGE; } YY_BREAK case 55: YY_RULE_SETUP +#line 192 "engines/director/lingo/lingo-lex.l" +{ count(); return tLE; } + YY_BREAK +case 56: +YY_RULE_SETUP #line 193 "engines/director/lingo/lingo-lex.l" +{ count(); return tCONCAT; } + YY_BREAK +case 57: +YY_RULE_SETUP +#line 195 "engines/director/lingo/lingo-lex.l" { count(); yylval.s = new Common::String(yytext); @@ -1352,43 +1369,43 @@ YY_RULE_SETUP return ID; } YY_BREAK -case 56: -YY_RULE_SETUP -#line 222 "engines/director/lingo/lingo-lex.l" -{ count(); yylval.f = atof(yytext); return FLOAT; } - YY_BREAK -case 57: -YY_RULE_SETUP -#line 223 "engines/director/lingo/lingo-lex.l" -{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; } - YY_BREAK case 58: YY_RULE_SETUP #line 224 "engines/director/lingo/lingo-lex.l" -{ count(); return *yytext; } +{ count(); yylval.f = atof(yytext); return FLOAT; } YY_BREAK case 59: -/* rule 59 can match eol */ YY_RULE_SETUP #line 225 "engines/director/lingo/lingo-lex.l" -{ return '\n'; } +{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; } YY_BREAK case 60: YY_RULE_SETUP #line 226 "engines/director/lingo/lingo-lex.l" -{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; } +{ count(); return *yytext; } YY_BREAK case 61: +/* rule 61 can match eol */ YY_RULE_SETUP #line 227 "engines/director/lingo/lingo-lex.l" - +{ return '\n'; } YY_BREAK case 62: YY_RULE_SETUP +#line 228 "engines/director/lingo/lingo-lex.l" +{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; } + YY_BREAK +case 63: +YY_RULE_SETUP #line 229 "engines/director/lingo/lingo-lex.l" + + YY_BREAK +case 64: +YY_RULE_SETUP +#line 231 "engines/director/lingo/lingo-lex.l" ECHO; YY_BREAK -#line 1392 "engines/director/lingo/lingo-lex.cpp" +#line 1409 "engines/director/lingo/lingo-lex.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1681,7 +1698,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 214 ) + if ( yy_current_state >= 224 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -1709,11 +1726,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 214 ) + if ( yy_current_state >= 224 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 213); + yy_is_jam = (yy_current_state == 223); return yy_is_jam ? 0 : yy_current_state; } @@ -2388,7 +2405,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 229 "engines/director/lingo/lingo-lex.l" +#line 231 "engines/director/lingo/lingo-lex.l" |