[Scummvm-git-logs] scummvm master -> 5a5c6935cab33871043430cca82a4eeac48630d6
sev-
sev at scummvm.org
Thu May 14 22:43:49 UTC 2020
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
5a5c6935ca DIRECTOR: LINGO: Process continuation symbol in strings
Commit: 5a5c6935cab33871043430cca82a4eeac48630d6
https://github.com/scummvm/scummvm/commit/5a5c6935cab33871043430cca82a4eeac48630d6
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-05-15T00:42:36+02:00
Commit Message:
DIRECTOR: LINGO: Process continuation symbol in strings
Changed paths:
engines/director/lingo/lingo-lex.cpp
engines/director/lingo/lingo-lex.l
diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index 3e228b489e..3a6b7d2d16 100644
--- a/engines/director/lingo/lingo-lex.cpp
+++ b/engines/director/lingo/lingo-lex.cpp
@@ -373,43 +373,43 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[314] =
+static yyconst flex_int16_t yy_accept[315] =
{ 0,
0, 0, 74, 72, 4, 70, 70, 72, 72, 72,
69, 69, 69, 68, 69, 65, 69, 66, 66, 66,
66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
66, 66, 66, 66, 72, 3, 3, 66, 4, 70,
- 0, 0, 0, 71, 5, 64, 2, 67, 68, 63,
- 61, 62, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 12, 24, 66, 66, 66, 66,
- 66, 66, 66, 66, 34, 35, 66, 37, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 54, 66, 66,
- 66, 1, 3, 3, 0, 66, 5, 2, 67, 66,
-
- 7, 66, 66, 66, 66, 66, 15, 66, 66, 20,
- 66, 66, 66, 66, 66, 66, 66, 30, 66, 66,
- 33, 66, 66, 66, 66, 43, 66, 45, 66, 66,
- 66, 66, 66, 66, 66, 66, 0, 66, 66, 66,
- 9, 66, 11, 14, 0, 17, 66, 0, 0, 66,
- 66, 23, 25, 26, 27, 66, 66, 66, 32, 36,
- 39, 66, 66, 66, 66, 66, 47, 0, 53, 58,
- 66, 56, 60, 0, 66, 6, 66, 66, 0, 15,
- 66, 0, 20, 66, 66, 28, 66, 31, 0, 66,
- 66, 66, 66, 66, 66, 52, 52, 52, 59, 66,
-
- 0, 66, 8, 66, 0, 15, 18, 0, 0, 66,
- 66, 66, 0, 66, 66, 66, 44, 55, 46, 0,
- 0, 52, 52, 57, 0, 66, 66, 13, 0, 66,
- 66, 0, 29, 0, 66, 66, 66, 0, 0, 0,
- 0, 52, 52, 0, 16, 10, 19, 21, 66, 29,
- 29, 0, 66, 41, 42, 0, 0, 0, 52, 52,
- 16, 66, 29, 0, 40, 0, 0, 0, 0, 52,
- 22, 38, 51, 50, 51, 0, 0, 0, 0, 52,
- 50, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 51, 50, 50, 51, 0,
-
- 49, 50, 50, 0, 50, 0, 50, 0, 0, 0,
- 0, 48, 0
+ 0, 0, 0, 71, 0, 5, 64, 2, 67, 68,
+ 63, 61, 62, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 12, 24, 66, 66, 66,
+ 66, 66, 66, 66, 66, 34, 35, 66, 37, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 54, 66,
+ 66, 66, 1, 3, 3, 0, 66, 5, 2, 67,
+
+ 66, 7, 66, 66, 66, 66, 66, 15, 66, 66,
+ 20, 66, 66, 66, 66, 66, 66, 66, 30, 66,
+ 66, 33, 66, 66, 66, 66, 43, 66, 45, 66,
+ 66, 66, 66, 66, 66, 66, 66, 0, 66, 66,
+ 66, 9, 66, 11, 14, 0, 17, 66, 0, 0,
+ 66, 66, 23, 25, 26, 27, 66, 66, 66, 32,
+ 36, 39, 66, 66, 66, 66, 66, 47, 0, 53,
+ 58, 66, 56, 60, 0, 66, 6, 66, 66, 0,
+ 15, 66, 0, 20, 66, 66, 28, 66, 31, 0,
+ 66, 66, 66, 66, 66, 66, 52, 52, 52, 59,
+
+ 66, 0, 66, 8, 66, 0, 15, 18, 0, 0,
+ 66, 66, 66, 0, 66, 66, 66, 44, 55, 46,
+ 0, 0, 52, 52, 57, 0, 66, 66, 13, 0,
+ 66, 66, 0, 29, 0, 66, 66, 66, 0, 0,
+ 0, 0, 52, 52, 0, 16, 10, 19, 21, 66,
+ 29, 29, 0, 66, 41, 42, 0, 0, 0, 52,
+ 52, 16, 66, 29, 0, 40, 0, 0, 0, 0,
+ 52, 22, 38, 51, 50, 51, 0, 0, 0, 0,
+ 52, 50, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 51, 50, 50, 51,
+
+ 0, 49, 50, 50, 0, 50, 0, 50, 0, 0,
+ 0, 0, 48, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -455,87 +455,89 @@ static yyconst flex_int32_t yy_meta[64] =
5, 5, 1
} ;
-static yyconst flex_int16_t yy_base[331] =
+static yyconst flex_int16_t yy_base[332] =
{ 0,
- 0, 62, 169, 834, 66, 834, 834, 70, 124, 0,
- 834, 119, 115, 53, 61, 834, 109, 57, 57, 57,
- 53, 61, 0, 62, 85, 68, 106, 95, 112, 118,
- 59, 118, 141, 130, 91, 188, 193, 79, 197, 834,
- 201, 97, 112, 834, 0, 834, 0, 84, 144, 834,
- 834, 834, 0, 104, 126, 162, 168, 159, 170, 179,
- 193, 189, 187, 80, 0, 185, 199, 193, 193, 205,
- 192, 211, 189, 195, 0, 0, 212, 0, 226, 232,
- 202, 227, 227, 231, 237, 238, 245, 0, 247, 237,
- 242, 834, 296, 300, 252, 263, 0, 0, 78, 262,
-
- 0, 257, 257, 257, 279, 274, 130, 275, 293, 311,
- 281, 296, 292, 302, 290, 293, 303, 0, 303, 296,
- 0, 308, 300, 314, 323, 0, 313, 0, 315, 323,
- 329, 364, 332, 338, 343, 350, 352, 340, 343, 344,
- 0, 355, 0, 172, 223, 0, 363, 350, 353, 368,
- 355, 0, 0, 0, 0, 359, 360, 379, 0, 0,
- 406, 376, 381, 386, 358, 373, 0, 412, 0, 0,
- 397, 394, 0, 387, 392, 0, 407, 404, 429, 0,
- 405, 416, 271, 406, 403, 0, 417, 0, 444, 429,
- 410, 418, 417, 435, 427, 465, 474, 483, 0, 440,
-
- 441, 445, 0, 452, 443, 0, 0, 454, 494, 467,
- 466, 493, 465, 482, 468, 473, 0, 0, 0, 512,
- 493, 519, 526, 0, 480, 483, 501, 834, 488, 498,
- 504, 546, 0, 521, 518, 511, 510, 553, 543, 539,
- 539, 566, 568, 520, 0, 0, 834, 0, 532, 0,
- 0, 546, 552, 0, 0, 546, 585, 553, 589, 591,
- 834, 559, 0, 574, 0, 577, 603, 586, 609, 615,
- 0, 834, 834, 0, 834, 611, 616, 622, 630, 632,
- 0, 616, 643, 647, 654, 658, 599, 604, 659, 669,
- 682, 671, 608, 670, 681, 688, 629, 645, 693, 704,
-
- 834, 705, 711, 712, 718, 696, 723, 656, 697, 727,
- 728, 834, 834, 763, 765, 768, 771, 777, 782, 787,
- 789, 794, 799, 802, 805, 810, 815, 817, 822, 827
+ 0, 62, 128, 847, 66, 847, 847, 70, 59, 0,
+ 847, 115, 108, 64, 63, 847, 84, 58, 45, 58,
+ 56, 62, 0, 65, 91, 68, 86, 105, 120, 109,
+ 60, 126, 149, 138, 93, 196, 201, 113, 205, 847,
+ 209, 98, 77, 847, 178, 0, 847, 0, 81, 133,
+ 847, 847, 847, 0, 98, 133, 139, 148, 140, 156,
+ 163, 195, 195, 187, 219, 0, 192, 201, 198, 198,
+ 210, 197, 216, 194, 199, 0, 0, 213, 0, 220,
+ 236, 228, 232, 231, 235, 228, 243, 250, 0, 252,
+ 242, 247, 847, 301, 305, 257, 268, 0, 0, 72,
+
+ 270, 0, 264, 264, 278, 284, 271, 233, 280, 282,
+ 316, 286, 301, 297, 307, 295, 298, 308, 0, 308,
+ 306, 0, 313, 305, 319, 327, 0, 324, 0, 334,
+ 329, 339, 369, 341, 345, 351, 356, 358, 345, 348,
+ 350, 0, 368, 0, 278, 385, 0, 369, 356, 361,
+ 375, 362, 0, 0, 0, 0, 366, 367, 383, 0,
+ 0, 410, 381, 386, 391, 379, 384, 0, 420, 0,
+ 0, 403, 401, 0, 389, 399, 0, 412, 409, 435,
+ 0, 411, 418, 437, 414, 411, 0, 425, 0, 451,
+ 435, 432, 431, 430, 434, 432, 466, 472, 488, 0,
+
+ 451, 451, 451, 0, 462, 453, 0, 0, 464, 503,
+ 475, 474, 507, 469, 483, 472, 476, 0, 0, 0,
+ 527, 497, 532, 534, 0, 490, 488, 495, 847, 490,
+ 495, 524, 550, 0, 531, 532, 523, 519, 561, 542,
+ 546, 544, 568, 585, 535, 0, 0, 847, 0, 541,
+ 0, 0, 548, 555, 0, 0, 552, 599, 561, 605,
+ 611, 847, 561, 0, 575, 0, 579, 606, 585, 617,
+ 621, 0, 847, 847, 0, 847, 631, 637, 633, 638,
+ 639, 0, 620, 655, 657, 662, 663, 600, 612, 670,
+ 675, 680, 679, 649, 694, 701, 706, 665, 664, 716,
+
+ 717, 847, 721, 725, 729, 731, 710, 736, 685, 707,
+ 737, 741, 847, 847, 776, 778, 781, 784, 790, 795,
+ 800, 802, 807, 812, 815, 818, 823, 828, 830, 835,
+ 840
} ;
-static yyconst flex_int16_t yy_def[331] =
+static yyconst flex_int16_t yy_def[332] =
{ 0,
- 313, 1, 313, 313, 313, 313, 313, 313, 314, 315,
- 313, 313, 313, 313, 313, 313, 313, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 313, 313, 313, 316, 313, 313,
- 313, 313, 314, 313, 317, 313, 318, 313, 313, 313,
- 313, 313, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 313, 313, 313, 313, 316, 317, 318, 313, 316,
-
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 313,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 313, 316, 316, 316,
- 316, 316, 316, 316, 319, 316, 316, 313, 313, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 320, 316, 316,
- 316, 316, 316, 313, 316, 316, 316, 316, 313, 321,
- 316, 313, 313, 316, 316, 316, 316, 316, 313, 316,
- 316, 316, 316, 316, 316, 320, 320, 320, 316, 316,
-
- 313, 316, 316, 316, 313, 321, 316, 313, 313, 316,
- 316, 322, 313, 316, 316, 316, 316, 316, 316, 313,
- 313, 320, 320, 316, 313, 316, 316, 313, 313, 316,
- 316, 323, 324, 313, 316, 316, 316, 313, 313, 313,
- 313, 320, 320, 313, 316, 316, 313, 316, 316, 325,
- 324, 313, 316, 316, 316, 313, 313, 313, 320, 320,
- 313, 316, 325, 313, 316, 313, 326, 313, 327, 320,
- 316, 313, 313, 328, 313, 327, 327, 327, 327, 320,
- 328, 313, 327, 327, 327, 313, 313, 313, 327, 326,
- 327, 313, 313, 313, 313, 327, 328, 328, 327, 313,
-
- 313, 328, 328, 329, 330, 313, 330, 313, 313, 313,
- 313, 313, 0, 313, 313, 313, 313, 313, 313, 313,
- 313, 313, 313, 313, 313, 313, 313, 313, 313, 313
+ 314, 1, 314, 314, 314, 314, 314, 314, 315, 316,
+ 314, 314, 314, 314, 314, 314, 314, 317, 317, 317,
+ 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
+ 317, 317, 317, 317, 314, 314, 314, 317, 314, 314,
+ 314, 314, 315, 314, 315, 318, 314, 319, 314, 314,
+ 314, 314, 314, 317, 317, 317, 317, 317, 317, 317,
+ 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
+ 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
+ 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
+ 317, 317, 314, 314, 314, 314, 317, 318, 319, 314,
+
+ 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
+ 314, 317, 317, 317, 317, 317, 317, 317, 317, 317,
+ 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
+ 317, 317, 317, 317, 317, 317, 317, 314, 317, 317,
+ 317, 317, 317, 317, 317, 320, 317, 317, 314, 314,
+ 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
+ 317, 317, 317, 317, 317, 317, 317, 317, 321, 317,
+ 317, 317, 317, 317, 314, 317, 317, 317, 317, 314,
+ 322, 317, 314, 314, 317, 317, 317, 317, 317, 314,
+ 317, 317, 317, 317, 317, 317, 321, 321, 321, 317,
+
+ 317, 314, 317, 317, 317, 314, 322, 317, 314, 314,
+ 317, 317, 323, 314, 317, 317, 317, 317, 317, 317,
+ 314, 314, 321, 321, 317, 314, 317, 317, 314, 314,
+ 317, 317, 324, 325, 314, 317, 317, 317, 314, 314,
+ 314, 314, 321, 321, 314, 317, 317, 314, 317, 317,
+ 326, 325, 314, 317, 317, 317, 314, 314, 314, 321,
+ 321, 314, 317, 326, 314, 317, 314, 327, 314, 328,
+ 321, 317, 314, 314, 329, 314, 328, 328, 328, 328,
+ 321, 329, 314, 328, 328, 328, 314, 314, 314, 328,
+ 327, 328, 314, 314, 314, 314, 328, 329, 329, 328,
+
+ 314, 314, 329, 329, 330, 331, 314, 331, 314, 314,
+ 314, 314, 314, 0, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314
} ;
-static yyconst flex_int16_t yy_nxt[898] =
+static yyconst flex_int16_t yy_nxt[911] =
{ 0,
4, 5, 6, 7, 8, 9, 10, 11, 12, 11,
13, 4, 14, 15, 16, 17, 18, 19, 20, 21,
@@ -543,102 +545,103 @@ static yyconst flex_int16_t yy_nxt[898] =
30, 31, 32, 33, 23, 23, 34, 23, 23, 23,
18, 19, 20, 21, 22, 23, 24, 23, 25, 26,
27, 28, 29, 30, 31, 32, 33, 23, 23, 34,
- 23, 23, 35, 36, 48, 49, 37, 39, 40, 40,
- 41, 41, 40, 40, 41, 50, 51, 56, 54, 82,
- 57, 110, 59, 38, 110, 55, 58, 60, 63, 61,
- 99, 64, 68, 92, 92, 96, 99, 69, 62, 92,
-
- 92, 56, 54, 82, 57, 59, 65, 38, 55, 58,
- 60, 63, 61, 66, 64, 73, 68, 44, 67, 96,
- 69, 62, 70, 52, 74, 47, 71, 46, 42, 44,
- 65, 145, 42, 75, 145, 72, 66, 100, 83, 73,
- 76, 67, 77, 78, 79, 101, 70, 74, 84, 80,
- 71, 85, 81, 89, 90, 48, 49, 75, 72, 91,
- 100, 86, 83, 76, 87, 77, 78, 79, 313, 101,
- 88, 84, 80, 179, 85, 81, 179, 89, 90, 313,
- 313, 313, 91, 102, 103, 86, 313, 104, 87, 93,
- 40, 40, 94, 88, 94, 40, 40, 94, 39, 40,
-
- 40, 41, 41, 40, 40, 41, 105, 102, 103, 95,
- 104, 106, 107, 108, 95, 313, 109, 111, 112, 113,
- 313, 114, 115, 116, 145, 117, 120, 145, 121, 105,
- 118, 313, 122, 95, 106, 126, 107, 108, 95, 109,
- 111, 112, 123, 113, 114, 115, 119, 116, 117, 120,
- 42, 121, 124, 130, 118, 42, 122, 127, 126, 42,
- 128, 125, 129, 42, 131, 132, 123, 133, 137, 119,
- 135, 134, 209, 136, 313, 209, 124, 130, 313, 313,
- 127, 138, 139, 128, 125, 129, 140, 131, 141, 132,
- 142, 133, 137, 135, 144, 134, 136, 93, 40, 40,
-
- 94, 94, 40, 40, 94, 138, 139, 143, 146, 140,
- 147, 141, 110, 142, 150, 110, 151, 95, 144, 153,
- 155, 95, 154, 313, 156, 152, 157, 158, 313, 159,
- 143, 146, 148, 164, 147, 313, 160, 150, 161, 165,
- 151, 95, 153, 155, 149, 95, 154, 156, 152, 162,
- 157, 158, 159, 163, 166, 167, 148, 164, 42, 160,
- 170, 161, 42, 165, 171, 168, 172, 149, 168, 173,
- 174, 178, 162, 175, 176, 177, 163, 166, 167, 181,
- 313, 182, 183, 170, 184, 313, 185, 171, 186, 187,
- 172, 194, 169, 173, 174, 178, 175, 176, 177, 188,
-
- 191, 192, 193, 181, 182, 183, 195, 189, 184, 185,
- 189, 186, 187, 168, 194, 169, 168, 199, 200, 313,
- 201, 202, 190, 188, 191, 192, 193, 203, 204, 195,
- 179, 207, 208, 179, 210, 211, 212, 313, 197, 215,
- 198, 199, 200, 201, 202, 189, 190, 214, 189, 216,
- 217, 203, 204, 205, 207, 218, 208, 210, 211, 219,
- 212, 197, 215, 198, 228, 213, 220, 313, 224, 220,
- 225, 214, 216, 217, 221, 220, 226, 205, 220, 218,
- 227, 229, 219, 221, 220, 230, 231, 220, 228, 213,
- 222, 224, 221, 225, 232, 209, 234, 232, 209, 226,
-
- 235, 313, 236, 227, 229, 53, 237, 313, 247, 230,
- 231, 244, 239, 238, 222, 148, 238, 223, 248, 234,
- 220, 245, 249, 220, 235, 236, 241, 220, 221, 237,
- 220, 239, 247, 246, 244, 221, 239, 252, 253, 148,
- 223, 240, 248, 254, 245, 241, 249, 232, 255, 241,
- 232, 242, 313, 243, 238, 239, 246, 238, 261, 256,
- 257, 252, 253, 258, 240, 262, 254, 220, 241, 220,
- 220, 255, 220, 264, 242, 221, 243, 221, 265, 266,
- 268, 261, 240, 256, 257, 260, 267, 258, 262, 267,
- 269, 271, 220, 269, 272, 220, 264, 273, 221, 259,
-
- 221, 265, 266, 268, 267, 240, 275, 267, 313, 260,
- 238, 270, 282, 238, 271, 282, 220, 282, 272, 220,
- 282, 273, 259, 282, 221, 295, 282, 294, 277, 300,
- 275, 282, 283, 286, 282, 270, 286, 313, 278, 313,
- 287, 221, 279, 284, 282, 288, 280, 282, 290, 295,
- 294, 290, 277, 300, 285, 282, 283, 302, 282, 292,
- 282, 278, 292, 282, 287, 279, 303, 284, 288, 280,
- 267, 301, 292, 267, 301, 292, 289, 239, 285, 296,
- 302, 291, 301, 282, 310, 301, 282, 293, 313, 282,
- 303, 241, 282, 297, 282, 313, 313, 282, 298, 289,
-
- 293, 239, 299, 296, 291, 304, 301, 310, 304, 301,
- 293, 313, 301, 304, 241, 301, 304, 297, 311, 306,
- 308, 298, 306, 293, 306, 309, 299, 306, 312, 312,
- 281, 312, 312, 313, 313, 281, 313, 313, 313, 313,
- 313, 313, 311, 313, 308, 313, 313, 313, 309, 313,
- 313, 274, 313, 313, 313, 313, 313, 281, 313, 313,
- 313, 313, 281, 43, 43, 313, 43, 43, 43, 45,
- 45, 53, 53, 53, 97, 97, 97, 98, 98, 313,
- 98, 98, 98, 180, 313, 313, 180, 180, 196, 313,
- 313, 196, 206, 206, 206, 233, 313, 233, 233, 233,
-
- 250, 313, 313, 250, 250, 251, 251, 251, 263, 263,
- 263, 274, 313, 313, 274, 274, 276, 313, 313, 276,
- 281, 281, 281, 305, 313, 313, 305, 305, 307, 313,
- 307, 307, 307, 3, 313, 313, 313, 313, 313, 313,
- 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
- 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
- 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
- 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
- 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
- 313, 313, 313, 313, 313, 313, 313
-
+ 23, 23, 35, 36, 44, 57, 37, 39, 40, 40,
+ 41, 41, 40, 40, 41, 49, 50, 51, 52, 55,
+ 83, 58, 44, 38, 100, 60, 56, 59, 61, 57,
+ 62, 64, 69, 100, 65, 93, 93, 70, 53, 63,
+
+ 93, 93, 71, 55, 83, 58, 72, 38, 60, 56,
+ 59, 61, 66, 62, 64, 73, 69, 65, 48, 67,
+ 70, 45, 63, 47, 68, 74, 71, 314, 42, 97,
+ 72, 101, 42, 314, 75, 80, 66, 314, 73, 45,
+ 81, 76, 67, 82, 49, 50, 84, 68, 77, 74,
+ 78, 79, 102, 97, 101, 314, 85, 75, 80, 86,
+ 103, 90, 91, 81, 104, 76, 82, 92, 105, 87,
+ 84, 77, 88, 78, 79, 314, 102, 314, 89, 85,
+ 43, 43, 86, 44, 103, 90, 91, 314, 104, 314,
+ 92, 105, 106, 87, 314, 107, 88, 94, 40, 40,
+
+ 95, 89, 95, 40, 40, 95, 39, 40, 40, 41,
+ 41, 40, 40, 41, 108, 106, 110, 96, 107, 109,
+ 111, 114, 96, 111, 112, 113, 115, 116, 117, 314,
+ 118, 121, 122, 123, 146, 119, 124, 146, 108, 110,
+ 45, 96, 314, 109, 131, 114, 96, 112, 113, 115,
+ 116, 120, 117, 118, 121, 122, 125, 123, 42, 119,
+ 124, 127, 128, 42, 129, 126, 130, 42, 131, 132,
+ 133, 42, 134, 138, 120, 136, 135, 314, 137, 180,
+ 125, 314, 180, 314, 127, 128, 139, 129, 126, 130,
+ 140, 145, 132, 141, 133, 142, 134, 138, 136, 148,
+
+ 135, 137, 94, 40, 40, 95, 95, 40, 40, 95,
+ 139, 143, 144, 147, 140, 145, 141, 111, 142, 151,
+ 111, 152, 96, 148, 154, 156, 96, 155, 314, 157,
+ 153, 158, 159, 314, 143, 144, 147, 149, 314, 160,
+ 314, 161, 151, 162, 165, 152, 96, 154, 156, 150,
+ 96, 155, 157, 153, 163, 158, 159, 164, 166, 314,
+ 167, 149, 160, 42, 161, 168, 162, 42, 165, 171,
+ 169, 172, 150, 169, 173, 174, 175, 163, 176, 177,
+ 164, 178, 166, 167, 179, 182, 146, 183, 168, 146,
+ 184, 185, 171, 186, 172, 187, 188, 170, 173, 174,
+
+ 175, 176, 177, 189, 178, 192, 193, 194, 179, 182,
+ 183, 190, 195, 184, 190, 185, 186, 196, 187, 188,
+ 170, 169, 202, 200, 169, 201, 191, 189, 203, 192,
+ 193, 194, 204, 205, 209, 195, 180, 208, 210, 180,
+ 196, 210, 211, 212, 213, 202, 198, 200, 199, 201,
+ 191, 203, 190, 215, 219, 190, 204, 205, 209, 206,
+ 208, 216, 217, 218, 220, 211, 212, 221, 213, 198,
+ 221, 199, 214, 221, 229, 222, 221, 215, 219, 225,
+ 226, 222, 227, 206, 216, 217, 218, 220, 223, 221,
+ 228, 230, 221, 231, 232, 314, 214, 222, 229, 314,
+
+ 235, 236, 225, 226, 210, 227, 237, 210, 233, 238,
+ 248, 233, 223, 228, 230, 249, 240, 231, 232, 54,
+ 314, 245, 224, 235, 149, 236, 246, 247, 239, 237,
+ 242, 239, 238, 221, 248, 221, 221, 314, 221, 249,
+ 240, 222, 250, 222, 245, 224, 240, 253, 149, 246,
+ 247, 233, 254, 242, 233, 255, 241, 256, 257, 314,
+ 242, 244, 239, 314, 243, 239, 250, 258, 259, 221,
+ 240, 253, 221, 262, 263, 265, 254, 222, 255, 241,
+ 256, 266, 257, 242, 244, 267, 221, 243, 269, 221,
+ 241, 258, 259, 272, 222, 273, 262, 263, 265, 274,
+
+ 268, 260, 261, 268, 266, 276, 270, 268, 267, 270,
+ 268, 269, 221, 241, 222, 221, 272, 314, 239, 273,
+ 222, 239, 221, 274, 260, 221, 261, 314, 295, 276,
+ 222, 271, 283, 296, 283, 283, 278, 283, 283, 283,
+ 287, 283, 283, 287, 288, 314, 279, 314, 222, 289,
+ 280, 295, 281, 284, 285, 271, 283, 296, 291, 283,
+ 278, 291, 286, 283, 293, 314, 283, 293, 288, 279,
+ 301, 283, 289, 280, 283, 281, 268, 284, 285, 268,
+ 293, 283, 240, 293, 283, 304, 286, 314, 290, 292,
+ 297, 314, 294, 303, 301, 302, 242, 314, 302, 298,
+
+ 300, 314, 302, 314, 299, 302, 240, 283, 294, 304,
+ 283, 290, 292, 311, 297, 294, 303, 283, 305, 242,
+ 283, 305, 302, 298, 300, 302, 302, 299, 312, 302,
+ 305, 294, 307, 305, 309, 307, 311, 307, 313, 310,
+ 307, 313, 313, 282, 314, 313, 314, 314, 282, 314,
+ 314, 314, 312, 314, 314, 314, 314, 314, 309, 314,
+ 314, 314, 310, 314, 314, 314, 314, 314, 275, 314,
+ 282, 314, 314, 314, 314, 282, 43, 43, 314, 43,
+ 43, 43, 46, 46, 54, 54, 54, 98, 98, 98,
+ 99, 99, 314, 99, 99, 99, 181, 314, 314, 181,
+
+ 181, 197, 314, 314, 197, 207, 207, 207, 234, 314,
+ 234, 234, 234, 251, 314, 314, 251, 251, 252, 252,
+ 252, 264, 264, 264, 275, 314, 314, 275, 275, 277,
+ 314, 314, 277, 282, 282, 282, 306, 314, 314, 306,
+ 306, 308, 314, 308, 308, 308, 3, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314
} ;
-static yyconst flex_int16_t yy_chk[898] =
+static yyconst flex_int16_t yy_chk[911] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -646,99 +649,100 @@ static yyconst flex_int16_t yy_chk[898] =
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, 8, 8, 8, 8, 15, 15, 19, 18, 31,
- 20, 64, 21, 2, 64, 18, 20, 22, 24, 22,
- 99, 24, 26, 35, 35, 38, 48, 26, 22, 42,
-
- 42, 19, 18, 31, 20, 21, 25, 2, 18, 20,
- 22, 24, 22, 25, 24, 28, 26, 43, 25, 38,
- 26, 22, 27, 17, 28, 13, 27, 12, 5, 9,
- 25, 107, 8, 29, 107, 27, 25, 54, 32, 28,
- 29, 25, 29, 29, 30, 55, 27, 28, 32, 30,
- 27, 32, 30, 34, 34, 49, 49, 29, 27, 34,
- 54, 33, 32, 29, 33, 29, 29, 30, 3, 55,
- 33, 32, 30, 144, 32, 30, 144, 34, 34, 0,
- 0, 0, 34, 56, 57, 33, 0, 58, 33, 36,
- 36, 36, 36, 33, 37, 37, 37, 37, 39, 39,
-
- 39, 39, 41, 41, 41, 41, 59, 56, 57, 36,
- 58, 60, 61, 62, 37, 0, 63, 66, 66, 67,
- 0, 68, 69, 70, 145, 71, 73, 145, 74, 59,
- 72, 0, 77, 36, 60, 81, 61, 62, 37, 63,
- 66, 66, 79, 67, 68, 69, 72, 70, 71, 73,
- 36, 74, 80, 85, 72, 37, 77, 82, 81, 39,
- 83, 80, 84, 41, 86, 87, 79, 89, 95, 72,
- 90, 89, 183, 91, 0, 183, 80, 85, 0, 0,
- 82, 96, 100, 83, 80, 84, 102, 86, 103, 87,
- 104, 89, 95, 90, 106, 89, 91, 93, 93, 93,
-
- 93, 94, 94, 94, 94, 96, 100, 105, 108, 102,
- 109, 103, 110, 104, 111, 110, 112, 93, 106, 113,
- 115, 94, 114, 0, 116, 112, 117, 119, 0, 120,
- 105, 108, 110, 127, 109, 0, 122, 111, 123, 129,
- 112, 93, 113, 115, 110, 94, 114, 116, 112, 124,
- 117, 119, 120, 125, 130, 131, 110, 127, 93, 122,
- 133, 123, 94, 129, 134, 132, 135, 110, 132, 136,
- 137, 142, 124, 138, 139, 140, 125, 130, 131, 147,
- 0, 148, 149, 133, 150, 0, 151, 134, 156, 157,
- 135, 165, 132, 136, 137, 142, 138, 139, 140, 158,
-
- 162, 163, 164, 147, 148, 149, 166, 161, 150, 151,
- 161, 156, 157, 168, 165, 132, 168, 171, 172, 0,
- 174, 175, 161, 158, 162, 163, 164, 177, 178, 166,
- 179, 181, 182, 179, 184, 185, 187, 0, 168, 191,
- 168, 171, 172, 174, 175, 189, 161, 190, 189, 192,
- 193, 177, 178, 179, 181, 194, 182, 184, 185, 195,
- 187, 168, 191, 168, 205, 189, 196, 0, 200, 196,
- 201, 190, 192, 193, 196, 197, 202, 179, 197, 194,
- 204, 208, 195, 197, 198, 210, 211, 198, 205, 189,
- 197, 200, 198, 201, 212, 209, 213, 212, 209, 202,
-
- 214, 0, 215, 204, 208, 212, 216, 0, 229, 210,
- 211, 225, 221, 220, 197, 209, 220, 198, 230, 213,
- 222, 226, 231, 222, 214, 215, 221, 223, 222, 216,
- 223, 220, 229, 227, 225, 223, 221, 234, 235, 209,
- 198, 220, 230, 236, 226, 220, 231, 232, 237, 221,
- 232, 222, 0, 223, 238, 220, 227, 238, 244, 239,
- 240, 234, 235, 241, 220, 249, 236, 242, 220, 243,
- 242, 237, 243, 252, 222, 242, 223, 243, 253, 256,
- 258, 244, 238, 239, 240, 243, 257, 241, 249, 257,
- 259, 262, 260, 259, 264, 260, 252, 266, 259, 242,
-
- 260, 253, 256, 258, 267, 238, 268, 267, 0, 243,
- 269, 260, 276, 269, 262, 276, 270, 277, 264, 270,
- 277, 266, 242, 278, 270, 288, 278, 287, 269, 293,
- 268, 279, 277, 280, 279, 260, 280, 0, 269, 0,
- 282, 280, 269, 278, 283, 282, 270, 283, 284, 288,
- 287, 284, 269, 293, 279, 285, 277, 297, 285, 286,
- 289, 269, 286, 289, 282, 269, 298, 278, 282, 270,
- 290, 294, 292, 290, 294, 292, 283, 286, 279, 289,
- 297, 285, 295, 291, 308, 295, 291, 286, 0, 296,
- 298, 286, 296, 290, 299, 0, 0, 299, 290, 283,
-
- 292, 286, 291, 289, 285, 300, 302, 308, 300, 302,
- 286, 0, 303, 304, 286, 303, 304, 290, 309, 305,
- 306, 290, 305, 292, 307, 306, 291, 307, 310, 311,
- 305, 310, 311, 0, 0, 307, 0, 0, 0, 0,
- 0, 0, 309, 0, 306, 0, 0, 0, 306, 0,
- 0, 304, 0, 0, 0, 0, 0, 305, 0, 0,
- 0, 0, 307, 314, 314, 0, 314, 314, 314, 315,
- 315, 316, 316, 316, 317, 317, 317, 318, 318, 0,
- 318, 318, 318, 319, 0, 0, 319, 319, 320, 0,
- 0, 320, 321, 321, 321, 322, 0, 322, 322, 322,
-
- 323, 0, 0, 323, 323, 324, 324, 324, 325, 325,
- 325, 326, 0, 0, 326, 326, 327, 0, 0, 327,
- 328, 328, 328, 329, 0, 0, 329, 329, 330, 0,
- 330, 330, 330, 313, 313, 313, 313, 313, 313, 313,
- 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
- 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
- 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
- 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
- 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
- 313, 313, 313, 313, 313, 313, 313
-
+ 1, 1, 1, 2, 9, 19, 2, 5, 5, 5,
+ 5, 8, 8, 8, 8, 14, 14, 15, 15, 18,
+ 31, 20, 43, 2, 100, 21, 18, 20, 22, 19,
+ 22, 24, 26, 49, 24, 35, 35, 26, 17, 22,
+
+ 42, 42, 27, 18, 31, 20, 27, 2, 21, 18,
+ 20, 22, 25, 22, 24, 27, 26, 24, 13, 25,
+ 26, 9, 22, 12, 25, 28, 27, 3, 5, 38,
+ 27, 55, 8, 0, 28, 30, 25, 0, 27, 43,
+ 30, 29, 25, 30, 50, 50, 32, 25, 29, 28,
+ 29, 29, 56, 38, 55, 0, 32, 28, 30, 32,
+ 57, 34, 34, 30, 58, 29, 30, 34, 59, 33,
+ 32, 29, 33, 29, 29, 0, 56, 0, 33, 32,
+ 45, 45, 32, 45, 57, 34, 34, 0, 58, 0,
+ 34, 59, 60, 33, 0, 61, 33, 36, 36, 36,
+
+ 36, 33, 37, 37, 37, 37, 39, 39, 39, 39,
+ 41, 41, 41, 41, 62, 60, 64, 36, 61, 63,
+ 65, 68, 37, 65, 67, 67, 69, 70, 71, 0,
+ 72, 74, 75, 78, 108, 73, 80, 108, 62, 64,
+ 45, 36, 0, 63, 86, 68, 37, 67, 67, 69,
+ 70, 73, 71, 72, 74, 75, 81, 78, 36, 73,
+ 80, 82, 83, 37, 84, 81, 85, 39, 86, 87,
+ 88, 41, 90, 96, 73, 91, 90, 0, 92, 145,
+ 81, 0, 145, 0, 82, 83, 97, 84, 81, 85,
+ 101, 107, 87, 103, 88, 104, 90, 96, 91, 110,
+
+ 90, 92, 94, 94, 94, 94, 95, 95, 95, 95,
+ 97, 105, 106, 109, 101, 107, 103, 111, 104, 112,
+ 111, 113, 94, 110, 114, 116, 95, 115, 0, 117,
+ 113, 118, 120, 0, 105, 106, 109, 111, 0, 121,
+ 0, 123, 112, 124, 128, 113, 94, 114, 116, 111,
+ 95, 115, 117, 113, 125, 118, 120, 126, 130, 0,
+ 131, 111, 121, 94, 123, 132, 124, 95, 128, 134,
+ 133, 135, 111, 133, 136, 137, 138, 125, 139, 140,
+ 126, 141, 130, 131, 143, 148, 146, 149, 132, 146,
+ 150, 151, 134, 152, 135, 157, 158, 133, 136, 137,
+
+ 138, 139, 140, 159, 141, 163, 164, 165, 143, 148,
+ 149, 162, 166, 150, 162, 151, 152, 167, 157, 158,
+ 133, 169, 175, 172, 169, 173, 162, 159, 176, 163,
+ 164, 165, 178, 179, 183, 166, 180, 182, 184, 180,
+ 167, 184, 185, 186, 188, 175, 169, 172, 169, 173,
+ 162, 176, 190, 191, 195, 190, 178, 179, 183, 180,
+ 182, 192, 193, 194, 196, 185, 186, 197, 188, 169,
+ 197, 169, 190, 198, 206, 197, 198, 191, 195, 201,
+ 202, 198, 203, 180, 192, 193, 194, 196, 198, 199,
+ 205, 209, 199, 211, 212, 0, 190, 199, 206, 0,
+
+ 214, 215, 201, 202, 210, 203, 216, 210, 213, 217,
+ 230, 213, 198, 205, 209, 231, 222, 211, 212, 213,
+ 0, 226, 199, 214, 210, 215, 227, 228, 221, 216,
+ 222, 221, 217, 223, 230, 224, 223, 0, 224, 231,
+ 222, 223, 232, 224, 226, 199, 221, 235, 210, 227,
+ 228, 233, 236, 222, 233, 237, 221, 238, 240, 0,
+ 221, 224, 239, 0, 223, 239, 232, 241, 242, 243,
+ 221, 235, 243, 245, 250, 253, 236, 243, 237, 221,
+ 238, 254, 240, 221, 224, 257, 244, 223, 259, 244,
+ 239, 241, 242, 263, 244, 265, 245, 250, 253, 267,
+
+ 258, 243, 244, 258, 254, 269, 260, 268, 257, 260,
+ 268, 259, 261, 239, 260, 261, 263, 0, 270, 265,
+ 261, 270, 271, 267, 243, 271, 244, 0, 288, 269,
+ 271, 261, 277, 289, 279, 277, 270, 279, 278, 280,
+ 281, 278, 280, 281, 283, 0, 270, 0, 281, 283,
+ 270, 288, 271, 278, 279, 261, 284, 289, 285, 284,
+ 270, 285, 280, 286, 287, 0, 286, 287, 283, 270,
+ 294, 290, 283, 270, 290, 271, 291, 278, 279, 291,
+ 293, 292, 287, 293, 292, 299, 280, 0, 284, 286,
+ 290, 0, 287, 298, 294, 295, 287, 0, 295, 291,
+
+ 292, 0, 296, 0, 291, 296, 287, 297, 293, 299,
+ 297, 284, 286, 309, 290, 287, 298, 300, 301, 287,
+ 300, 301, 303, 291, 292, 303, 304, 291, 310, 304,
+ 305, 293, 306, 305, 307, 306, 309, 308, 311, 307,
+ 308, 311, 312, 306, 0, 312, 0, 0, 308, 0,
+ 0, 0, 310, 0, 0, 0, 0, 0, 307, 0,
+ 0, 0, 307, 0, 0, 0, 0, 0, 305, 0,
+ 306, 0, 0, 0, 0, 308, 315, 315, 0, 315,
+ 315, 315, 316, 316, 317, 317, 317, 318, 318, 318,
+ 319, 319, 0, 319, 319, 319, 320, 0, 0, 320,
+
+ 320, 321, 0, 0, 321, 322, 322, 322, 323, 0,
+ 323, 323, 323, 324, 0, 0, 324, 324, 325, 325,
+ 325, 326, 326, 326, 327, 0, 0, 327, 327, 328,
+ 0, 0, 328, 329, 329, 329, 330, 0, 0, 330,
+ 330, 331, 0, 331, 331, 331, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314
} ;
static yy_state_type yy_last_accepting_state;
@@ -830,7 +834,23 @@ static int checkImmediate(int token) {
return token;
}
-#line 834 "engines/director/lingo/lingo-lex.cpp"
+static Common::String *cleanupString(const char *s) {
+ Common::String *res = new Common::String;
+
+ while (*s) {
+ if (*s == '\xC2') {
+ s++;
+ s++;
+ continue;
+ }
+ *res += *s;
+ s++;
+ }
+
+ return res;
+}
+
+#line 854 "engines/director/lingo/lingo-lex.cpp"
#define INITIAL 0
@@ -1015,10 +1035,10 @@ YY_DECL
register char *yy_cp, *yy_bp;
register int yy_act;
-#line 92 "engines/director/lingo/lingo-lex.l"
+#line 108 "engines/director/lingo/lingo-lex.l"
-#line 1022 "engines/director/lingo/lingo-lex.cpp"
+#line 1042 "engines/director/lingo/lingo-lex.cpp"
if ( !(yy_init) )
{
@@ -1072,13 +1092,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 >= 314 )
+ if ( yy_current_state >= 315 )
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_current_state != 313 );
+ while ( yy_current_state != 314 );
yy_cp = (yy_last_accepting_cpos);
yy_current_state = (yy_last_accepting_state);
@@ -1101,77 +1121,77 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
/* rule 1 can match eol */
YY_RULE_SETUP
-#line 94 "engines/director/lingo/lingo-lex.l"
+#line 110 "engines/director/lingo/lingo-lex.l"
{ count(); }
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 95 "engines/director/lingo/lingo-lex.l"
+#line 111 "engines/director/lingo/lingo-lex.l"
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 96 "engines/director/lingo/lingo-lex.l"
+#line 112 "engines/director/lingo/lingo-lex.l"
{ count(); }
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 97 "engines/director/lingo/lingo-lex.l"
+#line 113 "engines/director/lingo/lingo-lex.l"
{ count(); return ' '; }
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 99 "engines/director/lingo/lingo-lex.l"
+#line 115 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.s = new Common::String(yytext + 1); return SYMBOL; } // D3, skip '#'
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 101 "engines/director/lingo/lingo-lex.l"
+#line 117 "engines/director/lingo/lingo-lex.l"
{ count(); return tAFTER; } // D3
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 102 "engines/director/lingo/lingo-lex.l"
+#line 118 "engines/director/lingo/lingo-lex.l"
{ count(); return tAND; }
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 103 "engines/director/lingo/lingo-lex.l"
+#line 119 "engines/director/lingo/lingo-lex.l"
{ count(); return tBEFORE; } // D3
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 104 "engines/director/lingo/lingo-lex.l"
+#line 120 "engines/director/lingo/lingo-lex.l"
{ count(); return tCHAR; } // D3
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 105 "engines/director/lingo/lingo-lex.l"
+#line 121 "engines/director/lingo/lingo-lex.l"
{ count(); return tCONTAINS; }
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 106 "engines/director/lingo/lingo-lex.l"
+#line 122 "engines/director/lingo/lingo-lex.l"
{ count(); return tDOWN; }
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 107 "engines/director/lingo/lingo-lex.l"
+#line 123 "engines/director/lingo/lingo-lex.l"
{ count(); return tIF; }
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 108 "engines/director/lingo/lingo-lex.l"
+#line 124 "engines/director/lingo/lingo-lex.l"
{ count(); return tELSIF; }
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 109 "engines/director/lingo/lingo-lex.l"
+#line 125 "engines/director/lingo/lingo-lex.l"
{ count(); return tELSE; }
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 110 "engines/director/lingo/lingo-lex.l"
+#line 126 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1193,72 +1213,72 @@ YY_RULE_SETUP
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 128 "engines/director/lingo/lingo-lex.l"
+#line 144 "engines/director/lingo/lingo-lex.l"
{ count(); return tFACTORY; }
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 129 "engines/director/lingo/lingo-lex.l"
+#line 145 "engines/director/lingo/lingo-lex.l"
{ count(); return tEXIT; }
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 130 "engines/director/lingo/lingo-lex.l"
+#line 146 "engines/director/lingo/lingo-lex.l"
{ count(); return tGLOBAL; }
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 131 "engines/director/lingo/lingo-lex.l"
+#line 147 "engines/director/lingo/lingo-lex.l"
{ count(); return tGO; }
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 132 "engines/director/lingo/lingo-lex.l"
+#line 148 "engines/director/lingo/lingo-lex.l"
{ count(); return tGO; }
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 133 "engines/director/lingo/lingo-lex.l"
+#line 149 "engines/director/lingo/lingo-lex.l"
{ count(); return tINSTANCE; }
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 134 "engines/director/lingo/lingo-lex.l"
+#line 150 "engines/director/lingo/lingo-lex.l"
{ count(); return tINTERSECTS; }
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 135 "engines/director/lingo/lingo-lex.l"
+#line 151 "engines/director/lingo/lingo-lex.l"
{ count(); return tINTO; }
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 136 "engines/director/lingo/lingo-lex.l"
+#line 152 "engines/director/lingo/lingo-lex.l"
{ count(); return tIN; }
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 137 "engines/director/lingo/lingo-lex.l"
+#line 153 "engines/director/lingo/lingo-lex.l"
{ count(); return tITEM; }
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 138 "engines/director/lingo/lingo-lex.l"
+#line 154 "engines/director/lingo/lingo-lex.l"
{ count(); return tLINE; }
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 139 "engines/director/lingo/lingo-lex.l"
+#line 155 "engines/director/lingo/lingo-lex.l"
{ count(); return checkImmediate(tLOOP); }
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 140 "engines/director/lingo/lingo-lex.l"
+#line 156 "engines/director/lingo/lingo-lex.l"
{ count(); return tMACRO; }
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 141 "engines/director/lingo/lingo-lex.l"
+#line 157 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1273,97 +1293,97 @@ YY_RULE_SETUP
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 152 "engines/director/lingo/lingo-lex.l"
+#line 168 "engines/director/lingo/lingo-lex.l"
{ count(); return tMOD; }
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 153 "engines/director/lingo/lingo-lex.l"
+#line 169 "engines/director/lingo/lingo-lex.l"
{ count(); return tMOVIE; }
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 154 "engines/director/lingo/lingo-lex.l"
+#line 170 "engines/director/lingo/lingo-lex.l"
{ count(); return tNEXT; }
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 155 "engines/director/lingo/lingo-lex.l"
+#line 171 "engines/director/lingo/lingo-lex.l"
{ count(); return tNOT; }
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 156 "engines/director/lingo/lingo-lex.l"
+#line 172 "engines/director/lingo/lingo-lex.l"
{ count(); return tOF; }
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 157 "engines/director/lingo/lingo-lex.l"
+#line 173 "engines/director/lingo/lingo-lex.l"
{ count(); return tON; } // D3
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 158 "engines/director/lingo/lingo-lex.l"
+#line 174 "engines/director/lingo/lingo-lex.l"
{ count(); return tOPEN; }
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 159 "engines/director/lingo/lingo-lex.l"
+#line 175 "engines/director/lingo/lingo-lex.l"
{ count(); return tOR; }
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 160 "engines/director/lingo/lingo-lex.l"
+#line 176 "engines/director/lingo/lingo-lex.l"
{ count(); return tPLAY; }
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 161 "engines/director/lingo/lingo-lex.l"
+#line 177 "engines/director/lingo/lingo-lex.l"
{ count(); return tPLAY; }
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 162 "engines/director/lingo/lingo-lex.l"
+#line 178 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.s = new Common::String(yytext); return tPLAYACCEL; }
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 163 "engines/director/lingo/lingo-lex.l"
+#line 179 "engines/director/lingo/lingo-lex.l"
{ count(); return tPREVIOUS; }
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 164 "engines/director/lingo/lingo-lex.l"
+#line 180 "engines/director/lingo/lingo-lex.l"
{ count(); return tPROPERTY; } // D4
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 165 "engines/director/lingo/lingo-lex.l"
+#line 181 "engines/director/lingo/lingo-lex.l"
{ count(); return tPUT; }
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 166 "engines/director/lingo/lingo-lex.l"
+#line 182 "engines/director/lingo/lingo-lex.l"
{ count(); return checkImmediate(tREPEAT); }
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 167 "engines/director/lingo/lingo-lex.l"
+#line 183 "engines/director/lingo/lingo-lex.l"
{ count(); return tSET; }
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 168 "engines/director/lingo/lingo-lex.l"
+#line 184 "engines/director/lingo/lingo-lex.l"
{ count(); return tSTARTS; }
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 169 "engines/director/lingo/lingo-lex.l"
+#line 185 "engines/director/lingo/lingo-lex.l"
{ count(); return tTELL; }
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 170 "engines/director/lingo/lingo-lex.l"
+#line 186 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1402,7 +1422,7 @@ YY_RULE_SETUP
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 205 "engines/director/lingo/lingo-lex.l"
+#line 221 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1428,7 +1448,7 @@ YY_RULE_SETUP
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 227 "engines/director/lingo/lingo-lex.l"
+#line 243 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1495,7 +1515,7 @@ YY_RULE_SETUP
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 290 "engines/director/lingo/lingo-lex.l"
+#line 306 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1533,7 +1553,7 @@ YY_RULE_SETUP
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 324 "engines/director/lingo/lingo-lex.l"
+#line 340 "engines/director/lingo/lingo-lex.l"
{
count();
@@ -1564,72 +1584,72 @@ YY_RULE_SETUP
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 351 "engines/director/lingo/lingo-lex.l"
+#line 367 "engines/director/lingo/lingo-lex.l"
{ count(); return tTHEN; }
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 352 "engines/director/lingo/lingo-lex.l"
+#line 368 "engines/director/lingo/lingo-lex.l"
{ count(); return tTO; }
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 353 "engines/director/lingo/lingo-lex.l"
+#line 369 "engines/director/lingo/lingo-lex.l"
{ count(); return tSPRITE; }
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 354 "engines/director/lingo/lingo-lex.l"
+#line 370 "engines/director/lingo/lingo-lex.l"
{ count(); return tWITH; }
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 355 "engines/director/lingo/lingo-lex.l"
+#line 371 "engines/director/lingo/lingo-lex.l"
{ count(); return tWITHIN; }
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 356 "engines/director/lingo/lingo-lex.l"
+#line 372 "engines/director/lingo/lingo-lex.l"
{ count(); return tWHEN; }
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 357 "engines/director/lingo/lingo-lex.l"
+#line 373 "engines/director/lingo/lingo-lex.l"
{ count(); return tWHILE; }
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 358 "engines/director/lingo/lingo-lex.l"
+#line 374 "engines/director/lingo/lingo-lex.l"
{ count(); return tWORD; }
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 360 "engines/director/lingo/lingo-lex.l"
+#line 376 "engines/director/lingo/lingo-lex.l"
{ count(); return tNEQ; }
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 361 "engines/director/lingo/lingo-lex.l"
+#line 377 "engines/director/lingo/lingo-lex.l"
{ count(); return tGE; }
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 362 "engines/director/lingo/lingo-lex.l"
+#line 378 "engines/director/lingo/lingo-lex.l"
{ count(); return tLE; }
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 363 "engines/director/lingo/lingo-lex.l"
+#line 379 "engines/director/lingo/lingo-lex.l"
{ count(); return tCONCAT; }
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 364 "engines/director/lingo/lingo-lex.l"
+#line 380 "engines/director/lingo/lingo-lex.l"
{ count(); return tEQ; }
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 366 "engines/director/lingo/lingo-lex.l"
+#line 382 "engines/director/lingo/lingo-lex.l"
{
count();
yylval.s = new Common::String(yytext);
@@ -1667,41 +1687,42 @@ YY_RULE_SETUP
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 400 "engines/director/lingo/lingo-lex.l"
+#line 416 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.f = atof(yytext); return FLOAT; }
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 401 "engines/director/lingo/lingo-lex.l"
+#line 417 "engines/director/lingo/lingo-lex.l"
{ count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 402 "engines/director/lingo/lingo-lex.l"
+#line 418 "engines/director/lingo/lingo-lex.l"
{ count(); return *yytext; }
YY_BREAK
case 70:
/* rule 70 can match eol */
YY_RULE_SETUP
-#line 403 "engines/director/lingo/lingo-lex.l"
+#line 419 "engines/director/lingo/lingo-lex.l"
{ count(); return '\n'; }
YY_BREAK
case 71:
+/* rule 71 can match eol */
YY_RULE_SETUP
-#line 404 "engines/director/lingo/lingo-lex.l"
-{ count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
+#line 420 "engines/director/lingo/lingo-lex.l"
+{ count(); yylval.s = cleanupString(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 405 "engines/director/lingo/lingo-lex.l"
+#line 421 "engines/director/lingo/lingo-lex.l"
{ count(); }
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 407 "engines/director/lingo/lingo-lex.l"
+#line 423 "engines/director/lingo/lingo-lex.l"
ECHO;
YY_BREAK
-#line 1705 "engines/director/lingo/lingo-lex.cpp"
+#line 1726 "engines/director/lingo/lingo-lex.cpp"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -1995,7 +2016,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 >= 314 )
+ if ( yy_current_state >= 315 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2023,11 +2044,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 >= 314 )
+ if ( yy_current_state >= 315 )
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 == 313);
+ yy_is_jam = (yy_current_state == 314);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -2698,7 +2719,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 407 "engines/director/lingo/lingo-lex.l"
+#line 423 "engines/director/lingo/lingo-lex.l"
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index 5be2ad1798..53b8e351bc 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -79,12 +79,28 @@ static int checkImmediate(int token) {
return token;
}
+static Common::String *cleanupString(const char *s) {
+ Common::String *res = new Common::String;
+
+ while (*s) {
+ if (*s == '\xC2') {
+ s++;
+ s++;
+ continue;
+ }
+ *res += *s;
+ s++;
+ }
+
+ return res;
+}
+
%}
identifier [_[:alpha:]][_[:alnum:]]*
constfloat [[:digit:]]+\.[[:digit:]]*
constinteger [[:digit:]]+
-conststring \"[^\"\r\n]*\"
+conststring \"([^\"\r\n]|\xC2[\r\n])*\"
operator [-+*/%^:,()><&\[\]]
newline [ \t]*[\n\r]
whitespace [ \t]
@@ -401,7 +417,7 @@ word { count(); return tWORD; }
{constinteger} { count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
{operator} { count(); return *yytext; }
{newline} { count(); return '\n'; }
-{conststring} { count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
+{conststring} { count(); yylval.s = cleanupString(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
. { count(); }
%%
More information about the Scummvm-git-logs
mailing list