Fixed identifiers like "break_formation" being treated as "break" and "_formation" separately

This commit is contained in:
smallmodel 2023-08-17 01:06:28 +02:00
parent ab5a3604bf
commit 99bce5a11a
No known key found for this signature in database
GPG key ID: A96F163ED4891440
4 changed files with 834 additions and 779 deletions

View file

@ -447,7 +447,7 @@ static const YY_CHAR yy_meta[65] =
1, 2, 3, 3, 2, 1, 4, 1, 1, 1,
1, 2, 2, 1, 1, 2, 1, 5, 1, 6,
2, 2, 1, 1, 1, 1, 6, 6, 6, 6,
6, 6, 2, 1, 2, 1, 4, 6, 6, 6,
6, 6, 2, 1, 2, 1, 7, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
2, 1, 2, 1
@ -456,30 +456,30 @@ static const YY_CHAR yy_meta[65] =
static const flex_int16_t yy_base[230] =
{ 0,
0, 0, 64, 0, 126, 127, 122, 0, 182, 0,
245, 307, 649, 650, 650, 128, 130, 120, 624, 245,
650, 650, 623, 132, 650, 650, 120, 121, 650, 246,
235, 240, 242, 622, 650, 123, 613, 133, 650, 618,
253, 650, 265, 650, 609, 238, 254, 247, 265, 256,
263, 257, 275, 258, 269, 276, 279, 271, 277, 650,
279, 650, 650, 650, 0, 650, 650, 591, 650, 650,
650, 370, 650, 0, 563, 0, 650, 650, 650, 327,
591, 327, 650, 311, 650, 602, 650, 650, 650, 650,
650, 650, 650, 650, 650, 650, 315, 271, 650, 0,
245, 307, 656, 657, 657, 128, 130, 120, 631, 245,
657, 657, 630, 132, 657, 657, 120, 121, 657, 246,
235, 240, 242, 628, 657, 123, 618, 133, 657, 623,
253, 657, 265, 657, 613, 238, 254, 247, 265, 256,
263, 257, 275, 258, 269, 276, 279, 271, 277, 657,
279, 657, 657, 657, 0, 657, 657, 591, 657, 657,
657, 370, 657, 0, 563, 0, 657, 657, 657, 327,
591, 327, 657, 311, 657, 602, 657, 657, 657, 657,
657, 657, 657, 657, 657, 657, 315, 271, 657, 0,
650, 316, 586, 331, 650, 578, 650, 650, 650, 577,
272, 320, 349, 650, 321, 307, 417, 582, 418, 325,
657, 316, 586, 331, 657, 578, 657, 657, 657, 577,
272, 320, 349, 657, 321, 307, 417, 582, 418, 325,
420, 255, 419, 579, 421, 329, 422, 424, 423, 427,
425, 426, 431, 650, 650, 0, 650, 479, 0, 0,
445, 0, 534, 0, 650, 438, 0, 650, 650, 575,
425, 426, 431, 657, 657, 0, 657, 479, 0, 0,
445, 0, 534, 0, 657, 438, 0, 657, 657, 575,
337, 428, 439, 442, 429, 441, 474, 574, 445, 432,
447, 475, 472, 473, 446, 522, 443, 557, 523, 650,
463, 650, 486, 450, 485, 524, 526, 484, 525, 527,
447, 475, 472, 473, 446, 522, 443, 557, 523, 657,
463, 657, 486, 450, 485, 524, 526, 484, 525, 527,
482, 444, 528, 529, 530, 531, 437, 436, 533, 532,
0, 433, 347, 535, 534, 536, 346, 342, 341, 537,
538, 338, 541, 336, 540, 543, 544, 542, 545, 281,
546, 435, 548, 561, 565, 141, 137, 549, 552, 130,
650, 611, 617, 623, 625, 132, 628, 634, 640
657, 611, 618, 625, 628, 132, 632, 639, 646
} ;
static const flex_int16_t yy_def[230] =
@ -511,12 +511,12 @@ static const flex_int16_t yy_def[230] =
0, 221, 221, 221, 221, 221, 221, 221, 221
} ;
static const flex_int16_t yy_nxt[715] =
static const flex_int16_t yy_nxt[722] =
{ 0,
14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 40, 40, 40,
41, 40, 42, 43, 44, 45, 14, 40, 46, 47,
41, 40, 42, 43, 44, 45, 40, 40, 46, 47,
48, 49, 50, 51, 40, 52, 40, 53, 54, 40,
55, 56, 40, 57, 58, 40, 40, 59, 40, 40,
60, 61, 62, 63, 64, 64, 64, 64, 64, 64,
@ -580,21 +580,22 @@ static const flex_int16_t yy_nxt[715] =
209, 221, 221, 171, 214, 211, 221, 215, 218, 221,
149, 148, 219, 221, 221, 92, 217, 220, 143, 137,
220, 66, 66, 66, 66, 66, 66, 76, 76, 76,
76, 76, 76, 84, 84, 84, 84, 84, 84, 103,
103, 142, 114, 142, 144, 221, 108, 144, 144, 144,
147, 147, 105, 147, 147, 147, 87, 83, 221, 13,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
220, 66, 66, 66, 66, 66, 66, 66, 76, 76,
76, 76, 76, 76, 76, 84, 84, 84, 84, 84,
84, 84, 103, 103, 103, 142, 114, 142, 142, 144,
221, 108, 144, 144, 144, 144, 147, 147, 105, 147,
147, 147, 147, 87, 83, 221, 13, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221
} ;
static const flex_int16_t yy_chk[715] =
static const flex_int16_t yy_chk[722] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@ -663,18 +664,19 @@ static const flex_int16_t yy_chk[715] =
201, 158, 150, 143, 208, 205, 124, 209, 214, 118,
110, 106, 215, 103, 86, 81, 213, 218, 75, 68,
219, 222, 222, 222, 222, 222, 222, 223, 223, 223,
223, 223, 223, 224, 224, 224, 224, 224, 224, 225,
225, 227, 45, 227, 228, 40, 37, 228, 228, 228,
229, 229, 34, 229, 229, 229, 23, 19, 13, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
219, 222, 222, 222, 222, 222, 222, 222, 223, 223,
223, 223, 223, 223, 223, 224, 224, 224, 224, 224,
224, 224, 225, 225, 225, 227, 45, 227, 227, 228,
40, 37, 228, 228, 228, 228, 229, 229, 34, 229,
229, 229, 229, 23, 19, 13, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221, 221, 221, 221
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
221
} ;
/* Table of booleans, true if rule could match eol. */
@ -876,10 +878,10 @@ static bool UseField( void )
result = n; \
}
#line 880 "/usr/src/openmohaa/code/parser/generated/yyLexer.cpp"
#line 882 "/usr/src/openmohaa/code/parser/generated/yyLexer.cpp"
/*%option debug*/
#line 883 "/usr/src/openmohaa/code/parser/generated/yyLexer.cpp"
#line 885 "/usr/src/openmohaa/code/parser/generated/yyLexer.cpp"
#define INITIAL 0
#define SCRIPT 1
@ -1096,7 +1098,7 @@ YY_DECL
#line 194 "/usr/src/openmohaa/code/parser/lex_source.txt"
#line 1100 "/usr/src/openmohaa/code/parser/generated/yyLexer.cpp"
#line 1102 "/usr/src/openmohaa/code/parser/generated/yyLexer.cpp"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@ -1703,7 +1705,7 @@ YY_RULE_SETUP
#line 364 "/usr/src/openmohaa/code/parser/lex_source.txt"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
#line 1707 "/usr/src/openmohaa/code/parser/generated/yyLexer.cpp"
#line 1709 "/usr/src/openmohaa/code/parser/generated/yyLexer.cpp"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(SCRIPT):
case YY_STATE_EOF(C_COMMENT):

