|
|
@@ -300,30 +300,30 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
|
|
|
*yy_cp = '\0'; \
|
|
|
yy_c_buf_p = yy_cp;
|
|
|
|
|
|
-#define YY_NUM_RULES 47
|
|
|
-#define YY_END_OF_BUFFER 48
|
|
|
-static yyconst short int yy_accept[187] =
|
|
|
+#define YY_NUM_RULES 48
|
|
|
+#define YY_END_OF_BUFFER 49
|
|
|
+static yyconst short int yy_accept[188] =
|
|
|
{ 0,
|
|
|
- 0, 0, 48, 46, 2, 1, 43, 46, 46, 46,
|
|
|
- 40, 40, 44, 45, 45, 45, 45, 45, 45, 45,
|
|
|
- 45, 45, 45, 45, 45, 45, 1, 0, 40, 42,
|
|
|
- 4, 3, 42, 41, 45, 45, 45, 45, 45, 45,
|
|
|
- 35, 45, 45, 45, 45, 45, 45, 45, 45, 45,
|
|
|
- 45, 45, 45, 45, 0, 3, 41, 45, 45, 45,
|
|
|
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 33,
|
|
|
- 34, 45, 45, 45, 45, 45, 0, 42, 45, 22,
|
|
|
- 45, 11, 45, 45, 45, 45, 7, 45, 45, 45,
|
|
|
- 45, 12, 45, 45, 45, 45, 45, 45, 45, 45,
|
|
|
-
|
|
|
- 45, 45, 45, 45, 45, 45, 45, 13, 14, 15,
|
|
|
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
|
|
|
- 16, 39, 23, 45, 37, 36, 5, 45, 8, 45,
|
|
|
- 45, 45, 45, 45, 21, 6, 10, 45, 17, 18,
|
|
|
- 19, 45, 45, 20, 45, 45, 45, 38, 45, 9,
|
|
|
- 45, 45, 45, 45, 45, 45, 45, 45, 31, 45,
|
|
|
- 45, 45, 45, 32, 45, 45, 24, 45, 45, 45,
|
|
|
- 45, 25, 26, 45, 45, 45, 27, 28, 29, 45,
|
|
|
- 45, 45, 45, 45, 30, 0
|
|
|
+ 0, 0, 49, 47, 2, 1, 44, 47, 47, 47,
|
|
|
+ 40, 40, 45, 46, 46, 46, 46, 46, 46, 46,
|
|
|
+ 46, 46, 46, 46, 46, 46, 1, 0, 41, 43,
|
|
|
+ 4, 3, 43, 40, 42, 46, 46, 46, 46, 46,
|
|
|
+ 46, 35, 46, 46, 46, 46, 46, 46, 46, 46,
|
|
|
+ 46, 46, 46, 46, 46, 0, 3, 42, 46, 46,
|
|
|
+ 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
|
|
|
+ 33, 34, 46, 46, 46, 46, 46, 0, 43, 46,
|
|
|
+ 22, 46, 11, 46, 46, 46, 46, 7, 46, 46,
|
|
|
+ 46, 46, 12, 46, 46, 46, 46, 46, 46, 46,
|
|
|
+
|
|
|
+ 46, 46, 46, 46, 46, 46, 46, 46, 13, 14,
|
|
|
+ 15, 46, 46, 46, 46, 46, 46, 46, 46, 46,
|
|
|
+ 46, 16, 39, 23, 46, 37, 36, 5, 46, 8,
|
|
|
+ 46, 46, 46, 46, 46, 21, 6, 10, 46, 17,
|
|
|
+ 18, 19, 46, 46, 20, 46, 46, 46, 38, 46,
|
|
|
+ 9, 46, 46, 46, 46, 46, 46, 46, 46, 31,
|
|
|
+ 46, 46, 46, 46, 32, 46, 46, 24, 46, 46,
|
|
|
+ 46, 46, 25, 26, 46, 46, 46, 27, 28, 29,
|
|
|
+ 46, 46, 46, 46, 46, 30, 0
|
|
|
} ;
|
|
|
|
|
|
static yyconst int yy_ec[256] =
|
|
|
@@ -364,125 +364,127 @@ static yyconst int yy_meta[44] =
|
|
|
5, 5, 5, 5, 5, 5, 1, 6, 6, 7,
|
|
|
6, 6, 6, 6, 6, 6, 7, 7, 7, 7,
|
|
|
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
|
|
- 7, 7, 7
|
|
|
+ 7, 8, 7
|
|
|
} ;
|
|
|
|
|
|
-static yyconst short int yy_base[194] =
|
|
|
+static yyconst short int yy_base[196] =
|
|
|
{ 0,
|
|
|
- 0, 0, 223, 224, 224, 0, 224, 215, 0, 39,
|
|
|
- 38, 214, 224, 0, 191, 16, 27, 27, 23, 23,
|
|
|
- 178, 207, 35, 20, 174, 187, 0, 0, 208, 43,
|
|
|
- 224, 0, 0, 0, 0, 178, 180, 179, 174, 27,
|
|
|
- 0, 180, 176, 175, 173, 168, 173, 170, 172, 167,
|
|
|
- 165, 171, 165, 166, 191, 0, 0, 171, 173, 173,
|
|
|
- 168, 167, 166, 169, 168, 157, 154, 55, 149, 0,
|
|
|
- 0, 146, 37, 146, 158, 144, 175, 174, 156, 166,
|
|
|
- 153, 0, 153, 143, 137, 135, 0, 136, 156, 159,
|
|
|
- 156, 147, 142, 137, 133, 141, 140, 138, 62, 121,
|
|
|
-
|
|
|
- 149, 136, 118, 133, 119, 140, 116, 132, 131, 0,
|
|
|
- 115, 118, 113, 121, 109, 118, 120, 129, 132, 129,
|
|
|
- 120, 0, 0, 119, 0, 0, 0, 126, 0, 102,
|
|
|
- 101, 100, 111, 109, 0, 0, 0, 107, 111, 30,
|
|
|
- 0, 95, 93, 0, 93, 92, 106, 0, 102, 0,
|
|
|
- 89, 88, 94, 86, 83, 99, 98, 75, 0, 81,
|
|
|
- 80, 83, 93, 0, 70, 69, 0, 90, 89, 71,
|
|
|
- 65, 0, 0, 64, 63, 89, 0, 0, 0, 82,
|
|
|
- 58, 46, 58, 32, 0, 224, 80, 84, 68, 85,
|
|
|
- 92, 95, 99
|
|
|
+ 0, 0, 230, 231, 231, 0, 231, 222, 0, 39,
|
|
|
+ 38, 39, 231, 0, 199, 18, 28, 28, 23, 24,
|
|
|
+ 186, 215, 36, 22, 182, 195, 0, 0, 216, 43,
|
|
|
+ 231, 0, 0, 0, 0, 0, 186, 188, 187, 182,
|
|
|
+ 28, 0, 188, 184, 183, 181, 176, 181, 178, 180,
|
|
|
+ 175, 173, 179, 173, 174, 199, 0, 0, 179, 181,
|
|
|
+ 181, 176, 175, 174, 177, 176, 165, 162, 57, 157,
|
|
|
+ 0, 0, 154, 37, 154, 166, 152, 183, 182, 164,
|
|
|
+ 174, 161, 0, 161, 151, 145, 143, 0, 144, 164,
|
|
|
+ 167, 164, 155, 150, 145, 141, 149, 148, 146, 67,
|
|
|
+
|
|
|
+ 129, 157, 144, 126, 141, 127, 148, 124, 140, 139,
|
|
|
+ 0, 123, 126, 121, 129, 117, 126, 128, 137, 140,
|
|
|
+ 137, 128, 0, 0, 127, 0, 0, 0, 134, 0,
|
|
|
+ 110, 109, 108, 119, 117, 0, 0, 0, 115, 119,
|
|
|
+ 31, 0, 103, 101, 0, 101, 100, 114, 0, 110,
|
|
|
+ 0, 97, 96, 102, 94, 91, 107, 106, 83, 0,
|
|
|
+ 89, 88, 91, 101, 0, 78, 77, 0, 98, 97,
|
|
|
+ 79, 73, 0, 0, 71, 61, 81, 0, 0, 0,
|
|
|
+ 75, 49, 42, 54, 31, 0, 231, 83, 88, 66,
|
|
|
+ 90, 94, 102, 106, 110
|
|
|
|
|
|
} ;
|
|
|
|
|
|
-static yyconst short int yy_def[194] =
|
|
|
+static yyconst short int yy_def[196] =
|
|
|
{ 0,
|
|
|
- 186, 1, 186, 186, 186, 187, 186, 188, 189, 186,
|
|
|
- 188, 188, 186, 190, 190, 190, 190, 190, 190, 190,
|
|
|
- 190, 190, 190, 190, 190, 190, 187, 189, 188, 189,
|
|
|
- 186, 191, 30, 192, 190, 190, 190, 190, 190, 190,
|
|
|
- 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
|
|
|
- 190, 190, 190, 190, 193, 191, 192, 190, 190, 190,
|
|
|
- 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
|
|
|
- 190, 190, 190, 190, 190, 190, 193, 193, 190, 190,
|
|
|
- 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
|
|
|
- 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
|
|
|
-
|
|
|
- 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
|
|
|
- 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
|
|
|
- 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
|
|
|
- 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
|
|
|
- 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
|
|
|
- 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
|
|
|
- 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
|
|
|
- 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
|
|
|
- 190, 190, 190, 190, 190, 0, 186, 186, 186, 186,
|
|
|
- 186, 186, 186
|
|
|
+ 187, 1, 187, 187, 187, 188, 187, 189, 190, 187,
|
|
|
+ 191, 191, 187, 192, 192, 192, 192, 192, 192, 192,
|
|
|
+ 192, 192, 192, 192, 192, 192, 188, 190, 189, 190,
|
|
|
+ 187, 193, 30, 12, 194, 192, 192, 192, 192, 192,
|
|
|
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
|
|
|
+ 192, 192, 192, 192, 192, 195, 193, 194, 192, 192,
|
|
|
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
|
|
|
+ 192, 192, 192, 192, 192, 192, 192, 195, 195, 192,
|
|
|
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
|
|
|
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
|
|
|
+
|
|
|
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
|
|
|
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
|
|
|
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
|
|
|
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
|
|
|
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
|
|
|
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
|
|
|
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
|
|
|
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
|
|
|
+ 192, 192, 192, 192, 192, 192, 0, 187, 187, 187,
|
|
|
+ 187, 187, 187, 187, 187
|
|
|
|
|
|
} ;
|
|
|
|
|
|
-static yyconst short int yy_nxt[268] =
|
|
|
+static yyconst short int yy_nxt[275] =
|
|
|
{ 0,
|
|
|
4, 5, 6, 7, 4, 8, 9, 10, 11, 12,
|
|
|
12, 12, 12, 12, 12, 12, 13, 14, 14, 14,
|
|
|
15, 16, 17, 18, 14, 19, 14, 14, 20, 14,
|
|
|
14, 14, 21, 22, 14, 23, 24, 25, 26, 14,
|
|
|
- 14, 14, 14, 31, 33, 37, 32, 39, 41, 42,
|
|
|
- 152, 38, 43, 45, 46, 49, 40, 51, 44, 50,
|
|
|
- 52, 55, 62, 63, 89, 95, 90, 55, 153, 91,
|
|
|
- 92, 118, 30, 119, 185, 96, 120, 121, 184, 34,
|
|
|
- 27, 183, 27, 27, 27, 27, 27, 29, 29, 35,
|
|
|
- 35, 35, 56, 182, 56, 56, 56, 56, 56, 57,
|
|
|
-
|
|
|
- 57, 78, 181, 78, 180, 179, 178, 177, 176, 175,
|
|
|
- 174, 173, 172, 171, 170, 169, 168, 167, 166, 165,
|
|
|
- 164, 163, 162, 161, 160, 159, 158, 157, 156, 155,
|
|
|
- 154, 151, 150, 149, 148, 147, 146, 145, 144, 143,
|
|
|
- 142, 141, 140, 139, 138, 137, 136, 135, 134, 133,
|
|
|
- 132, 131, 130, 129, 128, 127, 126, 125, 124, 123,
|
|
|
- 122, 117, 116, 115, 114, 113, 112, 111, 110, 109,
|
|
|
- 108, 107, 106, 105, 104, 103, 102, 101, 100, 186,
|
|
|
- 186, 99, 98, 97, 94, 93, 88, 87, 86, 85,
|
|
|
- 84, 83, 82, 81, 80, 79, 77, 76, 75, 74,
|
|
|
-
|
|
|
- 73, 72, 71, 70, 69, 68, 67, 66, 65, 64,
|
|
|
- 61, 60, 59, 58, 33, 54, 53, 48, 47, 36,
|
|
|
- 33, 28, 186, 3, 186, 186, 186, 186, 186, 186,
|
|
|
- 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
|
|
|
- 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
|
|
|
- 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
|
|
|
- 186, 186, 186, 186, 186, 186, 186
|
|
|
+ 14, 14, 14, 31, 33, 33, 32, 38, 40, 42,
|
|
|
+ 43, 153, 44, 39, 46, 47, 50, 41, 45, 52,
|
|
|
+ 51, 56, 53, 63, 64, 96, 90, 56, 91, 154,
|
|
|
+ 30, 92, 93, 186, 185, 97, 119, 184, 120, 35,
|
|
|
+ 187, 121, 122, 27, 183, 27, 27, 27, 27, 27,
|
|
|
+ 27, 29, 29, 34, 34, 182, 181, 34, 36, 36,
|
|
|
+
|
|
|
+ 36, 36, 57, 180, 57, 57, 57, 57, 57, 57,
|
|
|
+ 58, 58, 79, 179, 79, 178, 177, 176, 175, 174,
|
|
|
+ 173, 172, 171, 170, 169, 168, 167, 166, 165, 164,
|
|
|
+ 163, 162, 161, 160, 159, 158, 157, 156, 155, 152,
|
|
|
+ 151, 150, 149, 148, 147, 146, 145, 144, 143, 142,
|
|
|
+ 141, 140, 139, 138, 137, 136, 135, 134, 133, 132,
|
|
|
+ 131, 130, 129, 128, 127, 126, 125, 124, 123, 118,
|
|
|
+ 117, 116, 115, 114, 113, 112, 111, 110, 109, 108,
|
|
|
+ 107, 106, 105, 104, 103, 102, 101, 187, 187, 100,
|
|
|
+ 99, 98, 95, 94, 89, 88, 87, 86, 85, 84,
|
|
|
+
|
|
|
+ 83, 82, 81, 80, 78, 77, 76, 75, 74, 73,
|
|
|
+ 72, 71, 70, 69, 68, 67, 66, 65, 62, 61,
|
|
|
+ 60, 59, 33, 55, 54, 49, 48, 37, 28, 187,
|
|
|
+ 3, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
|
|
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
|
|
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
|
|
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
|
|
+ 187, 187, 187, 187
|
|
|
} ;
|
|
|
|
|
|
-static yyconst short int yy_chk[268] =
|
|
|
+static yyconst short int yy_chk[275] =
|
|
|
{ 0,
|
|
|
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, 10, 11, 16, 10, 17, 18, 18,
|
|
|
- 140, 16, 19, 20, 20, 23, 17, 24, 19, 23,
|
|
|
- 24, 30, 40, 40, 68, 73, 68, 30, 140, 68,
|
|
|
- 68, 99, 189, 99, 184, 73, 99, 99, 183, 11,
|
|
|
- 187, 182, 187, 187, 187, 187, 187, 188, 188, 190,
|
|
|
- 190, 190, 191, 181, 191, 191, 191, 191, 191, 192,
|
|
|
-
|
|
|
- 192, 193, 180, 193, 176, 175, 174, 171, 170, 169,
|
|
|
- 168, 166, 165, 163, 162, 161, 160, 158, 157, 156,
|
|
|
- 155, 154, 153, 152, 151, 149, 147, 146, 145, 143,
|
|
|
- 142, 139, 138, 134, 133, 132, 131, 130, 128, 124,
|
|
|
- 121, 120, 119, 118, 117, 116, 115, 114, 113, 112,
|
|
|
- 111, 109, 108, 107, 106, 105, 104, 103, 102, 101,
|
|
|
- 100, 98, 97, 96, 95, 94, 93, 92, 91, 90,
|
|
|
- 89, 88, 86, 85, 84, 83, 81, 80, 79, 78,
|
|
|
- 77, 76, 75, 74, 72, 69, 67, 66, 65, 64,
|
|
|
- 63, 62, 61, 60, 59, 58, 55, 54, 53, 52,
|
|
|
-
|
|
|
- 51, 50, 49, 48, 47, 46, 45, 44, 43, 42,
|
|
|
- 39, 38, 37, 36, 29, 26, 25, 22, 21, 15,
|
|
|
- 12, 8, 3, 186, 186, 186, 186, 186, 186, 186,
|
|
|
- 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
|
|
|
- 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
|
|
|
- 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
|
|
|
- 186, 186, 186, 186, 186, 186, 186
|
|
|
+ 1, 1, 1, 10, 11, 12, 10, 16, 17, 18,
|
|
|
+ 18, 141, 19, 16, 20, 20, 23, 17, 19, 24,
|
|
|
+ 23, 30, 24, 41, 41, 74, 69, 30, 69, 141,
|
|
|
+ 190, 69, 69, 185, 184, 74, 100, 183, 100, 11,
|
|
|
+ 12, 100, 100, 188, 182, 188, 188, 188, 188, 188,
|
|
|
+ 188, 189, 189, 191, 191, 181, 177, 191, 192, 192,
|
|
|
+
|
|
|
+ 192, 192, 193, 176, 193, 193, 193, 193, 193, 193,
|
|
|
+ 194, 194, 195, 175, 195, 172, 171, 170, 169, 167,
|
|
|
+ 166, 164, 163, 162, 161, 159, 158, 157, 156, 155,
|
|
|
+ 154, 153, 152, 150, 148, 147, 146, 144, 143, 140,
|
|
|
+ 139, 135, 134, 133, 132, 131, 129, 125, 122, 121,
|
|
|
+ 120, 119, 118, 117, 116, 115, 114, 113, 112, 110,
|
|
|
+ 109, 108, 107, 106, 105, 104, 103, 102, 101, 99,
|
|
|
+ 98, 97, 96, 95, 94, 93, 92, 91, 90, 89,
|
|
|
+ 87, 86, 85, 84, 82, 81, 80, 79, 78, 77,
|
|
|
+ 76, 75, 73, 70, 68, 67, 66, 65, 64, 63,
|
|
|
+
|
|
|
+ 62, 61, 60, 59, 56, 55, 54, 53, 52, 51,
|
|
|
+ 50, 49, 48, 47, 46, 45, 44, 43, 40, 39,
|
|
|
+ 38, 37, 29, 26, 25, 22, 21, 15, 8, 3,
|
|
|
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
|
|
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
|
|
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
|
|
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
|
|
|
+ 187, 187, 187, 187
|
|
|
} ;
|
|
|
|
|
|
static yy_state_type yy_last_accepting_state;
|
|
|
@@ -797,7 +799,7 @@ inline void accept() {
|
|
|
col_number += yyleng;
|
|
|
}
|
|
|
|
|
|
-#line 802 "lex.yy.c"
|
|
|
+#line 804 "lex.yy.c"
|
|
|
|
|
|
/* Macros after this point can all be overridden by user definitions in
|
|
|
* section 1.
|
|
|
@@ -948,7 +950,7 @@ YY_DECL
|
|
|
register char *yy_cp = NULL, *yy_bp = NULL;
|
|
|
register int yy_act;
|
|
|
|
|
|
-#line 307 "dcLexer.lxx"
|
|
|
+#line 308 "dcLexer.lxx"
|
|
|
|
|
|
|
|
|
|
|
|
@@ -959,7 +961,7 @@ YY_DECL
|
|
|
}
|
|
|
|
|
|
|
|
|
-#line 964 "lex.yy.c"
|
|
|
+#line 966 "lex.yy.c"
|
|
|
|
|
|
if ( yy_init )
|
|
|
{
|
|
|
@@ -1010,13 +1012,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 >= 187 )
|
|
|
+ if ( yy_current_state >= 188 )
|
|
|
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] != 224 );
|
|
|
+ while ( yy_base[yy_current_state] != 231 );
|
|
|
|
|
|
yy_find_action:
|
|
|
yy_act = yy_accept[yy_current_state];
|
|
|
@@ -1044,7 +1046,7 @@ do_action: /* This label is used only to access EOF actions. */
|
|
|
|
|
|
case 1:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 317 "dcLexer.lxx"
|
|
|
+#line 318 "dcLexer.lxx"
|
|
|
{
|
|
|
// New line. Save a copy of the line so we can print it out for the
|
|
|
// benefit of the user in case we get an error.
|
|
|
@@ -1061,7 +1063,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 2:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 331 "dcLexer.lxx"
|
|
|
+#line 332 "dcLexer.lxx"
|
|
|
{
|
|
|
// Eat whitespace.
|
|
|
accept();
|
|
|
@@ -1069,7 +1071,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 3:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 336 "dcLexer.lxx"
|
|
|
+#line 337 "dcLexer.lxx"
|
|
|
{
|
|
|
// Eat C++-style comments.
|
|
|
accept();
|
|
|
@@ -1077,7 +1079,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 4:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 341 "dcLexer.lxx"
|
|
|
+#line 342 "dcLexer.lxx"
|
|
|
{
|
|
|
// Eat C-style comments.
|
|
|
accept();
|
|
|
@@ -1086,7 +1088,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 5:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 348 "dcLexer.lxx"
|
|
|
+#line 349 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_DCLASS;
|
|
|
@@ -1094,7 +1096,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 6:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 353 "dcLexer.lxx"
|
|
|
+#line 354 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_STRUCT;
|
|
|
@@ -1102,7 +1104,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 7:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 358 "dcLexer.lxx"
|
|
|
+#line 359 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_FROM;
|
|
|
@@ -1110,7 +1112,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 8:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 363 "dcLexer.lxx"
|
|
|
+#line 364 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_IMPORT;
|
|
|
@@ -1118,7 +1120,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 9:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 368 "dcLexer.lxx"
|
|
|
+#line 369 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_TYPEDEF;
|
|
|
@@ -1126,7 +1128,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 10:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 373 "dcLexer.lxx"
|
|
|
+#line 374 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_SWITCH;
|
|
|
@@ -1134,7 +1136,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 11:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 378 "dcLexer.lxx"
|
|
|
+#line 379 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_CASE;
|
|
|
@@ -1142,7 +1144,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 12:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 383 "dcLexer.lxx"
|
|
|
+#line 384 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_INT8;
|
|
|
@@ -1150,7 +1152,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 13:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 388 "dcLexer.lxx"
|
|
|
+#line 389 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_INT16;
|
|
|
@@ -1158,7 +1160,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 14:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 393 "dcLexer.lxx"
|
|
|
+#line 394 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_INT32;
|
|
|
@@ -1166,7 +1168,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 15:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 398 "dcLexer.lxx"
|
|
|
+#line 399 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_INT64;
|
|
|
@@ -1174,7 +1176,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 16:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 403 "dcLexer.lxx"
|
|
|
+#line 404 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_UINT8;
|
|
|
@@ -1182,7 +1184,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 17:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 408 "dcLexer.lxx"
|
|
|
+#line 409 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_UINT16;
|
|
|
@@ -1190,7 +1192,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 18:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 413 "dcLexer.lxx"
|
|
|
+#line 414 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_UINT32;
|
|
|
@@ -1198,7 +1200,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 19:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 418 "dcLexer.lxx"
|
|
|
+#line 419 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_UINT64;
|
|
|
@@ -1206,7 +1208,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 20:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 423 "dcLexer.lxx"
|
|
|
+#line 424 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_FLOAT64;
|
|
|
@@ -1214,7 +1216,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 21:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 428 "dcLexer.lxx"
|
|
|
+#line 429 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_STRING;
|
|
|
@@ -1222,7 +1224,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 22:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 433 "dcLexer.lxx"
|
|
|
+#line 434 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_BLOB;
|
|
|
@@ -1230,7 +1232,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 23:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 438 "dcLexer.lxx"
|
|
|
+#line 439 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_BLOB32;
|
|
|
@@ -1238,7 +1240,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 24:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 443 "dcLexer.lxx"
|
|
|
+#line 444 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_INT8ARRAY;
|
|
|
@@ -1246,7 +1248,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 25:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 448 "dcLexer.lxx"
|
|
|
+#line 449 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_INT16ARRAY;
|
|
|
@@ -1254,7 +1256,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 26:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 453 "dcLexer.lxx"
|
|
|
+#line 454 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_INT32ARRAY;
|
|
|
@@ -1262,7 +1264,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 27:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 458 "dcLexer.lxx"
|
|
|
+#line 459 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_UINT8ARRAY;
|
|
|
@@ -1270,7 +1272,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 28:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 463 "dcLexer.lxx"
|
|
|
+#line 464 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_UINT16ARRAY;
|
|
|
@@ -1278,7 +1280,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 29:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 468 "dcLexer.lxx"
|
|
|
+#line 469 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_UINT32ARRAY;
|
|
|
@@ -1286,7 +1288,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 30:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 473 "dcLexer.lxx"
|
|
|
+#line 474 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_UINT32UINT8ARRAY;
|
|
|
@@ -1294,7 +1296,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 31:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 478 "dcLexer.lxx"
|
|
|
+#line 479 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_REQUIRED;
|
|
|
@@ -1302,7 +1304,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 32:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 483 "dcLexer.lxx"
|
|
|
+#line 484 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_BROADCAST;
|
|
|
@@ -1310,7 +1312,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 33:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 488 "dcLexer.lxx"
|
|
|
+#line 489 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_P2P;
|
|
|
@@ -1318,7 +1320,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 34:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 493 "dcLexer.lxx"
|
|
|
+#line 494 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_RAM;
|
|
|
@@ -1326,7 +1328,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 35:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 498 "dcLexer.lxx"
|
|
|
+#line 499 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_DB;
|
|
|
@@ -1334,7 +1336,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 36:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 503 "dcLexer.lxx"
|
|
|
+#line 504 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_CLSEND;
|
|
|
@@ -1342,7 +1344,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 37:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 508 "dcLexer.lxx"
|
|
|
+#line 509 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_CLRECV;
|
|
|
@@ -1350,7 +1352,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 38:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 513 "dcLexer.lxx"
|
|
|
+#line 514 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_OWNSEND;
|
|
|
@@ -1358,7 +1360,7 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 39:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 518 "dcLexer.lxx"
|
|
|
+#line 519 "dcLexer.lxx"
|
|
|
{
|
|
|
accept();
|
|
|
return KW_AIRECV;
|
|
|
@@ -1366,13 +1368,40 @@ YY_RULE_SETUP
|
|
|
YY_BREAK
|
|
|
case 40:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 523 "dcLexer.lxx"
|
|
|
+#line 524 "dcLexer.lxx"
|
|
|
{
|
|
|
- // An integer number.
|
|
|
+ // An unsigned integer number.
|
|
|
accept();
|
|
|
|
|
|
// atoll isn't fully portable, so we'll decode the integer by hand.
|
|
|
- dcyylval.u.integer = 0;
|
|
|
+ dcyylval.str = dcyytext;
|
|
|
+ dcyylval.u.uint64 = 0;
|
|
|
+ const char *p = dcyytext;
|
|
|
+ while (*p != '\0') {
|
|
|
+ PN_uint64 next_value = dcyylval.u.uint64 * 10;
|
|
|
+ if (next_value < dcyylval.u.uint64) {
|
|
|
+ dcyyerror("Number out of range.");
|
|
|
+ dcyylval.u.uint64 = 1;
|
|
|
+ return UNSIGNED_INTEGER;
|
|
|
+ }
|
|
|
+
|
|
|
+ dcyylval.u.uint64 = next_value + (*p - '0');
|
|
|
+ ++p;
|
|
|
+ }
|
|
|
+
|
|
|
+ return UNSIGNED_INTEGER;
|
|
|
+}
|
|
|
+ YY_BREAK
|
|
|
+case 41:
|
|
|
+YY_RULE_SETUP
|
|
|
+#line 547 "dcLexer.lxx"
|
|
|
+{
|
|
|
+ // A signed integer number.
|
|
|
+ accept();
|
|
|
+
|
|
|
+ // atoll isn't fully portable, so we'll decode the integer by hand.
|
|
|
+ dcyylval.str = dcyytext;
|
|
|
+
|
|
|
bool neg = false;
|
|
|
const char *p = dcyytext;
|
|
|
if (*p == '-') {
|
|
|
@@ -1381,44 +1410,70 @@ YY_RULE_SETUP
|
|
|
} else if (*p == '+') {
|
|
|
++p;
|
|
|
}
|
|
|
+
|
|
|
+ PN_uint64 value = 0;
|
|
|
while (*p != '\0') {
|
|
|
- dcyylval.u.integer = dcyylval.u.integer * 10 + (*p - '0');
|
|
|
+ PN_uint64 next_value = value * 10;
|
|
|
+ if (next_value < value) {
|
|
|
+ dcyyerror("Number out of range.");
|
|
|
+ dcyylval.u.int64 = 1;
|
|
|
+ return SIGNED_INTEGER;
|
|
|
+ }
|
|
|
+
|
|
|
+ value = next_value + (*p - '0');
|
|
|
++p;
|
|
|
}
|
|
|
+
|
|
|
if (neg) {
|
|
|
- dcyylval.u.integer = -dcyylval.u.integer;
|
|
|
- }
|
|
|
+ dcyylval.u.int64 = -(PN_int64)value;
|
|
|
+ if (dcyylval.u.int64 > 0) {
|
|
|
+ dcyyerror("Number out of range.");
|
|
|
+ dcyylval.u.int64 = 1;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ dcyylval.u.int64 = (PN_int64)value;
|
|
|
+ if (dcyylval.u.int64 < 0) {
|
|
|
+ dcyyerror("Number out of range.");
|
|
|
+ dcyylval.u.int64 = 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- dcyylval.str = dcyytext;
|
|
|
- return INTEGER;
|
|
|
+ return SIGNED_INTEGER;
|
|
|
}
|
|
|
YY_BREAK
|
|
|
-case 41:
|
|
|
+case 42:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 549 "dcLexer.lxx"
|
|
|
+#line 593 "dcLexer.lxx"
|
|
|
{
|
|
|
// A hexadecimal integer number.
|
|
|
accept();
|
|
|
|
|
|
// As above, we'll decode the hex string by hand.
|
|
|
- dcyylval.u.integer = 0;
|
|
|
+ dcyylval.str = dcyytext;
|
|
|
+ dcyylval.u.uint64 = 0;
|
|
|
const char *p = dcyytext + 2;
|
|
|
while (*p != '\0') {
|
|
|
+ PN_uint64 next_value = dcyylval.u.uint64 * 16;
|
|
|
+ if (next_value < dcyylval.u.uint64) {
|
|
|
+ dcyyerror("Number out of range.");
|
|
|
+ dcyylval.u.uint64 = 1;
|
|
|
+ return UNSIGNED_INTEGER;
|
|
|
+ }
|
|
|
+
|
|
|
if (isalpha(*p)) {
|
|
|
- dcyylval.u.integer = dcyylval.u.integer * 16 + (tolower(*p) - 'a' + 10);
|
|
|
+ dcyylval.u.uint64 = next_value + (tolower(*p) - 'a' + 10);
|
|
|
} else {
|
|
|
- dcyylval.u.integer = dcyylval.u.integer * 16 + (*p - '0');
|
|
|
+ dcyylval.u.uint64 = next_value + (*p - '0');
|
|
|
}
|
|
|
++p;
|
|
|
}
|
|
|
|
|
|
- dcyylval.str = dcyytext;
|
|
|
- return INTEGER;
|
|
|
+ return UNSIGNED_INTEGER;
|
|
|
}
|
|
|
YY_BREAK
|
|
|
-case 42:
|
|
|
+case 43:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 569 "dcLexer.lxx"
|
|
|
+#line 620 "dcLexer.lxx"
|
|
|
{
|
|
|
// A floating-point number.
|
|
|
accept();
|
|
|
@@ -1427,9 +1482,9 @@ YY_RULE_SETUP
|
|
|
return REAL;
|
|
|
}
|
|
|
YY_BREAK
|
|
|
-case 43:
|
|
|
+case 44:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 577 "dcLexer.lxx"
|
|
|
+#line 628 "dcLexer.lxx"
|
|
|
{
|
|
|
// Quoted string.
|
|
|
accept();
|
|
|
@@ -1437,9 +1492,9 @@ YY_RULE_SETUP
|
|
|
return STRING;
|
|
|
}
|
|
|
YY_BREAK
|
|
|
-case 44:
|
|
|
+case 45:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 584 "dcLexer.lxx"
|
|
|
+#line 635 "dcLexer.lxx"
|
|
|
{
|
|
|
// Long hex string.
|
|
|
accept();
|
|
|
@@ -1447,9 +1502,9 @@ YY_RULE_SETUP
|
|
|
return HEX_STRING;
|
|
|
}
|
|
|
YY_BREAK
|
|
|
-case 45:
|
|
|
+case 46:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 591 "dcLexer.lxx"
|
|
|
+#line 642 "dcLexer.lxx"
|
|
|
{
|
|
|
// Identifier.
|
|
|
accept();
|
|
|
@@ -1457,21 +1512,21 @@ YY_RULE_SETUP
|
|
|
return IDENTIFIER;
|
|
|
}
|
|
|
YY_BREAK
|
|
|
-case 46:
|
|
|
+case 47:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 599 "dcLexer.lxx"
|
|
|
+#line 650 "dcLexer.lxx"
|
|
|
{
|
|
|
// Send any other printable character as itself.
|
|
|
accept();
|
|
|
return dcyytext[0];
|
|
|
}
|
|
|
YY_BREAK
|
|
|
-case 47:
|
|
|
+case 48:
|
|
|
YY_RULE_SETUP
|
|
|
-#line 605 "dcLexer.lxx"
|
|
|
+#line 656 "dcLexer.lxx"
|
|
|
ECHO;
|
|
|
YY_BREAK
|
|
|
-#line 1476 "lex.yy.c"
|
|
|
+#line 1531 "lex.yy.c"
|
|
|
case YY_STATE_EOF(INITIAL):
|
|
|
yyterminate();
|
|
|
|
|
|
@@ -1763,7 +1818,7 @@ static yy_state_type yy_get_previous_state()
|
|
|
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 >= 187 )
|
|
|
+ if ( yy_current_state >= 188 )
|
|
|
yy_c = yy_meta[(unsigned int) yy_c];
|
|
|
}
|
|
|
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
|
|
|
@@ -1798,11 +1853,11 @@ yy_state_type yy_current_state;
|
|
|
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 >= 187 )
|
|
|
+ if ( yy_current_state >= 188 )
|
|
|
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 == 186);
|
|
|
+ yy_is_jam = (yy_current_state == 187);
|
|
|
|
|
|
return yy_is_jam ? 0 : yy_current_state;
|
|
|
}
|
|
|
@@ -2352,4 +2407,4 @@ int main()
|
|
|
return 0;
|
|
|
}
|
|
|
#endif
|
|
|
-#line 605 "dcLexer.lxx"
|
|
|
+#line 656 "dcLexer.lxx"
|