diff options
author | Eugene Sandulenko | 2017-02-12 11:58:19 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2017-02-12 11:58:19 +0100 |
commit | d4a718bf8407e92b3866343a12035891d92d78b8 (patch) | |
tree | 15c109d36a04b90ee663234c761cb44b8ec54b76 /engines | |
parent | ed1d606e9f25cfe3313079a5627a6c08c91f47dd (diff) | |
download | scummvm-rg350-d4a718bf8407e92b3866343a12035891d92d78b8.tar.gz scummvm-rg350-d4a718bf8407e92b3866343a12035891d92d78b8.tar.bz2 scummvm-rg350-d4a718bf8407e92b3866343a12035891d92d78b8.zip |
DIRECTOR: Lingo: Implemented \xC2 continuation symbol support
Diffstat (limited to 'engines')
-rw-r--r-- | engines/director/lingo/lingo-lex.cpp | 719 | ||||
-rw-r--r-- | engines/director/lingo/lingo-lex.l | 1 |
2 files changed, 364 insertions, 356 deletions
diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp index 995faf6bd8..c9a7be7ae5 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 72 -#define YY_END_OF_BUFFER 73 +#define YY_NUM_RULES 73 +#define YY_END_OF_BUFFER 74 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -373,37 +373,38 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[271] = +static yyconst flex_int16_t yy_accept[273] = { 0, - 0, 0, 73, 71, 3, 69, 69, 71, 71, 71, - 68, 68, 68, 67, 68, 68, 65, 65, 65, 65, - 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, - 65, 65, 65, 65, 2, 2, 3, 69, 0, 0, - 0, 0, 0, 70, 4, 64, 1, 66, 67, 63, - 61, 62, 65, 65, 65, 65, 65, 65, 65, 65, - 65, 65, 65, 65, 65, 22, 12, 65, 65, 65, - 65, 65, 65, 65, 65, 65, 35, 36, 65, 38, - 65, 65, 65, 65, 65, 65, 65, 65, 65, 54, - 65, 65, 65, 2, 2, 0, 4, 1, 66, 65, - - 6, 65, 65, 65, 65, 65, 65, 16, 65, 65, - 65, 65, 0, 65, 65, 65, 65, 65, 65, 65, - 31, 65, 65, 34, 65, 65, 65, 65, 43, 65, - 45, 65, 65, 65, 65, 65, 65, 65, 65, 0, - 65, 65, 8, 65, 10, 11, 15, 0, 16, 18, - 65, 65, 65, 0, 65, 65, 25, 26, 27, 28, - 65, 65, 65, 33, 37, 39, 65, 65, 65, 65, - 65, 47, 0, 53, 58, 65, 56, 60, 14, 5, - 65, 65, 16, 16, 65, 19, 65, 21, 65, 65, - 29, 65, 32, 65, 65, 65, 65, 65, 65, 52, - - 52, 52, 59, 65, 0, 7, 65, 16, 65, 20, - 65, 65, 30, 65, 65, 65, 44, 55, 46, 0, - 0, 52, 52, 57, 0, 65, 17, 65, 65, 65, - 65, 65, 0, 0, 0, 0, 52, 52, 13, 9, - 23, 65, 65, 41, 42, 0, 0, 0, 52, 52, - 65, 40, 0, 0, 0, 0, 0, 24, 51, 50, - 51, 0, 0, 0, 0, 0, 0, 48, 49, 0 + 0, 0, 74, 72, 4, 70, 70, 72, 72, 72, + 69, 69, 69, 68, 69, 69, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 72, 3, 3, 4, 70, 0, + 0, 0, 0, 0, 71, 5, 65, 2, 67, 68, + 64, 62, 63, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 23, 13, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 36, 37, 66, + 39, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 55, 66, 66, 66, 1, 3, 3, 0, 5, 2, + + 67, 66, 7, 66, 66, 66, 66, 66, 66, 17, + 66, 66, 66, 66, 0, 66, 66, 66, 66, 66, + 66, 66, 32, 66, 66, 35, 66, 66, 66, 66, + 44, 66, 46, 66, 66, 66, 66, 66, 66, 66, + 66, 0, 66, 66, 9, 66, 11, 12, 16, 0, + 17, 19, 66, 66, 66, 0, 66, 66, 26, 27, + 28, 29, 66, 66, 66, 34, 38, 40, 66, 66, + 66, 66, 66, 48, 0, 54, 59, 66, 57, 61, + 15, 6, 66, 66, 17, 17, 66, 20, 66, 22, + 66, 66, 30, 66, 33, 66, 66, 66, 66, 66, + + 66, 53, 53, 53, 60, 66, 0, 8, 66, 17, + 66, 21, 66, 66, 31, 66, 66, 66, 45, 56, + 47, 0, 0, 53, 53, 58, 0, 66, 18, 66, + 66, 66, 66, 66, 0, 0, 0, 0, 53, 53, + 14, 10, 24, 66, 66, 42, 43, 0, 0, 0, + 53, 53, 66, 41, 0, 0, 0, 0, 0, 25, + 52, 51, 52, 0, 0, 0, 0, 0, 0, 49, + 50, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -428,7 +429,7 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 65, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -438,7 +439,7 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[65] = +static yyconst flex_int32_t yy_meta[66] = { 0, 1, 2, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 5, 5, 5, 5, @@ -446,80 +447,80 @@ static yyconst flex_int32_t yy_meta[65] = 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5 + 5, 5, 5, 5, 1 } ; -static yyconst flex_int16_t yy_base[282] = +static yyconst flex_int16_t yy_base[284] = { 0, - 0, 63, 159, 697, 67, 71, 75, 79, 147, 0, - 697, 133, 126, 54, 70, 94, 65, 67, 65, 61, - 71, 87, 72, 0, 103, 81, 119, 109, 135, 118, - 82, 112, 153, 155, 191, 208, 212, 697, 216, 179, - 224, 119, 99, 697, 0, 697, 0, 88, 95, 697, - 697, 697, 0, 113, 96, 105, 159, 169, 194, 172, - 188, 199, 215, 218, 201, 88, 0, 203, 218, 212, - 212, 224, 213, 226, 211, 216, 0, 0, 223, 0, - 235, 237, 219, 226, 238, 243, 262, 255, 259, 0, - 263, 251, 257, 290, 313, 262, 0, 0, 84, 277, - - 0, 271, 269, 268, 278, 278, 287, 184, 276, 277, - 291, 303, 327, 293, 309, 306, 301, 306, 307, 317, - 0, 317, 309, 0, 316, 308, 312, 319, 0, 330, - 0, 328, 323, 330, 377, 330, 333, 341, 350, 350, - 342, 344, 0, 368, 0, 0, 0, 386, 0, 0, - 357, 368, 375, 364, 380, 367, 0, 0, 0, 0, - 372, 373, 377, 0, 0, 387, 382, 387, 392, 377, - 378, 0, 414, 0, 0, 394, 395, 0, 423, 0, - 400, 406, 0, 0, 402, 0, 411, 697, 410, 408, - 0, 423, 0, 425, 417, 416, 415, 430, 419, 450, - - 465, 476, 0, 432, 478, 0, 435, 0, 447, 0, - 435, 463, 0, 470, 455, 457, 0, 0, 0, 492, - 475, 491, 519, 0, 476, 468, 0, 484, 487, 492, - 483, 478, 531, 502, 513, 514, 538, 545, 697, 0, - 0, 510, 526, 0, 0, 519, 554, 529, 560, 561, - 524, 0, 546, 570, 547, 581, 582, 0, 697, 586, - 697, 593, 552, 598, 567, 603, 604, 605, 613, 697, - 652, 654, 657, 660, 666, 671, 676, 679, 684, 686, - 691 + 0, 64, 160, 702, 68, 72, 76, 80, 148, 0, + 702, 129, 106, 55, 71, 95, 66, 68, 66, 62, + 72, 88, 73, 0, 104, 82, 120, 110, 136, 119, + 83, 113, 154, 156, 105, 192, 209, 213, 702, 217, + 180, 225, 120, 100, 702, 0, 702, 0, 89, 130, + 702, 702, 702, 0, 114, 108, 155, 181, 178, 195, + 191, 189, 210, 217, 220, 202, 89, 0, 205, 220, + 214, 214, 226, 215, 232, 212, 219, 0, 0, 226, + 0, 238, 252, 224, 234, 241, 246, 267, 254, 264, + 0, 265, 253, 259, 702, 292, 315, 265, 0, 0, + + 85, 280, 0, 274, 274, 273, 281, 284, 293, 320, + 286, 289, 301, 312, 333, 299, 319, 308, 320, 312, + 313, 320, 0, 322, 315, 0, 322, 312, 317, 325, + 0, 336, 0, 334, 328, 335, 385, 335, 344, 353, + 359, 360, 350, 356, 0, 374, 0, 0, 0, 185, + 0, 0, 363, 373, 379, 368, 382, 368, 0, 0, + 0, 0, 373, 375, 387, 0, 0, 392, 385, 390, + 395, 380, 383, 0, 418, 0, 0, 405, 403, 0, + 395, 0, 409, 406, 0, 0, 407, 0, 414, 702, + 414, 410, 0, 412, 0, 427, 418, 416, 415, 433, + + 424, 473, 475, 479, 0, 433, 488, 0, 434, 0, + 430, 0, 447, 474, 0, 477, 452, 463, 0, 0, + 0, 495, 483, 497, 499, 0, 486, 471, 0, 493, + 497, 498, 476, 483, 522, 509, 514, 512, 543, 555, + 702, 0, 0, 508, 519, 0, 0, 515, 561, 530, + 567, 578, 534, 0, 538, 584, 550, 589, 593, 0, + 702, 595, 702, 599, 559, 603, 563, 610, 615, 616, + 620, 702, 657, 659, 662, 665, 671, 676, 681, 684, + 689, 691, 696 } ; -static yyconst flex_int16_t yy_def[282] = +static yyconst flex_int16_t yy_def[284] = { 0, - 270, 1, 270, 270, 270, 270, 270, 270, 271, 272, - 270, 270, 270, 270, 270, 270, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 270, 270, 270, 270, 270, 270, - 270, 270, 271, 270, 274, 270, 275, 270, 270, 270, - 270, 270, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 270, 270, 270, 274, 275, 270, 273, - - 273, 273, 273, 273, 273, 273, 273, 276, 273, 273, - 273, 273, 270, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 270, - 273, 273, 273, 273, 273, 273, 273, 277, 278, 273, - 273, 273, 273, 270, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 279, 273, 273, 273, 273, 273, 270, 273, - 273, 273, 280, 278, 273, 273, 273, 270, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 279, - - 279, 279, 273, 273, 270, 273, 273, 280, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 270, - 270, 279, 279, 273, 270, 273, 273, 273, 273, 273, - 273, 273, 270, 270, 270, 270, 279, 279, 270, 273, - 273, 273, 273, 273, 273, 270, 270, 270, 279, 279, - 273, 273, 270, 281, 270, 270, 270, 273, 270, 281, - 270, 270, 270, 270, 270, 270, 270, 281, 281, 0, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270 + 272, 1, 272, 272, 272, 272, 272, 272, 273, 274, + 272, 272, 272, 272, 272, 272, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 273, 272, 276, 272, 277, 272, 272, + 272, 272, 272, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 272, 272, 272, 272, 276, 277, + + 272, 275, 275, 275, 275, 275, 275, 275, 275, 278, + 275, 275, 275, 275, 272, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 272, 275, 275, 275, 275, 275, 275, 275, 279, + 280, 275, 275, 275, 275, 272, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 281, 275, 275, 275, 275, 275, + 272, 275, 275, 275, 282, 280, 275, 275, 275, 272, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + + 275, 281, 281, 281, 275, 275, 272, 275, 275, 282, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 272, 272, 281, 281, 275, 272, 275, 275, 275, + 275, 275, 275, 275, 272, 272, 272, 272, 281, 281, + 272, 275, 275, 275, 275, 275, 275, 272, 272, 272, + 281, 281, 275, 275, 272, 283, 272, 272, 272, 275, + 272, 283, 272, 272, 272, 272, 272, 272, 272, 283, + 283, 0, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272 } ; -static yyconst flex_int16_t yy_nxt[762] = +static yyconst flex_int16_t yy_nxt[768] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 11, 13, 4, 14, 15, 11, 16, 17, 18, 19, 20, @@ -527,87 +528,87 @@ static yyconst flex_int16_t yy_nxt[762] = 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, 57, 113, - 59, 42, 113, 55, 58, 42, 99, 60, 65, 61, - - 99, 66, 84, 63, 44, 70, 48, 49, 52, 62, - 71, 54, 56, 57, 59, 101, 42, 55, 58, 64, - 42, 60, 65, 61, 67, 66, 102, 84, 63, 75, - 70, 68, 85, 62, 71, 72, 47, 69, 76, 73, - 101, 46, 86, 64, 81, 96, 87, 100, 74, 67, - 82, 102, 44, 83, 75, 68, 77, 85, 270, 270, - 72, 69, 76, 78, 73, 79, 86, 80, 81, 96, - 87, 100, 74, 88, 82, 103, 89, 83, 91, 92, - 40, 77, 90, 40, 93, 148, 270, 78, 148, 79, - 270, 80, 94, 38, 38, 95, 53, 104, 88, 42, - - 103, 89, 270, 91, 92, 107, 90, 108, 93, 95, - 38, 38, 95, 37, 38, 38, 39, 39, 38, 38, - 39, 104, 105, 109, 42, 40, 41, 41, 40, 107, - 112, 106, 108, 110, 111, 270, 114, 115, 116, 270, - 117, 118, 119, 125, 42, 121, 105, 120, 109, 123, - 124, 126, 270, 129, 112, 106, 130, 127, 110, 111, - 114, 115, 122, 116, 117, 118, 128, 119, 125, 42, - 121, 120, 131, 123, 124, 132, 126, 129, 133, 135, - 130, 134, 127, 136, 270, 138, 122, 137, 270, 139, - 128, 94, 38, 38, 95, 140, 131, 141, 145, 132, - - 142, 143, 144, 133, 135, 134, 146, 147, 136, 138, - 150, 151, 137, 139, 95, 38, 38, 95, 152, 140, - 153, 159, 141, 145, 142, 143, 144, 155, 113, 156, - 146, 113, 147, 158, 150, 151, 160, 270, 157, 161, - 162, 163, 152, 164, 165, 153, 159, 166, 167, 168, - 169, 155, 170, 270, 156, 171, 172, 158, 175, 176, - 160, 154, 157, 161, 177, 162, 163, 164, 165, 178, - 179, 166, 167, 168, 180, 169, 181, 170, 173, 171, - 172, 173, 175, 176, 182, 154, 185, 148, 186, 177, - 148, 187, 270, 188, 178, 179, 189, 193, 180, 190, - - 181, 191, 192, 194, 270, 174, 195, 196, 197, 182, - 185, 198, 199, 186, 203, 173, 187, 188, 173, 204, - 206, 189, 193, 190, 205, 191, 192, 205, 194, 174, - 207, 195, 196, 197, 209, 198, 199, 210, 211, 203, - 201, 212, 213, 214, 204, 206, 215, 202, 216, 217, - 218, 220, 219, 228, 220, 207, 270, 270, 209, 221, - 224, 210, 211, 226, 201, 212, 220, 213, 214, 220, - 215, 202, 216, 217, 221, 218, 219, 220, 228, 205, - 220, 222, 205, 229, 224, 221, 227, 226, 230, 270, - 231, 232, 220, 233, 234, 220, 233, 239, 270, 270, - - 221, 240, 225, 270, 241, 242, 222, 223, 229, 236, - 227, 234, 243, 230, 231, 232, 244, 245, 246, 234, - 220, 235, 239, 220, 237, 240, 236, 225, 221, 241, - 242, 223, 233, 236, 247, 233, 234, 243, 248, 220, - 244, 245, 220, 246, 251, 235, 220, 221, 237, 220, - 236, 238, 252, 253, 221, 254, 255, 258, 254, 247, - 235, 256, 257, 248, 256, 257, 259, 261, 251, 221, - 221, 254, 249, 266, 254, 238, 252, 253, 270, 250, - 255, 258, 262, 264, 235, 262, 264, 270, 267, 270, - 270, 259, 261, 270, 262, 270, 249, 262, 266, 264, - - 234, 234, 264, 250, 268, 269, 268, 268, 269, 268, - 263, 265, 270, 267, 269, 236, 236, 269, 270, 270, - 270, 270, 263, 270, 270, 234, 234, 265, 270, 270, - 270, 270, 270, 270, 263, 265, 270, 270, 270, 236, - 236, 270, 270, 270, 270, 270, 263, 270, 270, 270, - 270, 265, 43, 43, 270, 43, 43, 43, 45, 45, - 53, 53, 53, 97, 97, 97, 98, 98, 270, 98, - 98, 98, 149, 270, 149, 149, 149, 183, 270, 270, - 183, 183, 184, 184, 184, 200, 270, 270, 200, 208, - 208, 208, 260, 270, 270, 260, 3, 270, 270, 270, - - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270 + 24, 34, 24, 24, 35, 36, 49, 50, 37, 38, + 39, 39, 40, 41, 42, 42, 41, 41, 42, 42, + 41, 40, 39, 39, 40, 51, 52, 55, 57, 58, + 115, 60, 43, 115, 56, 59, 43, 101, 61, 66, + + 62, 101, 67, 85, 64, 45, 71, 95, 95, 53, + 63, 72, 55, 57, 58, 60, 48, 43, 56, 59, + 65, 43, 61, 66, 62, 68, 67, 103, 85, 64, + 76, 71, 69, 86, 63, 72, 73, 47, 70, 77, + 74, 49, 50, 87, 65, 82, 98, 88, 102, 75, + 68, 83, 103, 45, 84, 76, 69, 78, 86, 272, + 272, 73, 70, 77, 79, 74, 80, 87, 81, 82, + 98, 88, 102, 75, 89, 83, 104, 90, 84, 92, + 93, 41, 78, 91, 41, 94, 150, 272, 79, 150, + 80, 272, 81, 96, 39, 39, 97, 105, 272, 89, + + 43, 104, 90, 272, 92, 93, 106, 91, 110, 94, + 97, 39, 39, 97, 38, 39, 39, 40, 40, 39, + 39, 40, 105, 107, 109, 43, 41, 42, 42, 41, + 106, 114, 108, 110, 111, 112, 113, 272, 116, 117, + 118, 272, 119, 120, 121, 43, 127, 107, 109, 122, + 125, 123, 272, 126, 128, 114, 108, 272, 131, 111, + 112, 113, 116, 117, 132, 118, 119, 120, 124, 121, + 43, 127, 129, 122, 125, 133, 123, 126, 134, 128, + 136, 130, 131, 135, 137, 138, 272, 140, 132, 139, + 272, 141, 124, 96, 39, 39, 97, 129, 142, 133, + + 143, 147, 134, 144, 136, 130, 145, 146, 135, 137, + 138, 140, 148, 149, 139, 141, 97, 39, 39, 97, + 152, 150, 142, 153, 150, 143, 147, 144, 154, 155, + 145, 146, 54, 157, 115, 160, 148, 115, 149, 158, + 161, 272, 162, 164, 152, 163, 165, 153, 159, 166, + 167, 168, 154, 169, 155, 170, 171, 157, 172, 160, + 173, 174, 272, 177, 158, 161, 162, 156, 164, 163, + 178, 165, 159, 166, 167, 168, 179, 169, 180, 170, + 181, 171, 182, 172, 173, 174, 175, 177, 183, 175, + 184, 156, 187, 188, 178, 189, 207, 190, 191, 207, + + 192, 179, 193, 180, 194, 181, 182, 195, 196, 197, + 198, 199, 183, 176, 200, 184, 187, 201, 188, 175, + 189, 190, 175, 191, 192, 205, 193, 206, 194, 208, + 209, 215, 195, 196, 197, 198, 199, 176, 200, 211, + 212, 201, 213, 214, 203, 216, 272, 217, 218, 219, + 205, 204, 206, 220, 208, 209, 215, 221, 272, 272, + 272, 226, 228, 211, 212, 230, 213, 214, 203, 229, + 216, 217, 218, 219, 222, 204, 222, 222, 220, 222, + 222, 221, 223, 222, 223, 226, 228, 233, 223, 207, + 230, 224, 207, 229, 231, 232, 235, 234, 222, 235, + + 222, 222, 236, 222, 242, 272, 223, 241, 223, 246, + 225, 233, 227, 243, 236, 244, 224, 238, 245, 231, + 232, 234, 247, 235, 237, 248, 235, 236, 242, 238, + 239, 240, 241, 246, 225, 249, 250, 227, 243, 236, + 244, 238, 253, 245, 222, 254, 247, 222, 237, 255, + 248, 237, 223, 238, 239, 240, 222, 257, 261, 222, + 249, 250, 256, 272, 223, 256, 253, 260, 258, 254, + 263, 258, 272, 255, 272, 237, 223, 251, 272, 259, + 268, 257, 259, 261, 269, 256, 272, 223, 256, 252, + 264, 260, 272, 264, 266, 263, 272, 266, 272, 272, + + 264, 251, 272, 264, 266, 268, 272, 266, 236, 269, + 272, 270, 236, 252, 270, 272, 271, 270, 265, 271, + 270, 271, 267, 238, 271, 272, 272, 238, 265, 272, + 272, 272, 267, 236, 272, 272, 272, 236, 272, 272, + 272, 272, 265, 272, 272, 272, 267, 238, 272, 272, + 272, 238, 265, 272, 272, 272, 267, 44, 44, 272, + 44, 44, 44, 46, 46, 54, 54, 54, 99, 99, + 99, 100, 100, 272, 100, 100, 100, 151, 272, 151, + 151, 151, 185, 272, 272, 185, 185, 186, 186, 186, + 202, 272, 272, 202, 210, 210, 210, 262, 272, 272, + + 262, 3, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272 } ; -static yyconst flex_int16_t yy_chk[762] = +static yyconst flex_int16_t yy_chk[768] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -615,84 +616,84 @@ static yyconst flex_int16_t yy_chk[762] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 14, 14, 2, 5, 5, - 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, - 8, 8, 8, 8, 15, 15, 17, 18, 19, 66, - 20, 6, 66, 17, 19, 7, 99, 21, 23, 21, - - 48, 23, 31, 22, 43, 26, 49, 49, 16, 21, - 26, 17, 18, 19, 20, 55, 6, 17, 19, 22, - 7, 21, 23, 21, 25, 23, 56, 31, 22, 28, - 26, 25, 32, 21, 26, 27, 13, 25, 28, 27, - 55, 12, 32, 22, 30, 42, 32, 54, 27, 25, - 30, 56, 9, 30, 28, 25, 29, 32, 3, 0, - 27, 25, 28, 29, 27, 29, 32, 29, 30, 42, - 32, 54, 27, 33, 30, 57, 33, 30, 34, 34, - 40, 29, 33, 40, 34, 108, 0, 29, 108, 29, - 0, 29, 35, 35, 35, 35, 108, 58, 33, 40, - - 57, 33, 0, 34, 34, 60, 33, 61, 34, 36, - 36, 36, 36, 37, 37, 37, 37, 39, 39, 39, - 39, 58, 59, 62, 40, 41, 41, 41, 41, 60, - 65, 59, 61, 63, 64, 0, 68, 68, 69, 0, - 70, 71, 72, 79, 41, 74, 59, 73, 62, 75, - 76, 81, 0, 83, 65, 59, 84, 82, 63, 64, - 68, 68, 74, 69, 70, 71, 82, 72, 79, 41, - 74, 73, 85, 75, 76, 86, 81, 83, 87, 89, - 84, 88, 82, 91, 0, 92, 74, 91, 0, 93, - 82, 94, 94, 94, 94, 96, 85, 100, 105, 86, - - 102, 103, 104, 87, 89, 88, 106, 107, 91, 92, - 109, 110, 91, 93, 95, 95, 95, 95, 111, 96, - 112, 117, 100, 105, 102, 103, 104, 114, 113, 115, - 106, 113, 107, 116, 109, 110, 118, 0, 115, 119, - 120, 122, 111, 123, 125, 112, 117, 126, 127, 128, - 130, 114, 132, 0, 115, 133, 134, 116, 136, 137, - 118, 113, 115, 119, 138, 120, 122, 123, 125, 139, - 140, 126, 127, 128, 141, 130, 142, 132, 135, 133, - 134, 135, 136, 137, 144, 113, 151, 148, 152, 138, - 148, 153, 0, 154, 139, 140, 155, 163, 141, 156, - - 142, 161, 162, 166, 0, 135, 167, 168, 169, 144, - 151, 170, 171, 152, 176, 173, 153, 154, 173, 177, - 181, 155, 163, 156, 179, 161, 162, 179, 166, 135, - 182, 167, 168, 169, 185, 170, 171, 187, 189, 176, - 173, 190, 192, 194, 177, 181, 195, 173, 196, 197, - 198, 200, 199, 211, 200, 182, 0, 0, 185, 200, - 204, 187, 189, 207, 173, 190, 201, 192, 194, 201, - 195, 173, 196, 197, 201, 198, 199, 202, 211, 205, - 202, 201, 205, 212, 204, 202, 209, 207, 214, 0, - 215, 216, 222, 220, 221, 222, 220, 225, 0, 0, - - 222, 226, 205, 0, 228, 229, 201, 202, 212, 221, - 209, 220, 230, 214, 215, 216, 231, 232, 234, 221, - 223, 220, 225, 223, 222, 226, 220, 205, 223, 228, - 229, 202, 233, 221, 235, 233, 220, 230, 236, 237, - 231, 232, 237, 234, 242, 220, 238, 237, 222, 238, - 220, 223, 243, 246, 238, 247, 248, 251, 247, 235, - 233, 249, 250, 236, 249, 250, 253, 255, 242, 249, - 250, 254, 237, 263, 254, 223, 243, 246, 0, 238, - 248, 251, 256, 257, 233, 256, 257, 260, 265, 0, - 260, 253, 255, 0, 262, 0, 237, 262, 263, 264, - - 256, 257, 264, 238, 266, 267, 268, 266, 267, 268, - 256, 257, 0, 265, 269, 256, 257, 269, 0, 0, - 0, 0, 262, 0, 0, 256, 257, 264, 0, 0, - 0, 0, 0, 0, 256, 257, 0, 0, 0, 256, - 257, 0, 0, 0, 0, 0, 262, 0, 0, 0, - 0, 264, 271, 271, 0, 271, 271, 271, 272, 272, - 273, 273, 273, 274, 274, 274, 275, 275, 0, 275, - 275, 275, 276, 0, 276, 276, 276, 277, 0, 0, - 277, 277, 278, 278, 278, 279, 0, 0, 279, 280, - 280, 280, 281, 0, 0, 281, 270, 270, 270, 270, - - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270 + 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, 18, 19, + 67, 20, 6, 67, 17, 19, 7, 101, 21, 23, + + 21, 49, 23, 31, 22, 44, 26, 35, 35, 16, + 21, 26, 17, 18, 19, 20, 13, 6, 17, 19, + 22, 7, 21, 23, 21, 25, 23, 56, 31, 22, + 28, 26, 25, 32, 21, 26, 27, 12, 25, 28, + 27, 50, 50, 32, 22, 30, 43, 32, 55, 27, + 25, 30, 56, 9, 30, 28, 25, 29, 32, 3, + 0, 27, 25, 28, 29, 27, 29, 32, 29, 30, + 43, 32, 55, 27, 33, 30, 57, 33, 30, 34, + 34, 41, 29, 33, 41, 34, 150, 0, 29, 150, + 29, 0, 29, 36, 36, 36, 36, 58, 0, 33, + + 41, 57, 33, 0, 34, 34, 59, 33, 62, 34, + 37, 37, 37, 37, 38, 38, 38, 38, 40, 40, + 40, 40, 58, 60, 61, 41, 42, 42, 42, 42, + 59, 66, 60, 62, 63, 64, 65, 0, 69, 69, + 70, 0, 71, 72, 73, 42, 80, 60, 61, 74, + 76, 75, 0, 77, 82, 66, 60, 0, 84, 63, + 64, 65, 69, 69, 85, 70, 71, 72, 75, 73, + 42, 80, 83, 74, 76, 86, 75, 77, 87, 82, + 89, 83, 84, 88, 90, 92, 0, 93, 85, 92, + 0, 94, 75, 96, 96, 96, 96, 83, 98, 86, + + 102, 107, 87, 104, 89, 83, 105, 106, 88, 90, + 92, 93, 108, 109, 92, 94, 97, 97, 97, 97, + 111, 110, 98, 112, 110, 102, 107, 104, 113, 114, + 105, 106, 110, 116, 115, 118, 108, 115, 109, 117, + 119, 0, 120, 122, 111, 121, 124, 112, 117, 125, + 127, 128, 113, 129, 114, 130, 132, 116, 134, 118, + 135, 136, 0, 138, 117, 119, 120, 115, 122, 121, + 139, 124, 117, 125, 127, 128, 140, 129, 141, 130, + 142, 132, 143, 134, 135, 136, 137, 138, 144, 137, + 146, 115, 153, 154, 139, 155, 181, 156, 157, 181, + + 158, 140, 163, 141, 164, 142, 143, 165, 168, 169, + 170, 171, 144, 137, 172, 146, 153, 173, 154, 175, + 155, 156, 175, 157, 158, 178, 163, 179, 164, 183, + 184, 194, 165, 168, 169, 170, 171, 137, 172, 187, + 189, 173, 191, 192, 175, 196, 0, 197, 198, 199, + 178, 175, 179, 200, 183, 184, 194, 201, 0, 0, + 0, 206, 209, 187, 189, 213, 191, 192, 175, 211, + 196, 197, 198, 199, 202, 175, 203, 202, 200, 203, + 204, 201, 202, 204, 203, 206, 209, 217, 204, 207, + 213, 203, 207, 211, 214, 216, 222, 218, 224, 222, + + 225, 224, 223, 225, 228, 0, 224, 227, 225, 233, + 204, 217, 207, 230, 222, 231, 203, 223, 232, 214, + 216, 218, 234, 235, 222, 236, 235, 223, 228, 222, + 224, 225, 227, 233, 204, 237, 238, 207, 230, 222, + 231, 223, 244, 232, 239, 245, 234, 239, 222, 248, + 236, 235, 239, 222, 224, 225, 240, 250, 255, 240, + 237, 238, 249, 0, 240, 249, 244, 253, 251, 245, + 257, 251, 0, 248, 0, 235, 251, 239, 0, 252, + 265, 250, 252, 255, 267, 256, 0, 252, 256, 240, + 258, 253, 0, 258, 259, 257, 262, 259, 0, 262, + + 264, 239, 0, 264, 266, 265, 0, 266, 258, 267, + 0, 268, 259, 240, 268, 0, 269, 270, 258, 269, + 270, 271, 259, 258, 271, 0, 0, 259, 264, 0, + 0, 0, 266, 258, 0, 0, 0, 259, 0, 0, + 0, 0, 258, 0, 0, 0, 259, 258, 0, 0, + 0, 259, 264, 0, 0, 0, 266, 273, 273, 0, + 273, 273, 273, 274, 274, 275, 275, 275, 276, 276, + 276, 277, 277, 0, 277, 277, 277, 278, 0, 278, + 278, 278, 279, 0, 0, 279, 279, 280, 280, 280, + 281, 0, 0, 281, 282, 282, 282, 283, 0, 0, + + 283, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272 } ; static yy_state_type yy_last_accepting_state; @@ -780,7 +781,7 @@ static int checkImmediate(int token) { return token; } -#line 784 "engines/director/lingo/lingo-lex.cpp" +#line 785 "engines/director/lingo/lingo-lex.cpp" #define INITIAL 0 @@ -966,7 +967,7 @@ YY_DECL #line 85 "engines/director/lingo/lingo-lex.l" -#line 970 "engines/director/lingo/lingo-lex.cpp" +#line 971 "engines/director/lingo/lingo-lex.cpp" if ( !(yy_init) ) { @@ -1020,13 +1021,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 >= 271 ) + if ( yy_current_state >= 273 ) 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] != 697 ); + while ( yy_base[yy_current_state] != 702 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1051,85 +1052,91 @@ do_action: /* This label is used only to access EOF actions. */ goto yy_find_action; case 1: +/* rule 1 can match eol */ YY_RULE_SETUP #line 87 "engines/director/lingo/lingo-lex.l" - +{ g_lingo->_linenumber++; g_lingo->_colnumber = 0; } YY_BREAK case 2: YY_RULE_SETUP #line 88 "engines/director/lingo/lingo-lex.l" -{ count(); } + YY_BREAK case 3: YY_RULE_SETUP #line 89 "engines/director/lingo/lingo-lex.l" -{ count(); return ' '; } +{ count(); } YY_BREAK case 4: YY_RULE_SETUP -#line 91 "engines/director/lingo/lingo-lex.l" -{ count(); yylval.s = new Common::String(yytext); return SYMBOL; } // D3 +#line 90 "engines/director/lingo/lingo-lex.l" +{ count(); return ' '; } YY_BREAK case 5: YY_RULE_SETUP -#line 93 "engines/director/lingo/lingo-lex.l" -{ count(); return tAFTER; } // D3 +#line 92 "engines/director/lingo/lingo-lex.l" +{ count(); yylval.s = new Common::String(yytext); return SYMBOL; } // D3 YY_BREAK case 6: YY_RULE_SETUP #line 94 "engines/director/lingo/lingo-lex.l" -{ count(); return tAND; } +{ count(); return tAFTER; } // D3 YY_BREAK case 7: YY_RULE_SETUP #line 95 "engines/director/lingo/lingo-lex.l" -{ count(); return tBEFORE; } // D3 +{ count(); return tAND; } YY_BREAK case 8: YY_RULE_SETUP #line 96 "engines/director/lingo/lingo-lex.l" -{ count(); return tCHAR; } // D3 +{ count(); return tBEFORE; } // D3 YY_BREAK case 9: YY_RULE_SETUP #line 97 "engines/director/lingo/lingo-lex.l" -{ count(); return tCONTAINS; } +{ count(); return tCHAR; } // D3 YY_BREAK case 10: YY_RULE_SETUP #line 98 "engines/director/lingo/lingo-lex.l" -{ count(); return tDONE; } +{ count(); return tCONTAINS; } YY_BREAK case 11: YY_RULE_SETUP #line 99 "engines/director/lingo/lingo-lex.l" -{ count(); return tDOWN; } +{ count(); return tDONE; } YY_BREAK case 12: YY_RULE_SETUP #line 100 "engines/director/lingo/lingo-lex.l" -{ count(); return tIF; } +{ count(); return tDOWN; } YY_BREAK case 13: -/* rule 13 can match eol */ YY_RULE_SETUP #line 101 "engines/director/lingo/lingo-lex.l" -{ countnl(); return tNLELSIF; } +{ count(); return tIF; } YY_BREAK case 14: /* rule 14 can match eol */ YY_RULE_SETUP #line 102 "engines/director/lingo/lingo-lex.l" -{ countnl(); return tNLELSE; } +{ countnl(); return tNLELSIF; } YY_BREAK case 15: +/* rule 15 can match eol */ YY_RULE_SETUP #line 103 "engines/director/lingo/lingo-lex.l" -{ count(); return tELSE; } +{ countnl(); return tNLELSE; } YY_BREAK case 16: YY_RULE_SETUP #line 104 "engines/director/lingo/lingo-lex.l" +{ count(); return tELSE; } + YY_BREAK +case 17: +YY_RULE_SETUP +#line 105 "engines/director/lingo/lingo-lex.l" { count(); @@ -1142,30 +1149,25 @@ YY_RULE_SETUP return ENDCLAUSE; } YY_BREAK -case 17: -YY_RULE_SETUP -#line 115 "engines/director/lingo/lingo-lex.l" -{ count(); return tFACTORY; } - YY_BREAK case 18: YY_RULE_SETUP #line 116 "engines/director/lingo/lingo-lex.l" -{ count(); return tEXIT; } +{ count(); return tFACTORY; } YY_BREAK case 19: YY_RULE_SETUP #line 117 "engines/director/lingo/lingo-lex.l" -{ count(); return tFRAME; } +{ count(); return tEXIT; } YY_BREAK case 20: YY_RULE_SETUP #line 118 "engines/director/lingo/lingo-lex.l" -{ count(); return tGLOBAL; } +{ count(); return tFRAME; } YY_BREAK case 21: YY_RULE_SETUP #line 119 "engines/director/lingo/lingo-lex.l" -{ count(); return tGO; } +{ count(); return tGLOBAL; } YY_BREAK case 22: YY_RULE_SETUP @@ -1175,131 +1177,136 @@ YY_RULE_SETUP case 23: YY_RULE_SETUP #line 121 "engines/director/lingo/lingo-lex.l" -{ count(); return tINSTANCE; } +{ count(); return tGO; } YY_BREAK case 24: YY_RULE_SETUP #line 122 "engines/director/lingo/lingo-lex.l" -{ count(); return tINTERSECTS; } +{ count(); return tINSTANCE; } YY_BREAK case 25: YY_RULE_SETUP #line 123 "engines/director/lingo/lingo-lex.l" -{ count(); return tINTO; } +{ count(); return tINTERSECTS; } YY_BREAK case 26: YY_RULE_SETUP #line 124 "engines/director/lingo/lingo-lex.l" -{ count(); return tITEM; } +{ count(); return tINTO; } YY_BREAK case 27: YY_RULE_SETUP #line 125 "engines/director/lingo/lingo-lex.l" -{ count(); return tLINE; } +{ count(); return tITEM; } YY_BREAK case 28: YY_RULE_SETUP #line 126 "engines/director/lingo/lingo-lex.l" -{ count(); return checkImmediate(tLOOP); } +{ count(); return tLINE; } YY_BREAK case 29: YY_RULE_SETUP #line 127 "engines/director/lingo/lingo-lex.l" -{ count(); return tMACRO; } +{ count(); return checkImmediate(tLOOP); } YY_BREAK case 30: YY_RULE_SETUP #line 128 "engines/director/lingo/lingo-lex.l" -{ count(); return tMETHOD; } +{ count(); return tMACRO; } YY_BREAK case 31: YY_RULE_SETUP #line 129 "engines/director/lingo/lingo-lex.l" -{ count(); return tMOD; } +{ count(); return tMETHOD; } YY_BREAK case 32: YY_RULE_SETUP #line 130 "engines/director/lingo/lingo-lex.l" -{ count(); return tMOVIE; } +{ count(); return tMOD; } YY_BREAK case 33: YY_RULE_SETUP #line 131 "engines/director/lingo/lingo-lex.l" -{ count(); return tNEXT; } +{ count(); return tMOVIE; } YY_BREAK case 34: YY_RULE_SETUP #line 132 "engines/director/lingo/lingo-lex.l" -{ count(); return tNOT; } +{ count(); return tNEXT; } YY_BREAK case 35: YY_RULE_SETUP #line 133 "engines/director/lingo/lingo-lex.l" -{ count(); return tOF; } +{ count(); return tNOT; } YY_BREAK case 36: YY_RULE_SETUP #line 134 "engines/director/lingo/lingo-lex.l" -{ count(); return tON; } // D3 +{ count(); return tOF; } YY_BREAK case 37: YY_RULE_SETUP #line 135 "engines/director/lingo/lingo-lex.l" -{ count(); return tOPEN; } +{ count(); return tON; } // D3 YY_BREAK case 38: YY_RULE_SETUP #line 136 "engines/director/lingo/lingo-lex.l" -{ count(); return tOR; } +{ count(); return tOPEN; } YY_BREAK case 39: YY_RULE_SETUP #line 137 "engines/director/lingo/lingo-lex.l" -{ count(); return tPLAY; } +{ count(); return tOR; } YY_BREAK case 40: YY_RULE_SETUP #line 138 "engines/director/lingo/lingo-lex.l" -{ count(); yylval.s = new Common::String(yytext); return tPLAYACCEL; } +{ count(); return tPLAY; } YY_BREAK case 41: YY_RULE_SETUP #line 139 "engines/director/lingo/lingo-lex.l" -{ count(); return tPREVIOUS; } +{ count(); yylval.s = new Common::String(yytext); return tPLAYACCEL; } YY_BREAK case 42: YY_RULE_SETUP #line 140 "engines/director/lingo/lingo-lex.l" -{ count(); return tPROPERTY; } // D4 +{ count(); return tPREVIOUS; } YY_BREAK case 43: YY_RULE_SETUP #line 141 "engines/director/lingo/lingo-lex.l" -{ count(); return tPUT; } +{ count(); return tPROPERTY; } // D4 YY_BREAK case 44: YY_RULE_SETUP #line 142 "engines/director/lingo/lingo-lex.l" -{ count(); return checkImmediate(tREPEAT); } +{ count(); return tPUT; } YY_BREAK case 45: YY_RULE_SETUP #line 143 "engines/director/lingo/lingo-lex.l" -{ count(); return tSET; } +{ count(); return checkImmediate(tREPEAT); } YY_BREAK case 46: YY_RULE_SETUP #line 144 "engines/director/lingo/lingo-lex.l" -{ count(); return tSTARTS; } +{ count(); return tSET; } YY_BREAK case 47: YY_RULE_SETUP #line 145 "engines/director/lingo/lingo-lex.l" -{ count(); return tTELL; } +{ count(); return tSTARTS; } YY_BREAK case 48: YY_RULE_SETUP #line 146 "engines/director/lingo/lingo-lex.l" +{ count(); return tTELL; } + YY_BREAK +case 49: +YY_RULE_SETUP +#line 147 "engines/director/lingo/lingo-lex.l" { count(); @@ -1309,9 +1316,9 @@ YY_RULE_SETUP return THEENTITYWITHID; } YY_BREAK -case 49: +case 50: YY_RULE_SETUP -#line 154 "engines/director/lingo/lingo-lex.l" +#line 155 "engines/director/lingo/lingo-lex.l" { count(); @@ -1321,9 +1328,9 @@ YY_RULE_SETUP return THEENTITYWITHID; } YY_BREAK -case 50: +case 51: YY_RULE_SETUP -#line 162 "engines/director/lingo/lingo-lex.l" +#line 163 "engines/director/lingo/lingo-lex.l" { count(); @@ -1365,9 +1372,9 @@ YY_RULE_SETUP warning("Unhandled the entity %s", ptr); } YY_BREAK -case 51: +case 52: YY_RULE_SETUP -#line 202 "engines/director/lingo/lingo-lex.l" +#line 203 "engines/director/lingo/lingo-lex.l" { count(); @@ -1400,9 +1407,9 @@ YY_RULE_SETUP return THEENTITY; } YY_BREAK -case 52: +case 53: YY_RULE_SETUP -#line 233 "engines/director/lingo/lingo-lex.l" +#line 234 "engines/director/lingo/lingo-lex.l" { count(); @@ -1423,69 +1430,69 @@ YY_RULE_SETUP warning("Unhandled the entity %s", ptr); } YY_BREAK -case 53: -YY_RULE_SETUP -#line 252 "engines/director/lingo/lingo-lex.l" -{ count(); return tTHEN; } - YY_BREAK case 54: YY_RULE_SETUP #line 253 "engines/director/lingo/lingo-lex.l" -{ count(); return tTO; } +{ count(); return tTHEN; } YY_BREAK case 55: YY_RULE_SETUP #line 254 "engines/director/lingo/lingo-lex.l" -{ count(); return tSPRITE; } +{ count(); return tTO; } YY_BREAK case 56: YY_RULE_SETUP #line 255 "engines/director/lingo/lingo-lex.l" -{ count(); return tWITH; } +{ count(); return tSPRITE; } YY_BREAK case 57: YY_RULE_SETUP #line 256 "engines/director/lingo/lingo-lex.l" -{ count(); return tWITHIN; } +{ count(); return tWITH; } YY_BREAK case 58: YY_RULE_SETUP #line 257 "engines/director/lingo/lingo-lex.l" -{ count(); return tWHEN; } +{ count(); return tWITHIN; } YY_BREAK case 59: YY_RULE_SETUP #line 258 "engines/director/lingo/lingo-lex.l" -{ count(); return tWHILE; } +{ count(); return tWHEN; } YY_BREAK case 60: YY_RULE_SETUP #line 259 "engines/director/lingo/lingo-lex.l" -{ count(); return tWORD; } +{ count(); return tWHILE; } YY_BREAK case 61: YY_RULE_SETUP -#line 261 "engines/director/lingo/lingo-lex.l" -{ count(); return tNEQ; } +#line 260 "engines/director/lingo/lingo-lex.l" +{ count(); return tWORD; } YY_BREAK case 62: YY_RULE_SETUP #line 262 "engines/director/lingo/lingo-lex.l" -{ count(); return tGE; } +{ count(); return tNEQ; } YY_BREAK case 63: YY_RULE_SETUP #line 263 "engines/director/lingo/lingo-lex.l" -{ count(); return tLE; } +{ count(); return tGE; } YY_BREAK case 64: YY_RULE_SETUP #line 264 "engines/director/lingo/lingo-lex.l" -{ count(); return tCONCAT; } +{ count(); return tLE; } YY_BREAK case 65: YY_RULE_SETUP -#line 266 "engines/director/lingo/lingo-lex.l" +#line 265 "engines/director/lingo/lingo-lex.l" +{ count(); return tCONCAT; } + YY_BREAK +case 66: +YY_RULE_SETUP +#line 267 "engines/director/lingo/lingo-lex.l" { count(); yylval.s = new Common::String(yytext); @@ -1532,43 +1539,43 @@ YY_RULE_SETUP return ID; } YY_BREAK -case 66: -YY_RULE_SETUP -#line 311 "engines/director/lingo/lingo-lex.l" -{ count(); yylval.f = atof(yytext); return FLOAT; } - YY_BREAK case 67: YY_RULE_SETUP #line 312 "engines/director/lingo/lingo-lex.l" -{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; } +{ count(); yylval.f = atof(yytext); return FLOAT; } YY_BREAK case 68: YY_RULE_SETUP #line 313 "engines/director/lingo/lingo-lex.l" -{ count(); return *yytext; } +{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; } YY_BREAK case 69: -/* rule 69 can match eol */ YY_RULE_SETUP #line 314 "engines/director/lingo/lingo-lex.l" -{ return '\n'; } +{ count(); return *yytext; } YY_BREAK case 70: +/* rule 70 can match eol */ YY_RULE_SETUP #line 315 "engines/director/lingo/lingo-lex.l" -{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; } +{ return '\n'; } YY_BREAK case 71: YY_RULE_SETUP #line 316 "engines/director/lingo/lingo-lex.l" -{ count(); } +{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; } YY_BREAK case 72: YY_RULE_SETUP -#line 318 "engines/director/lingo/lingo-lex.l" +#line 317 "engines/director/lingo/lingo-lex.l" +{ count(); } + YY_BREAK +case 73: +YY_RULE_SETUP +#line 319 "engines/director/lingo/lingo-lex.l" ECHO; YY_BREAK -#line 1572 "engines/director/lingo/lingo-lex.cpp" +#line 1579 "engines/director/lingo/lingo-lex.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1861,7 +1868,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 >= 271 ) + if ( yy_current_state >= 273 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -1889,11 +1896,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 >= 271 ) + if ( yy_current_state >= 273 ) 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 == 270); + yy_is_jam = (yy_current_state == 272); return yy_is_jam ? 0 : yy_current_state; } @@ -2531,7 +2538,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 318 "engines/director/lingo/lingo-lex.l" +#line 319 "engines/director/lingo/lingo-lex.l" diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l index 0f6dd5894f..a53a2f04de 100644 --- a/engines/director/lingo/lingo-lex.l +++ b/engines/director/lingo/lingo-lex.l @@ -84,6 +84,7 @@ whitespace [\t ] %% +\xC2[\r\n] { g_lingo->_linenumber++; g_lingo->_colnumber = 0; } --[^\r\n]* ^{whitespace}+ { count(); } [\t]+ { count(); return ' '; } |