File diff suppressed because it is too large Load diff

View file

@ -57,75 +57,76 @@ extern int yydebug;
TOKEN_EOL = 259, /* TOKEN_EOL */
TOKEN_COMMA = 260, /* TOKEN_COMMA */
TOKEN_IF = 261, /* TOKEN_IF */
TOKEN_ELSE = 262, /* TOKEN_ELSE */
TOKEN_WHILE = 263, /* TOKEN_WHILE */
TOKEN_FOR = 264, /* TOKEN_FOR */
TOKEN_DO = 265, /* TOKEN_DO */
TOKEN_IDENTIFIER = 266, /* TOKEN_IDENTIFIER */
TOKEN_LEFT_BRACES = 267, /* TOKEN_LEFT_BRACES */
TOKEN_RIGHT_BRACES = 268, /* TOKEN_RIGHT_BRACES */
TOKEN_LEFT_BRACKET = 269, /* TOKEN_LEFT_BRACKET */
TOKEN_RIGHT_BRACKET = 270, /* TOKEN_RIGHT_BRACKET */
TOKEN_LEFT_SQUARE_BRACKET = 271, /* TOKEN_LEFT_SQUARE_BRACKET */
TOKEN_RIGHT_SQUARE_BRACKET = 272, /* TOKEN_RIGHT_SQUARE_BRACKET */
TOKEN_ASSIGNMENT = 273, /* TOKEN_ASSIGNMENT */
TOKEN_PLUS_EQUALS = 274, /* TOKEN_PLUS_EQUALS */
TOKEN_MINUS_EQUALS = 275, /* TOKEN_MINUS_EQUALS */
TOKEN_MULTIPLY_EQUALS = 276, /* TOKEN_MULTIPLY_EQUALS */
TOKEN_DIVIDE_EQUALS = 277, /* TOKEN_DIVIDE_EQUALS */
TOKEN_MODULUS_EQUALS = 278, /* TOKEN_MODULUS_EQUALS */
TOKEN_AND_EQUALS = 279, /* TOKEN_AND_EQUALS */
TOKEN_EXCL_OR_EQUALS = 280, /* TOKEN_EXCL_OR_EQUALS */
TOKEN_OR_EQUALS = 281, /* TOKEN_OR_EQUALS */
TOKEN_SHIFT_LEFT_EQUALS = 282, /* TOKEN_SHIFT_LEFT_EQUALS */
TOKEN_SHIFT_RIGHT_EQUALS = 283, /* TOKEN_SHIFT_RIGHT_EQUALS */
TOKEN_TERNARY = 284, /* TOKEN_TERNARY */
TOKEN_COLON = 285, /* TOKEN_COLON */
TOKEN_LOGICAL_OR = 286, /* TOKEN_LOGICAL_OR */
TOKEN_LOGICAL_AND = 287, /* TOKEN_LOGICAL_AND */
TOKEN_BITWISE_OR = 288, /* TOKEN_BITWISE_OR */
TOKEN_BITWISE_EXCL_OR = 289, /* TOKEN_BITWISE_EXCL_OR */
TOKEN_BITWISE_AND = 290, /* TOKEN_BITWISE_AND */
TOKEN_EQUALITY = 291, /* TOKEN_EQUALITY */
TOKEN_INEQUALITY = 292, /* TOKEN_INEQUALITY */
TOKEN_LESS_THAN = 293, /* TOKEN_LESS_THAN */
TOKEN_LESS_THAN_OR_EQUAL = 294, /* TOKEN_LESS_THAN_OR_EQUAL */
TOKEN_GREATER_THAN = 295, /* TOKEN_GREATER_THAN */
TOKEN_GREATER_THAN_OR_EQUAL = 296, /* TOKEN_GREATER_THAN_OR_EQUAL */
TOKEN_SHIFT_LEFT = 297, /* TOKEN_SHIFT_LEFT */
TOKEN_SHIFT_RIGHT = 298, /* TOKEN_SHIFT_RIGHT */
TOKEN_PLUS = 299, /* TOKEN_PLUS */
TOKEN_MINUS = 300, /* TOKEN_MINUS */
TOKEN_MULTIPLY = 301, /* TOKEN_MULTIPLY */
TOKEN_DIVIDE = 302, /* TOKEN_DIVIDE */
TOKEN_MODULUS = 303, /* TOKEN_MODULUS */
TOKEN_NEG = 304, /* TOKEN_NEG */
TOKEN_NOT = 305, /* TOKEN_NOT */
TOKEN_COMPLEMENT = 306, /* TOKEN_COMPLEMENT */
TOKEN_STRING = 307, /* TOKEN_STRING */
TOKEN_INTEGER = 308, /* TOKEN_INTEGER */
TOKEN_FLOAT = 309, /* TOKEN_FLOAT */
TOKEN_LISTENER = 310, /* TOKEN_LISTENER */
TOKEN_NIL = 311, /* TOKEN_NIL */
TOKEN_NULL = 312, /* TOKEN_NULL */
TOKEN_DOUBLE_COLON = 313, /* TOKEN_DOUBLE_COLON */
TOKEN_SEMICOLON = 314, /* TOKEN_SEMICOLON */
TOKEN_DOLLAR = 315, /* TOKEN_DOLLAR */
TOKEN_NUMBER = 316, /* TOKEN_NUMBER */
TOKEN_INCREMENT = 317, /* TOKEN_INCREMENT */
TOKEN_DECREMENT = 318, /* TOKEN_DECREMENT */
TOKEN_PERIOD = 319, /* TOKEN_PERIOD */
TOKEN_CATCH = 320, /* TOKEN_CATCH */
TOKEN_TRY = 321, /* TOKEN_TRY */
TOKEN_SWITCH = 322, /* TOKEN_SWITCH */
TOKEN_CASE = 323, /* TOKEN_CASE */
TOKEN_BREAK = 324, /* TOKEN_BREAK */
TOKEN_CONTINUE = 325, /* TOKEN_CONTINUE */
TOKEN_SIZE = 326, /* TOKEN_SIZE */
TOKEN_END = 327, /* TOKEN_END */
TOKEN_RETURN = 328, /* TOKEN_RETURN */
TOKEN_MAKEARRAY = 329, /* TOKEN_MAKEARRAY */
TOKEN_ENDARRAY = 330 /* TOKEN_ENDARRAY */
THEN = 262, /* THEN */
TOKEN_ELSE = 263, /* TOKEN_ELSE */
TOKEN_WHILE = 264, /* TOKEN_WHILE */
TOKEN_FOR = 265, /* TOKEN_FOR */
TOKEN_DO = 266, /* TOKEN_DO */
TOKEN_IDENTIFIER = 267, /* TOKEN_IDENTIFIER */
TOKEN_LEFT_BRACES = 268, /* TOKEN_LEFT_BRACES */
TOKEN_RIGHT_BRACES = 269, /* TOKEN_RIGHT_BRACES */
TOKEN_LEFT_BRACKET = 270, /* TOKEN_LEFT_BRACKET */
TOKEN_RIGHT_BRACKET = 271, /* TOKEN_RIGHT_BRACKET */
TOKEN_LEFT_SQUARE_BRACKET = 272, /* TOKEN_LEFT_SQUARE_BRACKET */
TOKEN_RIGHT_SQUARE_BRACKET = 273, /* TOKEN_RIGHT_SQUARE_BRACKET */
TOKEN_ASSIGNMENT = 274, /* TOKEN_ASSIGNMENT */
TOKEN_PLUS_EQUALS = 275, /* TOKEN_PLUS_EQUALS */
TOKEN_MINUS_EQUALS = 276, /* TOKEN_MINUS_EQUALS */
TOKEN_MULTIPLY_EQUALS = 277, /* TOKEN_MULTIPLY_EQUALS */
TOKEN_DIVIDE_EQUALS = 278, /* TOKEN_DIVIDE_EQUALS */
TOKEN_MODULUS_EQUALS = 279, /* TOKEN_MODULUS_EQUALS */
TOKEN_AND_EQUALS = 280, /* TOKEN_AND_EQUALS */
TOKEN_EXCL_OR_EQUALS = 281, /* TOKEN_EXCL_OR_EQUALS */
TOKEN_OR_EQUALS = 282, /* TOKEN_OR_EQUALS */
TOKEN_SHIFT_LEFT_EQUALS = 283, /* TOKEN_SHIFT_LEFT_EQUALS */
TOKEN_SHIFT_RIGHT_EQUALS = 284, /* TOKEN_SHIFT_RIGHT_EQUALS */
TOKEN_TERNARY = 285, /* TOKEN_TERNARY */
TOKEN_COLON = 286, /* TOKEN_COLON */
TOKEN_LOGICAL_OR = 287, /* TOKEN_LOGICAL_OR */
TOKEN_LOGICAL_AND = 288, /* TOKEN_LOGICAL_AND */
TOKEN_BITWISE_OR = 289, /* TOKEN_BITWISE_OR */
TOKEN_BITWISE_EXCL_OR = 290, /* TOKEN_BITWISE_EXCL_OR */
TOKEN_BITWISE_AND = 291, /* TOKEN_BITWISE_AND */
TOKEN_EQUALITY = 292, /* TOKEN_EQUALITY */
TOKEN_INEQUALITY = 293, /* TOKEN_INEQUALITY */
TOKEN_LESS_THAN = 294, /* TOKEN_LESS_THAN */
TOKEN_LESS_THAN_OR_EQUAL = 295, /* TOKEN_LESS_THAN_OR_EQUAL */
TOKEN_GREATER_THAN = 296, /* TOKEN_GREATER_THAN */
TOKEN_GREATER_THAN_OR_EQUAL = 297, /* TOKEN_GREATER_THAN_OR_EQUAL */
TOKEN_SHIFT_LEFT = 298, /* TOKEN_SHIFT_LEFT */
TOKEN_SHIFT_RIGHT = 299, /* TOKEN_SHIFT_RIGHT */
TOKEN_PLUS = 300, /* TOKEN_PLUS */
TOKEN_MINUS = 301, /* TOKEN_MINUS */
TOKEN_MULTIPLY = 302, /* TOKEN_MULTIPLY */
TOKEN_DIVIDE = 303, /* TOKEN_DIVIDE */
TOKEN_MODULUS = 304, /* TOKEN_MODULUS */
TOKEN_NEG = 305, /* TOKEN_NEG */
TOKEN_NOT = 306, /* TOKEN_NOT */
TOKEN_COMPLEMENT = 307, /* TOKEN_COMPLEMENT */
TOKEN_STRING = 308, /* TOKEN_STRING */
TOKEN_INTEGER = 309, /* TOKEN_INTEGER */
TOKEN_FLOAT = 310, /* TOKEN_FLOAT */
TOKEN_LISTENER = 311, /* TOKEN_LISTENER */
TOKEN_NIL = 312, /* TOKEN_NIL */
TOKEN_NULL = 313, /* TOKEN_NULL */
TOKEN_DOUBLE_COLON = 314, /* TOKEN_DOUBLE_COLON */
TOKEN_SEMICOLON = 315, /* TOKEN_SEMICOLON */
TOKEN_DOLLAR = 316, /* TOKEN_DOLLAR */
TOKEN_NUMBER = 317, /* TOKEN_NUMBER */
TOKEN_INCREMENT = 318, /* TOKEN_INCREMENT */
TOKEN_DECREMENT = 319, /* TOKEN_DECREMENT */
TOKEN_PERIOD = 320, /* TOKEN_PERIOD */
TOKEN_CATCH = 321, /* TOKEN_CATCH */
TOKEN_TRY = 322, /* TOKEN_TRY */
TOKEN_SWITCH = 323, /* TOKEN_SWITCH */
TOKEN_CASE = 324, /* TOKEN_CASE */
TOKEN_BREAK = 325, /* TOKEN_BREAK */
TOKEN_CONTINUE = 326, /* TOKEN_CONTINUE */
TOKEN_SIZE = 327, /* TOKEN_SIZE */
TOKEN_END = 328, /* TOKEN_END */
TOKEN_RETURN = 329, /* TOKEN_RETURN */
TOKEN_MAKEARRAY = 330, /* TOKEN_MAKEARRAY */
TOKEN_ENDARRAY = 331 /* TOKEN_ENDARRAY */
};
typedef enum yytokentype yytoken_kind_t;
#endif
@ -134,11 +135,11 @@ extern int yydebug;
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
union YYSTYPE
{
#line 55 "/usr/src/openmohaa/code/parser/bison_source.txt"
#line 59 "/usr/src/openmohaa/code/parser/bison_source.txt"
stype_t s;
#line 142 "/usr/src/openmohaa/code/parser/generated/yyParser.hpp"
#line 143 "/usr/src/openmohaa/code/parser/generated/yyParser.hpp"
};
typedef union YYSTYPE YYSTYPE;

View file

@ -346,7 +346,7 @@ varname [a-zA-Z0-9_\"]+
yymore();
}
[a-zA-Z0-9]+ {
[a-zA-Z0-9_]+ {
BEGIN(IDENTIFIER);
yymore();
}