aboutsummaryrefslogtreecommitdiff
path: root/gen/gen_lexer.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2023-03-26 23:13:29 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2023-03-26 23:14:04 +0300
commit9fb179ab999c3b98caabca09b30c409dc5dd3b3d (patch)
tree087f849f78028950885b46fbbe1bae35f9c1a908 /gen/gen_lexer.c
parent373728f324b82d305748cfe3c853053fe2a9f761 (diff)
downloadek-9fb179ab999c3b98caabca09b30c409dc5dd3b3d.tar.gz
ek-9fb179ab999c3b98caabca09b30c409dc5dd3b3d.zip
start enums
Diffstat (limited to 'gen/gen_lexer.c')
-rw-r--r--gen/gen_lexer.c525
1 files changed, 264 insertions, 261 deletions
diff --git a/gen/gen_lexer.c b/gen/gen_lexer.c
index 8db9955..cebc5f3 100644
--- a/gen/gen_lexer.c
+++ b/gen/gen_lexer.c
@@ -1,5 +1,3 @@
-/* SPDX-License-Identifier: GPL-3.0-or-later */
-
#line 2 "gen/gen_lexer.c"
#line 4 "gen/gen_lexer.c"
@@ -341,8 +339,8 @@ static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner );
yyg->yy_hold_char = *yy_cp; \
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
-#define YY_NUM_RULES 93
-#define YY_END_OF_BUFFER 94
+#define YY_NUM_RULES 94
+#define YY_END_OF_BUFFER 95
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -350,33 +348,33 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static const flex_int16_t yy_accept[223] =
+static const flex_int16_t yy_accept[224] =
{ 0,
- 0, 0, 0, 0, 94, 92, 91, 91, 19, 92,
- 92, 26, 35, 34, 9, 10, 24, 22, 16, 23,
- 15, 25, 88, 88, 18, 17, 41, 40, 42, 21,
- 90, 13, 14, 27, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 11, 37, 12, 39, 6, 8, 5, 7, 91, 45,
- 0, 87, 0, 20, 53, 36, 56, 0, 0, 0,
- 0, 50, 88, 88, 51, 0, 2, 1, 52, 89,
- 88, 0, 0, 48, 43, 46, 47, 44, 49, 90,
- 54, 28, 61, 90, 90, 90, 90, 78, 90, 90,
+ 0, 0, 0, 0, 95, 93, 92, 92, 20, 93,
+ 93, 27, 36, 35, 10, 11, 25, 23, 17, 24,
+ 16, 26, 89, 89, 19, 18, 42, 41, 43, 22,
+ 91, 14, 15, 28, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 12, 38, 13, 40, 6, 8, 5, 7, 92, 46,
+ 0, 88, 0, 21, 54, 37, 57, 0, 0, 0,
+ 0, 51, 89, 89, 52, 0, 2, 1, 53, 90,
+ 89, 0, 0, 9, 49, 44, 47, 48, 45, 50,
+ 91, 55, 29, 62, 91, 91, 91, 91, 79, 91,
- 90, 90, 90, 90, 71, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 57, 38, 6,
- 5, 4, 3, 29, 0, 0, 0, 0, 0, 60,
- 1, 0, 89, 0, 89, 88, 88, 58, 59, 55,
- 90, 90, 90, 90, 90, 90, 90, 90, 76, 90,
- 90, 89, 79, 62, 90, 90, 90, 90, 90, 90,
- 90, 33, 31, 0, 0, 0, 0, 0, 90, 75,
- 90, 90, 90, 90, 73, 90, 83, 90, 72, 90,
- 90, 90, 90, 90, 90, 90, 90, 31, 32, 30,
- 0, 89, 85, 80, 90, 63, 90, 70, 90, 90,
+ 91, 91, 91, 91, 91, 72, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 58, 39,
+ 6, 5, 4, 3, 30, 0, 0, 0, 0, 0,
+ 61, 1, 0, 90, 0, 90, 89, 89, 59, 60,
+ 56, 91, 91, 91, 91, 91, 91, 91, 91, 77,
+ 91, 91, 90, 80, 63, 91, 91, 91, 91, 91,
+ 91, 91, 34, 32, 0, 0, 0, 0, 0, 91,
+ 76, 91, 91, 91, 91, 74, 91, 84, 91, 73,
+ 91, 91, 91, 91, 91, 91, 91, 91, 32, 33,
+ 31, 0, 90, 86, 81, 91, 64, 91, 71, 91,
- 90, 90, 90, 90, 90, 90, 64, 77, 90, 84,
- 82, 67, 81, 69, 65, 74, 90, 68, 90, 66,
- 86, 0
+ 91, 91, 91, 91, 91, 91, 91, 65, 78, 91,
+ 85, 83, 68, 82, 70, 66, 75, 91, 69, 91,
+ 67, 87, 0
} ;
static const YY_CHAR yy_ec[256] =
@@ -422,67 +420,67 @@ static const YY_CHAR yy_meta[65] =
1, 1, 1, 1
} ;
-static const flex_int16_t yy_base[233] =
+static const flex_int16_t yy_base[234] =
{ 0,
- 0, 0, 62, 63, 366, 367, 65, 67, 340, 66,
- 358, 338, 64, 327, 367, 367, 367, 63, 367, 72,
- 345, 61, 84, 90, 367, 367, 52, 69, 73, 367,
- 0, 367, 367, 82, 306, 306, 74, 45, 66, 307,
+ 0, 0, 62, 63, 367, 368, 65, 67, 341, 66,
+ 359, 339, 64, 328, 368, 368, 368, 63, 368, 72,
+ 346, 61, 84, 90, 339, 368, 52, 69, 73, 368,
+ 0, 368, 368, 82, 306, 306, 74, 45, 66, 307,
306, 77, 300, 317, 298, 311, 75, 293, 301, 305,
- 367, 60, 367, 367, 0, 367, 101, 337, 126, 367,
- 126, 367, 345, 367, 367, 367, 367, 338, 115, 120,
- 127, 367, 139, 146, 367, 330, 367, 0, 367, 185,
- 161, 0, 131, 320, 367, 367, 367, 367, 319, 0,
- 367, 318, 0, 300, 287, 290, 296, 0, 284, 298,
+ 368, 60, 368, 368, 0, 368, 101, 337, 126, 368,
+ 126, 368, 345, 368, 368, 368, 368, 338, 115, 120,
+ 127, 368, 139, 146, 368, 330, 368, 0, 368, 185,
+ 161, 0, 131, 368, 320, 368, 368, 368, 368, 319,
+ 0, 368, 318, 0, 300, 287, 290, 296, 0, 284,
- 280, 280, 281, 278, 0, 280, 288, 275, 279, 289,
- 272, 266, 272, 278, 271, 276, 275, 367, 367, 0,
- 139, 367, 367, 367, 311, 165, 177, 310, 0, 367,
- 0, 150, 169, 198, 367, 169, 157, 367, 367, 367,
- 280, 275, 137, 178, 274, 273, 265, 271, 0, 261,
- 260, 0, 0, 0, 254, 267, 252, 252, 264, 254,
- 256, 367, 367, 213, 216, 294, 177, 223, 255, 0,
- 246, 254, 246, 248, 0, 256, 0, 243, 0, 242,
- 241, 241, 246, 240, 189, 226, 232, 367, 367, 367,
- 227, 231, 0, 0, 217, 0, 197, 0, 187, 171,
+ 298, 280, 280, 281, 278, 0, 280, 288, 275, 279,
+ 289, 272, 266, 272, 278, 271, 276, 275, 368, 368,
+ 0, 139, 368, 368, 368, 311, 165, 177, 310, 0,
+ 368, 0, 150, 169, 198, 368, 169, 157, 368, 368,
+ 368, 280, 275, 137, 178, 274, 273, 265, 271, 0,
+ 261, 260, 0, 0, 0, 254, 267, 252, 252, 264,
+ 254, 256, 368, 368, 213, 216, 294, 177, 223, 255,
+ 0, 246, 254, 246, 248, 0, 256, 0, 243, 0,
+ 242, 241, 241, 246, 240, 189, 226, 232, 368, 368,
+ 368, 227, 231, 0, 0, 217, 0, 197, 0, 187,
- 173, 167, 153, 162, 160, 151, 0, 0, 137, 0,
- 0, 0, 0, 0, 0, 0, 120, 0, 110, 0,
- 0, 367, 252, 258, 264, 266, 272, 278, 284, 139,
- 288, 132
+ 171, 173, 167, 153, 162, 160, 151, 0, 0, 137,
+ 0, 0, 0, 0, 0, 0, 0, 120, 0, 110,
+ 0, 0, 368, 252, 258, 264, 266, 272, 278, 284,
+ 139, 288, 132
} ;
-static const flex_int16_t yy_def[233] =
+static const flex_int16_t yy_def[234] =
{ 0,
- 222, 1, 223, 223, 222, 222, 222, 222, 222, 224,
- 222, 222, 222, 225, 222, 222, 222, 222, 222, 222,
- 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
- 226, 222, 222, 222, 226, 226, 226, 226, 226, 226,
- 226, 226, 226, 226, 226, 226, 226, 226, 226, 226,
- 222, 222, 222, 222, 227, 222, 222, 222, 222, 222,
- 224, 222, 224, 222, 222, 222, 222, 222, 228, 222,
- 222, 222, 222, 222, 222, 222, 222, 229, 222, 222,
- 222, 230, 222, 222, 222, 222, 222, 222, 222, 226,
- 222, 222, 226, 226, 226, 226, 226, 226, 226, 226,
+ 223, 1, 224, 224, 223, 223, 223, 223, 223, 225,
+ 223, 223, 223, 226, 223, 223, 223, 223, 223, 223,
+ 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
+ 227, 223, 223, 223, 227, 227, 227, 227, 227, 227,
+ 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
+ 223, 223, 223, 223, 228, 223, 223, 223, 223, 223,
+ 225, 223, 225, 223, 223, 223, 223, 223, 229, 223,
+ 223, 223, 223, 223, 223, 223, 223, 230, 223, 223,
+ 223, 231, 223, 223, 223, 223, 223, 223, 223, 223,
+ 227, 223, 223, 227, 227, 227, 227, 227, 227, 227,
- 226, 226, 226, 226, 226, 226, 226, 226, 226, 226,
- 226, 226, 226, 226, 226, 226, 226, 222, 222, 227,
- 222, 222, 222, 222, 222, 222, 222, 231, 232, 222,
- 229, 222, 222, 222, 222, 230, 222, 222, 222, 222,
- 226, 226, 226, 226, 226, 226, 226, 226, 226, 226,
- 226, 226, 226, 226, 226, 226, 226, 226, 226, 226,
- 226, 222, 222, 222, 222, 231, 232, 222, 226, 226,
- 226, 226, 226, 226, 226, 226, 226, 226, 226, 226,
- 226, 226, 226, 226, 226, 226, 226, 222, 222, 222,
- 222, 222, 226, 226, 226, 226, 226, 226, 226, 226,
+ 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
+ 227, 227, 227, 227, 227, 227, 227, 227, 223, 223,
+ 228, 223, 223, 223, 223, 223, 223, 223, 232, 233,
+ 223, 230, 223, 223, 223, 223, 231, 223, 223, 223,
+ 223, 227, 227, 227, 227, 227, 227, 227, 227, 227,
+ 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
+ 227, 227, 223, 223, 223, 223, 232, 233, 223, 227,
+ 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
+ 227, 227, 227, 227, 227, 227, 227, 227, 223, 223,
+ 223, 223, 223, 227, 227, 227, 227, 227, 227, 227,
- 226, 226, 226, 226, 226, 226, 226, 226, 226, 226,
- 226, 226, 226, 226, 226, 226, 226, 226, 226, 226,
- 226, 0, 222, 222, 222, 222, 222, 222, 222, 222,
- 222, 222
+ 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
+ 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
+ 227, 227, 0, 223, 223, 223, 223, 223, 223, 223,
+ 223, 223, 223
} ;
-static const flex_int16_t yy_nxt[432] =
+static const flex_int16_t yy_nxt[433] =
{ 0,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 24,
@@ -491,50 +489,50 @@ static const flex_int16_t yy_nxt[432] =
38, 39, 40, 41, 31, 42, 31, 31, 43, 44,
31, 45, 46, 47, 48, 49, 50, 31, 31, 31,
51, 52, 53, 54, 56, 56, 59, 59, 59, 59,
- 62, 66, 77, 57, 57, 84, 85, 78, 58, 58,
- 70, 71, 71, 71, 118, 79, 97, 72, 67, 73,
- 74, 74, 74, 86, 87, 98, 75, 88, 89, 80,
+ 62, 66, 77, 57, 57, 85, 86, 78, 58, 58,
+ 70, 71, 71, 71, 119, 79, 98, 72, 67, 73,
+ 74, 74, 74, 87, 88, 99, 75, 89, 90, 80,
- 63, 81, 81, 81, 74, 80, 91, 74, 74, 74,
- 74, 95, 121, 99, 100, 101, 82, 122, 92, 105,
- 112, 119, 83, 102, 96, 106, 107, 59, 59, 113,
- 62, 114, 126, 126, 126, 80, 167, 71, 71, 71,
- 71, 82, 80, 136, 71, 71, 71, 71, 137, 137,
- 121, 221, 129, 127, 80, 122, 74, 74, 74, 74,
- 63, 80, 220, 74, 74, 74, 74, 133, 133, 133,
- 133, 129, 128, 163, 137, 137, 80, 129, 81, 81,
- 81, 74, 164, 164, 164, 162, 133, 133, 133, 133,
- 171, 172, 219, 218, 165, 165, 129, 132, 135, 132,
+ 63, 81, 81, 81, 74, 80, 92, 74, 74, 74,
+ 74, 96, 122, 100, 101, 102, 82, 123, 93, 106,
+ 113, 120, 83, 103, 97, 107, 108, 59, 59, 114,
+ 62, 115, 127, 127, 127, 80, 168, 71, 71, 71,
+ 71, 82, 80, 137, 71, 71, 71, 71, 138, 138,
+ 122, 222, 130, 128, 80, 123, 74, 74, 74, 74,
+ 63, 80, 221, 74, 74, 74, 74, 134, 134, 134,
+ 134, 130, 129, 164, 138, 138, 80, 130, 81, 81,
+ 81, 74, 165, 165, 165, 163, 134, 134, 134, 134,
+ 172, 173, 220, 219, 166, 166, 130, 133, 136, 133,
- 168, 217, 133, 133, 133, 133, 216, 215, 168, 214,
- 132, 135, 132, 134, 135, 133, 133, 133, 133, 173,
- 168, 188, 213, 174, 189, 212, 134, 135, 168, 205,
- 164, 164, 164, 165, 165, 191, 211, 191, 210, 206,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 55, 55, 55, 55, 55, 55, 61, 61,
- 61, 61, 61, 61, 68, 68, 209, 68, 68, 68,
- 90, 90, 120, 208, 120, 207, 120, 120, 125, 204,
- 125, 125, 125, 125, 131, 203, 131, 131, 131, 131,
- 166, 202, 166, 201, 200, 199, 198, 197, 196, 195,
+ 169, 218, 134, 134, 134, 134, 217, 216, 169, 215,
+ 133, 136, 133, 135, 136, 134, 134, 134, 134, 174,
+ 169, 189, 214, 175, 190, 213, 135, 136, 169, 206,
+ 165, 165, 165, 166, 166, 192, 212, 192, 211, 207,
+ 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+ 193, 193, 55, 55, 55, 55, 55, 55, 61, 61,
+ 61, 61, 61, 61, 68, 68, 210, 68, 68, 68,
+ 91, 91, 121, 209, 121, 208, 121, 121, 126, 205,
+ 126, 126, 126, 126, 132, 204, 132, 132, 132, 132,
+ 167, 203, 167, 202, 201, 200, 199, 198, 197, 196,
- 194, 193, 190, 187, 186, 185, 184, 183, 182, 181,
- 180, 179, 178, 177, 176, 175, 170, 169, 162, 162,
- 161, 160, 159, 158, 157, 156, 155, 154, 152, 153,
- 152, 151, 150, 149, 148, 147, 146, 145, 144, 143,
- 142, 141, 140, 139, 138, 130, 124, 222, 123, 117,
- 116, 115, 111, 110, 109, 108, 104, 103, 94, 93,
- 76, 69, 65, 64, 60, 222, 5, 222, 222, 222,
- 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
- 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
- 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
+ 195, 194, 191, 188, 187, 186, 185, 184, 183, 182,
+ 181, 180, 179, 178, 177, 176, 171, 170, 163, 163,
+ 162, 161, 160, 159, 158, 157, 156, 155, 153, 154,
+ 153, 152, 151, 150, 149, 148, 147, 146, 145, 144,
+ 143, 142, 141, 140, 139, 131, 125, 223, 124, 118,
+ 117, 116, 112, 111, 110, 109, 105, 104, 95, 94,
+ 84, 76, 69, 65, 64, 60, 223, 5, 223, 223,
+ 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
+ 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
+ 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
- 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
- 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
- 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
- 222
+ 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
+ 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
+ 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
+ 223, 223
} ;
-static const flex_int16_t yy_chk[432] =
+static const flex_int16_t yy_chk[433] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -550,40 +548,40 @@ static const flex_int16_t yy_chk[432] =
10, 23, 23, 23, 23, 24, 34, 24, 24, 24,
24, 37, 57, 39, 39, 39, 23, 57, 34, 42,
47, 52, 23, 39, 37, 42, 42, 59, 59, 47,
- 61, 47, 69, 69, 69, 70, 232, 70, 70, 70,
- 70, 23, 71, 230, 71, 71, 71, 71, 83, 83,
- 121, 219, 70, 69, 73, 121, 73, 73, 73, 73,
- 61, 74, 217, 74, 74, 74, 74, 132, 132, 132,
- 132, 73, 69, 126, 137, 137, 81, 70, 81, 81,
- 81, 81, 126, 126, 126, 127, 133, 133, 133, 133,
- 143, 143, 209, 206, 127, 127, 73, 80, 133, 80,
+ 61, 47, 69, 69, 69, 70, 233, 70, 70, 70,
+ 70, 23, 71, 231, 71, 71, 71, 71, 83, 83,
+ 122, 220, 70, 69, 73, 122, 73, 73, 73, 73,
+ 61, 74, 218, 74, 74, 74, 74, 133, 133, 133,
+ 133, 73, 69, 127, 138, 138, 81, 70, 81, 81,
+ 81, 81, 127, 127, 127, 128, 134, 134, 134, 134,
+ 144, 144, 210, 207, 128, 128, 73, 80, 134, 80,
- 136, 205, 80, 80, 80, 80, 204, 203, 167, 202,
- 134, 133, 134, 80, 80, 134, 134, 134, 134, 144,
- 136, 164, 201, 144, 165, 200, 80, 80, 167, 185,
- 164, 164, 164, 165, 165, 168, 199, 168, 197, 185,
- 168, 168, 168, 168, 191, 191, 191, 191, 192, 192,
- 192, 192, 223, 223, 223, 223, 223, 223, 224, 224,
- 224, 224, 224, 224, 225, 225, 195, 225, 225, 225,
- 226, 226, 227, 187, 227, 186, 227, 227, 228, 184,
- 228, 228, 228, 228, 229, 183, 229, 229, 229, 229,
- 231, 182, 231, 181, 180, 178, 176, 174, 173, 172,
+ 137, 206, 80, 80, 80, 80, 205, 204, 168, 203,
+ 135, 134, 135, 80, 80, 135, 135, 135, 135, 145,
+ 137, 165, 202, 145, 166, 201, 80, 80, 168, 186,
+ 165, 165, 165, 166, 166, 169, 200, 169, 198, 186,
+ 169, 169, 169, 169, 192, 192, 192, 192, 193, 193,
+ 193, 193, 224, 224, 224, 224, 224, 224, 225, 225,
+ 225, 225, 225, 225, 226, 226, 196, 226, 226, 226,
+ 227, 227, 228, 188, 228, 187, 228, 228, 229, 185,
+ 229, 229, 229, 229, 230, 184, 230, 230, 230, 230,
+ 232, 183, 232, 182, 181, 179, 177, 175, 174, 173,
- 171, 169, 166, 161, 160, 159, 158, 157, 156, 155,
- 151, 150, 148, 147, 146, 145, 142, 141, 128, 125,
- 117, 116, 115, 114, 113, 112, 111, 110, 109, 108,
- 107, 106, 104, 103, 102, 101, 100, 99, 97, 96,
- 95, 94, 92, 89, 84, 76, 68, 63, 58, 50,
+ 172, 170, 167, 162, 161, 160, 159, 158, 157, 156,
+ 152, 151, 149, 148, 147, 146, 143, 142, 129, 126,
+ 118, 117, 116, 115, 114, 113, 112, 111, 110, 109,
+ 108, 107, 105, 104, 103, 102, 101, 100, 98, 97,
+ 96, 95, 93, 90, 85, 76, 68, 63, 58, 50,
49, 48, 46, 45, 44, 43, 41, 40, 36, 35,
- 21, 14, 12, 11, 9, 5, 222, 222, 222, 222,
- 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
- 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
- 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
+ 25, 21, 14, 12, 11, 9, 5, 223, 223, 223,
+ 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
+ 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
+ 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
- 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
- 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
- 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
- 222
+ 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
+ 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
+ 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
+ 223, 223
} ;
/* The intent behind this definition is that it'll catch
@@ -908,13 +906,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 >= 223 )
+ if ( yy_current_state >= 224 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
- while ( yy_base[yy_current_state] != 367 );
+ while ( yy_base[yy_current_state] != 368 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
@@ -989,116 +987,121 @@ YY_RULE_SETUP
case 9:
YY_RULE_SETUP
#line 63 "src/lexer.l"
-{return LPAREN;}
+{return SCOPE;}
YY_BREAK
case 10:
YY_RULE_SETUP
#line 64 "src/lexer.l"
-{return RPAREN;}
+{return LPAREN;}
YY_BREAK
case 11:
YY_RULE_SETUP
#line 65 "src/lexer.l"
-{return LBRACE;}
+{return RPAREN;}
YY_BREAK
case 12:
YY_RULE_SETUP
#line 66 "src/lexer.l"
-{return RBRACE;}
+{return LBRACE;}
YY_BREAK
case 13:
YY_RULE_SETUP
#line 67 "src/lexer.l"
-{return LBRACKET;}
+{return RBRACE;}
YY_BREAK
case 14:
YY_RULE_SETUP
#line 68 "src/lexer.l"
-{return RBRACKET;}
+{return LBRACKET;}
YY_BREAK
case 15:
YY_RULE_SETUP
#line 69 "src/lexer.l"
-{return DOT;}
+{return RBRACKET;}
YY_BREAK
case 16:
YY_RULE_SETUP
#line 70 "src/lexer.l"
-{return COMMA;}
+{return DOT;}
YY_BREAK
case 17:
YY_RULE_SETUP
#line 71 "src/lexer.l"
-{return SEMICOLON;}
+{return COMMA;}
YY_BREAK
case 18:
YY_RULE_SETUP
#line 72 "src/lexer.l"
-{return COLON;}
+{return SEMICOLON;}
YY_BREAK
case 19:
YY_RULE_SETUP
#line 73 "src/lexer.l"
-{return BANG;}
+{return COLON;}
YY_BREAK
case 20:
YY_RULE_SETUP
#line 74 "src/lexer.l"
-{return PASTE;}
+{return BANG;}
YY_BREAK
case 21:
YY_RULE_SETUP
#line 75 "src/lexer.l"
-{return AT;}
+{return PASTE;}
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 77 "src/lexer.l"
-{return PLUS;}
+#line 76 "src/lexer.l"
+{return AT;}
YY_BREAK
case 23:
YY_RULE_SETUP
#line 78 "src/lexer.l"
-{return MINUS;}
+{return PLUS;}
YY_BREAK
case 24:
YY_RULE_SETUP
#line 79 "src/lexer.l"
-{return STAR;}
+{return MINUS;}
YY_BREAK
case 25:
YY_RULE_SETUP
#line 80 "src/lexer.l"
-{return DIV;}
+{return STAR;}
YY_BREAK
case 26:
YY_RULE_SETUP
#line 81 "src/lexer.l"
-{return REM;}
+{return DIV;}
YY_BREAK
case 27:
YY_RULE_SETUP
#line 82 "src/lexer.l"
-{return XOR;}
+{return REM;}
YY_BREAK
case 28:
YY_RULE_SETUP
#line 83 "src/lexer.l"
-{return POW;}
+{return XOR;}
YY_BREAK
case 29:
-/* rule 29 can match eol */
YY_RULE_SETUP
-#line 85 "src/lexer.l"
+#line 84 "src/lexer.l"
+{return POW;}
+ YY_BREAK
+case 30:
+/* rule 30 can match eol */
+YY_RULE_SETUP
+#line 86 "src/lexer.l"
{
/* regular character constant, 'a' */
yylval->integer = yytext[1];
return INT;
}
YY_BREAK
-case 30:
+case 31:
YY_RULE_SETUP
-#line 91 "src/lexer.l"
+#line 92 "src/lexer.l"
{
/* hex character constant, '\xef' */
/* handling is slightly different from C, here it's more or less just
@@ -1107,147 +1110,142 @@ YY_RULE_SETUP
return INT;
}
YY_BREAK
-case 31:
+case 32:
YY_RULE_SETUP
-#line 99 "src/lexer.l"
+#line 100 "src/lexer.l"
{
/* octal character constant, '\033' */
yylval->integer = strtoll(yytext + 2, NULL, 8);
return INT;
}
YY_BREAK
-case 32:
+case 33:
YY_RULE_SETUP
-#line 105 "src/lexer.l"
+#line 106 "src/lexer.l"
{
/* binary character constant, '\b101' */
yylval->integer = strtoll(yytext + 3, NULL, 2);
return INT;
}
YY_BREAK
-case 33:
+case 34:
YY_RULE_SETUP
-#line 111 "src/lexer.l"
+#line 112 "src/lexer.l"
{
/* escaped character constant */
yylval->integer = match_escape(yytext[2]);
return INT;
}
YY_BREAK
-case 34:
-YY_RULE_SETUP
-#line 117 "src/lexer.l"
-{return SQUOTE;}
- YY_BREAK
case 35:
YY_RULE_SETUP
-#line 119 "src/lexer.l"
-{return AND;}
+#line 118 "src/lexer.l"
+{return SQUOTE;}
YY_BREAK
case 36:
YY_RULE_SETUP
#line 120 "src/lexer.l"
-{return LAND;}
+{return AND;}
YY_BREAK
case 37:
YY_RULE_SETUP
#line 121 "src/lexer.l"
-{return OR;}
+{return LAND;}
YY_BREAK
case 38:
YY_RULE_SETUP
#line 122 "src/lexer.l"
-{return LOR;}
+{return OR;}
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 124 "src/lexer.l"
-{return TILDE;}
+#line 123 "src/lexer.l"
+{return LOR;}
YY_BREAK
case 40:
YY_RULE_SETUP
#line 125 "src/lexer.l"
-{return TO;}
+{return TILDE;}
YY_BREAK
case 41:
YY_RULE_SETUP
#line 126 "src/lexer.l"
-{return LT;}
+{return TO;}
YY_BREAK
case 42:
YY_RULE_SETUP
#line 127 "src/lexer.l"
-{return GT;}
+{return LT;}
YY_BREAK
case 43:
YY_RULE_SETUP
#line 128 "src/lexer.l"
-{return LE;}
+{return GT;}
YY_BREAK
case 44:
YY_RULE_SETUP
#line 129 "src/lexer.l"
-{return GE;}
+{return LE;}
YY_BREAK
case 45:
YY_RULE_SETUP
#line 130 "src/lexer.l"
-{return NE;}
+{return GE;}
YY_BREAK
case 46:
YY_RULE_SETUP
#line 131 "src/lexer.l"
-{return EQ;}
+{return NE;}
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 133 "src/lexer.l"
-{return FATARROW;}
+#line 132 "src/lexer.l"
+{return EQ;}
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 135 "src/lexer.l"
-{return LSHIFT;}
+#line 134 "src/lexer.l"
+{return FATARROW;}
YY_BREAK
case 49:
YY_RULE_SETUP
#line 136 "src/lexer.l"
-{return RSHIFT;}
+{return LSHIFT;}
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 138 "src/lexer.l"
-{return PLUSSELF;}
+#line 137 "src/lexer.l"
+{return RSHIFT;}
YY_BREAK
case 51:
YY_RULE_SETUP
#line 139 "src/lexer.l"
-{return MINUSSELF;}
+{return PLUSSELF;}
YY_BREAK
case 52:
YY_RULE_SETUP
#line 140 "src/lexer.l"
-{return DIVSELF;}
+{return MINUSSELF;}
YY_BREAK
case 53:
YY_RULE_SETUP
#line 141 "src/lexer.l"
-{return REMSELF;}
+{return DIVSELF;}
YY_BREAK
case 54:
YY_RULE_SETUP
#line 142 "src/lexer.l"
-{return XORSELF;}
+{return REMSELF;}
YY_BREAK
case 55:
YY_RULE_SETUP
#line 143 "src/lexer.l"
-{return POWSELF;}
+{return XORSELF;}
YY_BREAK
case 56:
YY_RULE_SETUP
#line 144 "src/lexer.l"
-{return ORSELF;}
+{return POWSELF;}
YY_BREAK
case 57:
YY_RULE_SETUP
@@ -1257,152 +1255,157 @@ YY_RULE_SETUP
case 58:
YY_RULE_SETUP
#line 146 "src/lexer.l"
-{return LSHIFTSELF;}
+{return ORSELF;}
YY_BREAK
case 59:
YY_RULE_SETUP
#line 147 "src/lexer.l"
-{return RSHIFTSELF;}
+{return LSHIFTSELF;}
YY_BREAK
case 60:
YY_RULE_SETUP
#line 148 "src/lexer.l"
-{return ELLIPSIS;}
+{return RSHIFTSELF;}
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 150 "src/lexer.l"
-{return AS;}
+#line 149 "src/lexer.l"
+{return ELLIPSIS;}
YY_BREAK
case 62:
YY_RULE_SETUP
#line 151 "src/lexer.l"
-{return PUB;}
+{return AS;}
YY_BREAK
case 63:
YY_RULE_SETUP
#line 152 "src/lexer.l"
-{return DEFER;}
+{return PUB;}
YY_BREAK
case 64:
YY_RULE_SETUP
#line 153 "src/lexer.l"
-{return UNION;}
+{return DEFER;}
YY_BREAK
case 65:
YY_RULE_SETUP
#line 154 "src/lexer.l"
-{return STRUCT;}
+{return UNION;}
YY_BREAK
case 66:
YY_RULE_SETUP
#line 155 "src/lexer.l"
-{return TYPEDEF;}
+{return STRUCT;}
YY_BREAK
case 67:
YY_RULE_SETUP
#line 156 "src/lexer.l"
-{return IMPORT;}
+{return TYPEDEF;}
YY_BREAK
case 68:
YY_RULE_SETUP
#line 157 "src/lexer.l"
-{return TYPEOF;}
+{return IMPORT;}
YY_BREAK
case 69:
YY_RULE_SETUP
#line 158 "src/lexer.l"
-{return SIZEOF;}
+{return TYPEOF;}
YY_BREAK
case 70:
YY_RULE_SETUP
#line 159 "src/lexer.l"
-{return EMBED;}
+{return SIZEOF;}
YY_BREAK
case 71:
YY_RULE_SETUP
#line 160 "src/lexer.l"
-{return IF;}
+{return EMBED;}
YY_BREAK
case 72:
YY_RULE_SETUP
#line 161 "src/lexer.l"
-{return GOTO;}
+{return IF;}
YY_BREAK
case 73:
YY_RULE_SETUP
#line 162 "src/lexer.l"
-{return ELSE;}
+{return GOTO;}
YY_BREAK
case 74:
YY_RULE_SETUP
#line 163 "src/lexer.l"
-{return SWITCH;}
+{return ELSE;}
YY_BREAK
case 75:
YY_RULE_SETUP
#line 164 "src/lexer.l"
-{return CASE;}
+{return SWITCH;}
YY_BREAK
case 76:
YY_RULE_SETUP
#line 165 "src/lexer.l"
-{return FOR;}
+{return CASE;}
YY_BREAK
case 77:
YY_RULE_SETUP
#line 166 "src/lexer.l"
-{return WHILE;}
+{return FOR;}
YY_BREAK
case 78:
YY_RULE_SETUP
#line 167 "src/lexer.l"
-{return DO;}
+{return WHILE;}
YY_BREAK
case 79:
YY_RULE_SETUP
#line 168 "src/lexer.l"
-{return MUT;}
+{return DO;}
YY_BREAK
case 80:
YY_RULE_SETUP
#line 169 "src/lexer.l"
-{return CONST;}
+{return MUT;}
YY_BREAK
case 81:
YY_RULE_SETUP
#line 170 "src/lexer.l"
-{return RETURN;}
+{return CONST;}
YY_BREAK
case 82:
YY_RULE_SETUP
#line 171 "src/lexer.l"
-{return EXTERN;}
+{return RETURN;}
YY_BREAK
case 83:
YY_RULE_SETUP
#line 172 "src/lexer.l"
-{return ENUM;}
+{return EXTERN;}
YY_BREAK
case 84:
YY_RULE_SETUP
#line 173 "src/lexer.l"
-{return DEFINE;}
+{return ENUM;}
YY_BREAK
case 85:
YY_RULE_SETUP
#line 174 "src/lexer.l"
-{return BREAK;}
+{return DEFINE;}
YY_BREAK
case 86:
YY_RULE_SETUP
#line 175 "src/lexer.l"
-{return CONTINUE;}
+{return BREAK;}
YY_BREAK
case 87:
-/* rule 87 can match eol */
YY_RULE_SETUP
-#line 177 "src/lexer.l"
+#line 176 "src/lexer.l"
+{return CONTINUE;}
+ YY_BREAK
+case 88:
+/* rule 88 can match eol */
+YY_RULE_SETUP
+#line 178 "src/lexer.l"
{
/* seems risky, I know, but letting the parser choose when to allocate a
* new string seems to help with syntax error cleanup */
@@ -1410,39 +1413,39 @@ YY_RULE_SETUP
return STRING;
}
YY_BREAK
-case 88:
+case 89:
YY_RULE_SETUP
-#line 184 "src/lexer.l"
+#line 185 "src/lexer.l"
{
yylval->integer = strtoll(yytext, 0, 0);
return INT;
}
YY_BREAK
-case 89:
+case 90:
YY_RULE_SETUP
-#line 189 "src/lexer.l"
+#line 190 "src/lexer.l"
{
yylval->dbl = strtod(yytext, 0);
return FLOAT;
}
YY_BREAK
-case 90:
+case 91:
YY_RULE_SETUP
-#line 194 "src/lexer.l"
+#line 195 "src/lexer.l"
{
yylval->str = yytext;
return ID;
}
YY_BREAK
-case 91:
-/* rule 91 can match eol */
+case 92:
+/* rule 92 can match eol */
YY_RULE_SETUP
-#line 200 "src/lexer.l"
+#line 201 "src/lexer.l"
{/* skip whitespace */}
YY_BREAK
-case 92:
+case 93:
YY_RULE_SETUP
-#line 202 "src/lexer.l"
+#line 203 "src/lexer.l"
{
struct src_issue issue;
issue.level = SRC_ERROR;
@@ -1454,12 +1457,12 @@ YY_RULE_SETUP
parser->failed = true;
}
YY_BREAK
-case 93:
+case 94:
YY_RULE_SETUP
-#line 212 "src/lexer.l"
+#line 213 "src/lexer.l"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
-#line 1461 "gen/gen_lexer.c"
+#line 1466 "gen/gen_lexer.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(SC_COMMENT):
yyterminate();
@@ -1759,7 +1762,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
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 >= 223 )
+ if ( yy_current_state >= 224 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
@@ -1788,11 +1791,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
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 >= 223 )
+ if ( yy_current_state >= 224 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 222);
+ yy_is_jam = (yy_current_state == 223);
(void)yyg;
return yy_is_jam ? 0 : yy_current_state;
@@ -2591,6 +2594,6 @@ void yyfree (void * ptr , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables"
-#line 212 "src/lexer.l"
+#line 213 "src/lexer.l"