diff --git a/direct/src/dcparser/dcParser.cxx.prebuilt b/direct/src/dcparser/dcParser.cxx.prebuilt index 2fc9986024..a38c6f6993 100644 --- a/direct/src/dcparser/dcParser.cxx.prebuilt +++ b/direct/src/dcparser/dcParser.cxx.prebuilt @@ -92,12 +92,12 @@ dc_cleanup_parser() { -#define YYFINAL 116 +#define YYFINAL 122 #define YYFLAG -32768 -#define YYNTBASE 50 +#define YYNTBASE 51 /* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */ -#define YYTRANSLATE(x) ((unsigned)(x) <= 293 ? yytranslate[x] : 79) +#define YYTRANSLATE(x) ((unsigned)(x) <= 293 ? yytranslate[x] : 82) /* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */ static const char yytranslate[] = @@ -106,9 +106,9 @@ static const char yytranslate[] = 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 46, 47, 43, 2, 44, 2, 2, 48, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 45, 40, - 2, 49, 2, 2, 2, 2, 2, 2, 2, 2, + 48, 49, 45, 2, 46, 2, 44, 43, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 47, 40, + 2, 50, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -137,42 +137,44 @@ static const char yytranslate[] = #if YYDEBUG static const short yyprhs[] = { - 0, 0, 2, 5, 8, 11, 12, 20, 22, 25, - 26, 32, 34, 36, 38, 42, 44, 47, 49, 53, - 55, 58, 61, 64, 65, 72, 74, 76, 78, 80, - 84, 85, 89, 91, 95, 98, 102, 106, 110, 114, - 120, 122, 125, 127, 129, 131, 135, 137, 139, 141, - 143, 147, 151, 155, 157, 159, 161, 163, 165, 167, - 169, 171, 173, 175, 177, 179, 181, 183, 185, 187, - 189, 191, 193, 195, 198, 201, 204, 207, 210, 213, - 216, 219, 222, 223, 228, 230, 234 + 0, 0, 2, 5, 8, 11, 12, 20, 22, 24, + 28, 30, 34, 37, 38, 44, 46, 48, 50, 54, + 56, 59, 61, 65, 67, 70, 73, 76, 77, 84, + 86, 88, 90, 92, 96, 97, 101, 103, 107, 110, + 114, 118, 122, 126, 132, 134, 137, 139, 141, 143, + 147, 149, 151, 153, 155, 159, 163, 167, 169, 171, + 173, 175, 177, 179, 181, 183, 185, 187, 189, 191, + 193, 195, 197, 199, 201, 203, 205, 207, 210, 213, + 216, 219, 222, 225, 228, 231, 234, 235, 240, 242, + 246 }; static const short yyrhs[] = { - 78, 0, 50, 40, 0, 50, 51, 0, 50, 54, - 0, 0, 8, 7, 52, 58, 41, 60, 42, 0, - 7, 0, 10, 7, 0, 0, 9, 7, 10, 55, - 56, 0, 57, 0, 43, 0, 7, 0, 57, 44, - 7, 0, 78, 0, 45, 59, 0, 53, 0, 59, - 44, 53, 0, 78, 0, 60, 40, 0, 60, 61, - 0, 60, 75, 0, 0, 7, 46, 62, 64, 47, - 74, 0, 7, 0, 78, 0, 65, 0, 66, 0, - 65, 44, 66, 0, 0, 73, 67, 68, 0, 78, - 0, 68, 48, 3, 0, 68, 7, 0, 68, 49, - 3, 0, 68, 49, 4, 0, 68, 49, 5, 0, - 68, 49, 6, 0, 68, 49, 41, 69, 42, 0, - 78, 0, 71, 70, 0, 78, 0, 44, 0, 72, - 0, 71, 44, 72, 0, 3, 0, 4, 0, 5, - 0, 6, 0, 3, 43, 3, 0, 4, 43, 3, - 0, 6, 43, 3, 0, 11, 0, 12, 0, 13, - 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, - 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, - 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, - 0, 29, 0, 78, 0, 74, 31, 0, 74, 32, - 0, 74, 33, 0, 74, 34, 0, 74, 35, 0, - 74, 36, 0, 74, 37, 0, 74, 38, 0, 74, - 39, 0, 0, 7, 45, 76, 77, 0, 63, 0, - 77, 44, 63, 0, 0 + 81, 0, 51, 40, 0, 51, 52, 0, 51, 57, + 0, 0, 8, 7, 53, 61, 41, 63, 42, 0, + 7, 0, 7, 0, 55, 43, 7, 0, 55, 0, + 56, 44, 55, 0, 10, 56, 0, 0, 9, 56, + 10, 58, 59, 0, 60, 0, 45, 0, 55, 0, + 60, 46, 55, 0, 81, 0, 47, 62, 0, 54, + 0, 62, 46, 54, 0, 81, 0, 63, 40, 0, + 63, 64, 0, 63, 78, 0, 0, 7, 48, 65, + 67, 49, 77, 0, 7, 0, 81, 0, 68, 0, + 69, 0, 68, 46, 69, 0, 0, 76, 70, 71, + 0, 81, 0, 71, 43, 3, 0, 71, 7, 0, + 71, 50, 3, 0, 71, 50, 4, 0, 71, 50, + 5, 0, 71, 50, 6, 0, 71, 50, 41, 72, + 42, 0, 81, 0, 74, 73, 0, 81, 0, 46, + 0, 75, 0, 74, 46, 75, 0, 3, 0, 4, + 0, 5, 0, 6, 0, 3, 45, 3, 0, 4, + 45, 3, 0, 6, 45, 3, 0, 11, 0, 12, + 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, + 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, + 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, + 0, 28, 0, 29, 0, 81, 0, 77, 31, 0, + 77, 32, 0, 77, 33, 0, 77, 34, 0, 77, + 35, 0, 77, 36, 0, 77, 37, 0, 77, 38, + 0, 77, 39, 0, 0, 7, 47, 79, 80, 0, + 66, 0, 80, 46, 66, 0, 0 }; #endif @@ -181,15 +183,16 @@ static const short yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const short yyrline[] = { - 0, 91, 93, 94, 95, 98, 98, 109, 123, 128, - 128, 135, 137, 143, 148, 154, 156, 159, 166, 174, - 176, 177, 178, 181, 181, 192, 208, 210, 213, 215, - 218, 218, 230, 232, 236, 240, 246, 252, 258, 264, - 274, 276, 279, 281, 284, 286, 289, 296, 302, 308, - 314, 323, 332, 343, 348, 352, 356, 360, 364, 368, - 372, 376, 380, 384, 388, 392, 396, 400, 404, 408, - 412, 416, 422, 424, 428, 432, 436, 440, 444, 448, - 452, 456, 462, 462, 473, 480, 493 + 0, 93, 95, 96, 97, 100, 100, 111, 125, 127, + 133, 135, 141, 146, 146, 153, 155, 161, 166, 172, + 174, 177, 184, 192, 194, 195, 196, 199, 199, 210, + 226, 228, 231, 233, 236, 236, 248, 250, 254, 258, + 264, 270, 276, 282, 292, 294, 297, 299, 302, 304, + 307, 314, 320, 326, 332, 341, 350, 361, 366, 370, + 374, 378, 382, 386, 390, 394, 398, 402, 406, 410, + 414, 418, 422, 426, 430, 434, 440, 442, 446, 450, + 454, 458, 462, 466, 470, 474, 480, 480, 491, 498, + 511 }; #endif @@ -207,8 +210,9 @@ static const char *const yytname[] = "KW_UINT8ARRAY", "KW_UINT16ARRAY", "KW_UINT32ARRAY", "KW_UINT32UINT8ARRAY", "KW_MOL", "KW_REQUIRED", "KW_BROADCAST", "KW_P2P", "KW_RAM", "KW_DB", "KW_CLSEND", "KW_CLRECV", "KW_OWNSEND", - "KW_AIRECV", "';'", "'{'", "'}'", "'*'", "','", "':'", "'('", "')'", - "'/'", "'='", "dc", "dclass", "@1", "dclass_name", "import", "@2", + "KW_AIRECV", "';'", "'{'", "'}'", "'/'", "'.'", "'*'", "','", "':'", + "'('", "')'", "'='", "dc", "dclass", "@1", "dclass_name", + "slash_identifier", "import_identifier", "import", "@2", "import_symbol_list_or_star", "import_symbol_list", "dclass_derivation", "base_list", "dclass_fields", "atomic_field", "@3", "atomic_name", "parameter_list", "nonempty_parameter_list", "atomic_element", "@4", @@ -221,29 +225,31 @@ static const char *const yytname[] = /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const short yyr1[] = { - 0, 50, 50, 50, 50, 52, 51, 53, 54, 55, - 54, 56, 56, 57, 57, 58, 58, 59, 59, 60, - 60, 60, 60, 62, 61, 63, 64, 64, 65, 65, - 67, 66, 68, 68, 68, 68, 68, 68, 68, 68, - 69, 69, 70, 70, 71, 71, 72, 72, 72, 72, - 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 76, 75, 77, 77, 78 + 0, 51, 51, 51, 51, 53, 52, 54, 55, 55, + 56, 56, 57, 58, 57, 59, 59, 60, 60, 61, + 61, 62, 62, 63, 63, 63, 63, 65, 64, 66, + 67, 67, 68, 68, 70, 69, 71, 71, 71, 71, + 71, 71, 71, 71, 72, 72, 73, 73, 74, 74, + 75, 75, 75, 75, 75, 75, 75, 76, 76, 76, + 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, + 76, 76, 76, 76, 76, 76, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 77, 79, 78, 80, 80, + 81 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const short yyr2[] = { - 0, 1, 2, 2, 2, 0, 7, 1, 2, 0, - 5, 1, 1, 1, 3, 1, 2, 1, 3, 1, - 2, 2, 2, 0, 6, 1, 1, 1, 1, 3, - 0, 3, 1, 3, 2, 3, 3, 3, 3, 5, - 1, 2, 1, 1, 1, 3, 1, 1, 1, 1, - 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 2, 2, 2, 0, 7, 1, 1, 3, + 1, 3, 2, 0, 5, 1, 1, 1, 3, 1, + 2, 1, 3, 1, 2, 2, 2, 0, 6, 1, + 1, 1, 1, 3, 0, 3, 1, 3, 2, 3, + 3, 3, 3, 5, 1, 2, 1, 1, 1, 3, + 1, 1, 1, 1, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 0, 4, 1, 3, 0 + 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 0, 4, 1, 3, + 0 }; /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE @@ -251,78 +257,84 @@ static const short yyr2[] = error. */ static const short yydefact[] = { - 86, 0, 1, 0, 0, 0, 2, 3, 4, 5, - 0, 8, 86, 9, 0, 0, 15, 0, 7, 17, - 16, 86, 13, 12, 10, 11, 0, 0, 19, 0, - 18, 0, 20, 6, 21, 22, 14, 82, 23, 0, - 86, 25, 84, 83, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 0, 27, 28, 30, 26, 0, 86, - 0, 86, 85, 24, 72, 29, 31, 32, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 34, 0, 0, - 33, 35, 36, 37, 38, 86, 46, 47, 48, 49, - 0, 86, 44, 40, 0, 0, 0, 39, 43, 41, - 42, 50, 51, 52, 45, 0, 0 + 90, 0, 1, 0, 0, 0, 2, 3, 4, 5, + 8, 10, 0, 12, 90, 0, 13, 0, 0, 0, + 19, 9, 0, 11, 7, 21, 20, 90, 16, 17, + 14, 15, 0, 0, 23, 0, 22, 0, 24, 6, + 25, 26, 18, 86, 27, 0, 90, 29, 88, 87, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 0, + 31, 32, 34, 30, 0, 90, 0, 90, 89, 28, + 76, 33, 35, 36, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 38, 0, 0, 37, 39, 40, 41, + 42, 90, 50, 51, 52, 53, 0, 90, 48, 44, + 0, 0, 0, 43, 47, 45, 46, 54, 55, 56, + 49, 0, 0 }; static const short yydefgoto[] = { - 1, 7, 12, 19, 8, 17, 24, 25, 15, 20, - 27, 34, 40, 42, 63, 64, 65, 71, 76, 100, - 109, 101, 102, 66, 73, 35, 39, 43, 2 + 1, 7, 14, 25, 11, 12, 8, 22, 30, 31, + 19, 26, 33, 40, 46, 48, 69, 70, 71, 77, + 82, 106, 115, 107, 108, 72, 79, 41, 45, 49, + 2 }; static const short yypact[] = { - -32768, 4,-32768, -4, 3, 17,-32768,-32768,-32768,-32768, - 1,-32768, -40,-32768, 18, -18,-32768, -5,-32768,-32768, - -17,-32768,-32768,-32768,-32768, 2, 18, -1,-32768, 19, - -32768, -38,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 33, - 49,-32768,-32768, 5,-32768,-32768,-32768,-32768,-32768,-32768, + -32768, 2,-32768, 27, 28, 28,-32768,-32768,-32768,-32768, + -32768, -36, -1, -8, -9, 32,-32768, 28, 33, 4, + -32768,-32768, 1, -36,-32768,-32768, 5,-32768,-32768, -36, + -32768, 6, 33, 7,-32768, 28,-32768, -17,-32768,-32768, + -32768,-32768, -36,-32768,-32768, 41, 53,-32768,-32768, 8, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768,-32768, 0, 6,-32768,-32768,-32768, 33,-32768, - 49,-32768,-32768, -2,-32768,-32768, -6,-32768,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 42, 12, - -32768,-32768,-32768,-32768,-32768, 16, 8, 9,-32768, 11, - 13, 14,-32768,-32768, 45, 53, 76,-32768, 16,-32768, - -32768,-32768,-32768,-32768,-32768, 80,-32768 + -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 9, + 10,-32768,-32768,-32768, 41,-32768, 53,-32768,-32768, -10, + -32768,-32768, -6,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -32768,-32768,-32768,-32768, 47, 0,-32768,-32768,-32768,-32768, + -32768, 13, 12, 14,-32768, 15, 11, 16,-32768,-32768, + 52, 80, 81,-32768, 13,-32768,-32768,-32768,-32768,-32768, + -32768, 85,-32768 }; static const short yypgoto[] = { - -32768,-32768,-32768, 55,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768,-32768, 20,-32768,-32768, 15,-32768,-32768,-32768, - -32768,-32768, -26,-32768,-32768,-32768,-32768,-32768, -12 + -32768,-32768,-32768, 54, -2, 83,-32768,-32768,-32768,-32768, + -32768,-32768,-32768,-32768,-32768, 17,-32768,-32768, 18,-32768, + -32768,-32768,-32768,-32768, -25,-32768,-32768,-32768,-32768,-32768, + -14 }; -#define YYLAST 89 +#define YYLAST 94 static const short yytable[] = { - 16, 87, 22, 9, 115, 14, 31, 37, 38, 28, - 10, 13, 3, 4, 5, 91, 92, 93, 94, 96, - 97, 98, 99, 21, 11, 18, 36, 26, 67, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 23, 32, - 41, 33, 88, 89, 6, 90, 29, 69, 111, 68, - 70, 104, 105, 95, 106, 107, 112, 74, 108, 77, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 113, - 116, 30, 114, 103, 0, 75, 0, 0, 72, 110 + 20, 93, 121, 97, 98, 99, 100, 15, 10, 16, + 3, 4, 5, 34, 37, 23, 102, 103, 104, 105, + 29, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 43, 44, 73, 42, 9, 10, 17, 94, 18, 21, + 24, 101, 6, 17, 95, 27, 28, 38, 47, 39, + 96, 32, 35, 113, 74, 117, 76, 110, 75, 111, + 112, 80, 114, 83, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 118, 119, 122, 36, 109, 13, 120, + 0, 78, 0, 116, 81 }; static const short yycheck[] = { - 12, 7, 7, 7, 0, 45, 7, 45, 46, 21, - 7, 10, 8, 9, 10, 3, 4, 5, 6, 3, - 4, 5, 6, 41, 7, 7, 7, 44, 40, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 43, 40, - 7, 42, 48, 49, 40, 3, 44, 47, 3, 44, - 44, 43, 43, 41, 43, 42, 3, 69, 44, 71, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 3, - 0, 26, 108, 95, -1, 70, -1, -1, 68, 101 + 14, 7, 0, 3, 4, 5, 6, 43, 7, 10, + 8, 9, 10, 27, 7, 17, 3, 4, 5, 6, + 22, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 47, 48, 46, 35, 7, 7, 44, 43, 47, 7, + 7, 41, 40, 44, 50, 41, 45, 40, 7, 42, + 3, 46, 46, 42, 46, 3, 46, 45, 49, 45, + 45, 75, 46, 77, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 3, 3, 0, 32, 101, 5, 114, + -1, 74, -1, 107, 76 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/share/bison/bison.simple" @@ -1032,7 +1044,7 @@ yyreduce: switch (yyn) { case 5: -#line 100 "dcParser.yxx" +#line 102 "dcParser.yxx" { current_class = new DCClass(yyvsp[0].str); if (!dc_file->add_class(current_class)) { @@ -1041,66 +1053,78 @@ case 5: } break; case 7: -#line 111 "dcParser.yxx" +#line 113 "dcParser.yxx" { DCFile::ClassesByName::const_iterator ni; ni = dc_file->_classes_by_name.find(yyvsp[0].str); if (ni == dc_file->_classes_by_name.end()) { - yyerror("Unknown class: " + yyvsp[0].str); - yyval.u.dclass = (DCClass *)NULL; + yyval.u.dclass = new DCClass(yyvsp[0].str, true); + dc_file->add_class(yyval.u.dclass); } else { yyval.u.dclass = (*ni).second; } } break; -case 8: -#line 125 "dcParser.yxx" +case 9: +#line 128 "dcParser.yxx" +{ + yyval.str = yyvsp[-2].str + string("/") + yyvsp[0].str; +} + break; +case 11: +#line 136 "dcParser.yxx" +{ + yyval.str = yyvsp[-2].str + string(".") + yyvsp[0].str; +} + break; +case 12: +#line 143 "dcParser.yxx" { dc_file->add_import_module(yyvsp[0].str); } break; -case 9: -#line 129 "dcParser.yxx" +case 13: +#line 147 "dcParser.yxx" { dc_file->add_import_module(yyvsp[-1].str); } break; -case 12: -#line 138 "dcParser.yxx" +case 16: +#line 156 "dcParser.yxx" { dc_file->add_import_symbol("*"); } break; -case 13: -#line 145 "dcParser.yxx" -{ - dc_file->add_import_symbol(yyvsp[0].str); -} - break; -case 14: -#line 149 "dcParser.yxx" -{ - dc_file->add_import_symbol(yyvsp[0].str); -} - break; case 17: -#line 161 "dcParser.yxx" +#line 163 "dcParser.yxx" { - if (yyvsp[0].u.dclass != (DCClass *)NULL) { - current_class->add_parent(yyvsp[0].u.dclass); - } + dc_file->add_import_symbol(yyvsp[0].str); } break; case 18: #line 167 "dcParser.yxx" +{ + dc_file->add_import_symbol(yyvsp[0].str); +} + break; +case 21: +#line 179 "dcParser.yxx" { if (yyvsp[0].u.dclass != (DCClass *)NULL) { current_class->add_parent(yyvsp[0].u.dclass); } } break; -case 23: -#line 183 "dcParser.yxx" +case 22: +#line 185 "dcParser.yxx" +{ + if (yyvsp[0].u.dclass != (DCClass *)NULL) { + current_class->add_parent(yyvsp[0].u.dclass); + } +} + break; +case 27: +#line 201 "dcParser.yxx" { current_atomic = new DCAtomicField(yyvsp[-1].str); if (!current_class->add_field(current_atomic)) { @@ -1108,8 +1132,8 @@ case 23: } } break; -case 25: -#line 194 "dcParser.yxx" +case 29: +#line 212 "dcParser.yxx" { DCField *field = current_class->get_field_by_name(yyvsp[0].str); yyval.u.atomic = (DCAtomicField *)NULL; @@ -1123,65 +1147,65 @@ case 25: } } break; -case 30: -#line 220 "dcParser.yxx" +case 34: +#line 238 "dcParser.yxx" { atomic_element = DCAtomicField::ElementType(); atomic_element._type = yyvsp[0].u.subatomic; } break; -case 31: -#line 225 "dcParser.yxx" +case 35: +#line 243 "dcParser.yxx" { current_atomic->_elements.push_back(atomic_element); } break; -case 33: -#line 233 "dcParser.yxx" +case 37: +#line 251 "dcParser.yxx" { atomic_element._divisor = yyvsp[0].u.integer; } break; -case 34: -#line 237 "dcParser.yxx" +case 38: +#line 255 "dcParser.yxx" { atomic_element._name = yyvsp[0].str; } break; -case 35: -#line 241 "dcParser.yxx" +case 39: +#line 259 "dcParser.yxx" { if (!atomic_element.set_default_value(yyvsp[0].u.integer)) { yyerror("Invalid default value: " + yyvsp[0].str); } } break; -case 36: -#line 247 "dcParser.yxx" +case 40: +#line 265 "dcParser.yxx" { if (!atomic_element.set_default_value(yyvsp[0].u.real)) { yyerror("Invalid default value: " + yyvsp[0].str); } } break; -case 37: -#line 253 "dcParser.yxx" +case 41: +#line 271 "dcParser.yxx" { if (!atomic_element.set_default_value(yyvsp[0].str)) { yyerror("Invalid default value: \"" + yyvsp[0].str + "\""); } } break; -case 38: -#line 259 "dcParser.yxx" +case 42: +#line 277 "dcParser.yxx" { if (!atomic_element.set_default_value_literal(yyvsp[0].str)) { yyerror("Invalid default hex string value"); } } break; -case 39: -#line 265 "dcParser.yxx" +case 43: +#line 283 "dcParser.yxx" { if (!atomic_element.end_array()) { yyerror("Array default value inappropriate"); @@ -1190,40 +1214,40 @@ case 39: } } break; -case 46: -#line 291 "dcParser.yxx" +case 50: +#line 309 "dcParser.yxx" { if (!atomic_element.add_default_value(yyvsp[0].u.integer)) { yyerror("Invalid default value: " + yyvsp[0].str); } } break; -case 47: -#line 297 "dcParser.yxx" +case 51: +#line 315 "dcParser.yxx" { if (!atomic_element.add_default_value(yyvsp[0].u.real)) { yyerror("Invalid default value: " + yyvsp[0].str); } } break; -case 48: -#line 303 "dcParser.yxx" +case 52: +#line 321 "dcParser.yxx" { if (!atomic_element.add_default_value(yyvsp[0].str)) { yyerror("Invalid default value: " + yyvsp[0].str); } } break; -case 49: -#line 309 "dcParser.yxx" +case 53: +#line 327 "dcParser.yxx" { if (!atomic_element.add_default_value_literal(yyvsp[0].str)) { yyerror("Invalid hex literal in default array"); } } break; -case 50: -#line 315 "dcParser.yxx" +case 54: +#line 333 "dcParser.yxx" { for (int i = 0; i < yyvsp[0].u.integer; i++) { if (!atomic_element.add_default_value(yyvsp[-2].u.integer)) { @@ -1233,8 +1257,8 @@ case 50: } } break; -case 51: -#line 324 "dcParser.yxx" +case 55: +#line 342 "dcParser.yxx" { for (int i = 0; i < yyvsp[0].u.integer; i++) { if (!atomic_element.add_default_value(yyvsp[-2].u.real)) { @@ -1244,8 +1268,8 @@ case 51: } } break; -case 52: -#line 333 "dcParser.yxx" +case 56: +#line 351 "dcParser.yxx" { for (int i = 0; i < yyvsp[0].u.integer; i++) { if (!atomic_element.add_default_value_literal(yyvsp[-2].str)) { @@ -1255,176 +1279,176 @@ case 52: } } break; -case 53: -#line 345 "dcParser.yxx" +case 57: +#line 363 "dcParser.yxx" { yyval.u.subatomic = ST_int8; } break; -case 54: -#line 349 "dcParser.yxx" +case 58: +#line 367 "dcParser.yxx" { yyval.u.subatomic = ST_int16; } break; -case 55: -#line 353 "dcParser.yxx" +case 59: +#line 371 "dcParser.yxx" { yyval.u.subatomic = ST_int32; } break; -case 56: -#line 357 "dcParser.yxx" +case 60: +#line 375 "dcParser.yxx" { yyval.u.subatomic = ST_int64; } break; -case 57: -#line 361 "dcParser.yxx" +case 61: +#line 379 "dcParser.yxx" { yyval.u.subatomic = ST_uint8; } break; -case 58: -#line 365 "dcParser.yxx" +case 62: +#line 383 "dcParser.yxx" { yyval.u.subatomic = ST_uint16; } break; -case 59: -#line 369 "dcParser.yxx" +case 63: +#line 387 "dcParser.yxx" { yyval.u.subatomic = ST_uint32; } break; -case 60: -#line 373 "dcParser.yxx" +case 64: +#line 391 "dcParser.yxx" { yyval.u.subatomic = ST_uint64; } break; -case 61: -#line 377 "dcParser.yxx" +case 65: +#line 395 "dcParser.yxx" { yyval.u.subatomic = ST_float64; } break; -case 62: -#line 381 "dcParser.yxx" +case 66: +#line 399 "dcParser.yxx" { yyval.u.subatomic = ST_string; } break; -case 63: -#line 385 "dcParser.yxx" +case 67: +#line 403 "dcParser.yxx" { yyval.u.subatomic = ST_blob; } break; -case 64: -#line 389 "dcParser.yxx" +case 68: +#line 407 "dcParser.yxx" { yyval.u.subatomic = ST_blob32; } break; -case 65: -#line 393 "dcParser.yxx" +case 69: +#line 411 "dcParser.yxx" { yyval.u.subatomic = ST_int8array; } break; -case 66: -#line 397 "dcParser.yxx" +case 70: +#line 415 "dcParser.yxx" { yyval.u.subatomic = ST_int16array; } break; -case 67: -#line 401 "dcParser.yxx" +case 71: +#line 419 "dcParser.yxx" { yyval.u.subatomic = ST_int32array; } break; -case 68: -#line 405 "dcParser.yxx" +case 72: +#line 423 "dcParser.yxx" { yyval.u.subatomic = ST_uint8array; } break; -case 69: -#line 409 "dcParser.yxx" +case 73: +#line 427 "dcParser.yxx" { yyval.u.subatomic = ST_uint16array; } break; -case 70: -#line 413 "dcParser.yxx" +case 74: +#line 431 "dcParser.yxx" { yyval.u.subatomic = ST_uint32array; } break; -case 71: -#line 417 "dcParser.yxx" +case 75: +#line 435 "dcParser.yxx" { yyval.u.subatomic = ST_uint32uint8array; } break; -case 73: -#line 425 "dcParser.yxx" +case 77: +#line 443 "dcParser.yxx" { current_atomic->_flags |= DCAtomicField::F_required; } break; -case 74: -#line 429 "dcParser.yxx" +case 78: +#line 447 "dcParser.yxx" { current_atomic->_flags |= DCAtomicField::F_broadcast; } break; -case 75: -#line 433 "dcParser.yxx" +case 79: +#line 451 "dcParser.yxx" { current_atomic->_flags |= DCAtomicField::F_p2p; } break; -case 76: -#line 437 "dcParser.yxx" +case 80: +#line 455 "dcParser.yxx" { current_atomic->_flags |= DCAtomicField::F_ram; } break; -case 77: -#line 441 "dcParser.yxx" +case 81: +#line 459 "dcParser.yxx" { current_atomic->_flags |= DCAtomicField::F_db; } break; -case 78: -#line 445 "dcParser.yxx" +case 82: +#line 463 "dcParser.yxx" { current_atomic->_flags |= DCAtomicField::F_clsend; } break; -case 79: -#line 449 "dcParser.yxx" +case 83: +#line 467 "dcParser.yxx" { current_atomic->_flags |= DCAtomicField::F_clrecv; } break; -case 80: -#line 453 "dcParser.yxx" +case 84: +#line 471 "dcParser.yxx" { current_atomic->_flags |= DCAtomicField::F_ownsend; } break; -case 81: -#line 457 "dcParser.yxx" +case 85: +#line 475 "dcParser.yxx" { current_atomic->_flags |= DCAtomicField::F_airecv; } break; -case 82: -#line 464 "dcParser.yxx" +case 86: +#line 482 "dcParser.yxx" { current_molecular = new DCMolecularField(yyvsp[-1].str); if (!current_class->add_field(current_molecular)) { @@ -1432,16 +1456,16 @@ case 82: } } break; -case 84: -#line 475 "dcParser.yxx" +case 88: +#line 493 "dcParser.yxx" { if (yyvsp[0].u.atomic != (DCAtomicField *)NULL) { current_molecular->_fields.push_back(yyvsp[0].u.atomic); } } break; -case 85: -#line 481 "dcParser.yxx" +case 89: +#line 499 "dcParser.yxx" { if (yyvsp[0].u.atomic != (DCAtomicField *)NULL) { current_molecular->_fields.push_back(yyvsp[0].u.atomic); @@ -1686,4 +1710,4 @@ yyreturn: #endif return yyresult; } -#line 495 "dcParser.yxx" +#line 513 "dcParser.yxx"