|
|
@@ -16,35 +16,37 @@
|
|
|
# define HEX_STRING 260
|
|
|
# define IDENTIFIER 261
|
|
|
# define KW_DCLASS 262
|
|
|
-# define KW_INT8 263
|
|
|
-# define KW_INT16 264
|
|
|
-# define KW_INT32 265
|
|
|
-# define KW_INT64 266
|
|
|
-# define KW_UINT8 267
|
|
|
-# define KW_UINT16 268
|
|
|
-# define KW_UINT32 269
|
|
|
-# define KW_UINT64 270
|
|
|
-# define KW_FLOAT64 271
|
|
|
-# define KW_STRING 272
|
|
|
-# define KW_BLOB 273
|
|
|
-# define KW_BLOB32 274
|
|
|
-# define KW_INT8ARRAY 275
|
|
|
-# define KW_INT16ARRAY 276
|
|
|
-# define KW_INT32ARRAY 277
|
|
|
-# define KW_UINT8ARRAY 278
|
|
|
-# define KW_UINT16ARRAY 279
|
|
|
-# define KW_UINT32ARRAY 280
|
|
|
-# define KW_UINT32UINT8ARRAY 281
|
|
|
-# define KW_MOL 282
|
|
|
-# define KW_REQUIRED 283
|
|
|
-# define KW_BROADCAST 284
|
|
|
-# define KW_P2P 285
|
|
|
-# define KW_RAM 286
|
|
|
-# define KW_DB 287
|
|
|
-# define KW_CLSEND 288
|
|
|
-# define KW_CLRECV 289
|
|
|
-# define KW_OWNSEND 290
|
|
|
-# define KW_AIRECV 291
|
|
|
+# define KW_FROM 263
|
|
|
+# define KW_IMPORT 264
|
|
|
+# define KW_INT8 265
|
|
|
+# define KW_INT16 266
|
|
|
+# define KW_INT32 267
|
|
|
+# define KW_INT64 268
|
|
|
+# define KW_UINT8 269
|
|
|
+# define KW_UINT16 270
|
|
|
+# define KW_UINT32 271
|
|
|
+# define KW_UINT64 272
|
|
|
+# define KW_FLOAT64 273
|
|
|
+# define KW_STRING 274
|
|
|
+# define KW_BLOB 275
|
|
|
+# define KW_BLOB32 276
|
|
|
+# define KW_INT8ARRAY 277
|
|
|
+# define KW_INT16ARRAY 278
|
|
|
+# define KW_INT32ARRAY 279
|
|
|
+# define KW_UINT8ARRAY 280
|
|
|
+# define KW_UINT16ARRAY 281
|
|
|
+# define KW_UINT32ARRAY 282
|
|
|
+# define KW_UINT32UINT8ARRAY 283
|
|
|
+# define KW_MOL 284
|
|
|
+# define KW_REQUIRED 285
|
|
|
+# define KW_BROADCAST 286
|
|
|
+# define KW_P2P 287
|
|
|
+# define KW_RAM 288
|
|
|
+# define KW_DB 289
|
|
|
+# define KW_CLSEND 290
|
|
|
+# define KW_CLRECV 291
|
|
|
+# define KW_OWNSEND 292
|
|
|
+# define KW_AIRECV 293
|
|
|
|
|
|
#line 6 "dcParser.yxx"
|
|
|
|
|
|
@@ -90,12 +92,12 @@ dc_cleanup_parser() {
|
|
|
|
|
|
|
|
|
|
|
|
-#define YYFINAL 103
|
|
|
+#define YYFINAL 116
|
|
|
#define YYFLAG -32768
|
|
|
-#define YYNTBASE 48
|
|
|
+#define YYNTBASE 50
|
|
|
|
|
|
/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
|
|
|
-#define YYTRANSLATE(x) ((unsigned)(x) <= 291 ? yytranslate[x] : 73)
|
|
|
+#define YYTRANSLATE(x) ((unsigned)(x) <= 293 ? yytranslate[x] : 79)
|
|
|
|
|
|
/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
|
|
|
static const char yytranslate[] =
|
|
|
@@ -104,15 +106,15 @@ 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,
|
|
|
- 43, 44, 47, 2, 42, 2, 2, 45, 2, 2,
|
|
|
- 2, 2, 2, 2, 2, 2, 2, 2, 41, 38,
|
|
|
- 2, 46, 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,
|
|
|
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, 2, 2,
|
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
|
- 2, 2, 2, 39, 2, 40, 2, 2, 2, 2,
|
|
|
+ 2, 2, 2, 41, 2, 42, 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,
|
|
|
@@ -129,45 +131,48 @@ static const char yytranslate[] =
|
|
|
6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
|
|
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
|
|
|
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
|
|
|
- 36, 37
|
|
|
+ 36, 37, 38, 39
|
|
|
};
|
|
|
|
|
|
#if YYDEBUG
|
|
|
static const short yyprhs[] =
|
|
|
{
|
|
|
- 0, 0, 2, 5, 8, 9, 17, 19, 21, 24,
|
|
|
- 26, 30, 32, 35, 38, 41, 42, 49, 51, 53,
|
|
|
- 55, 57, 61, 62, 66, 68, 72, 75, 79, 83,
|
|
|
- 87, 91, 97, 99, 102, 104, 106, 108, 112, 114,
|
|
|
- 116, 118, 120, 124, 128, 132, 134, 136, 138, 140,
|
|
|
- 142, 144, 146, 148, 150, 152, 154, 156, 158, 160,
|
|
|
- 162, 164, 166, 168, 170, 172, 175, 178, 181, 184,
|
|
|
- 187, 190, 193, 196, 199, 200, 205, 207, 211
|
|
|
+ 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
|
|
|
};
|
|
|
static const short yyrhs[] =
|
|
|
{
|
|
|
- 72, 0, 48, 38, 0, 48, 49, 0, 0, 8,
|
|
|
- 7, 50, 52, 39, 54, 40, 0, 7, 0, 72,
|
|
|
- 0, 41, 53, 0, 51, 0, 53, 42, 51, 0,
|
|
|
- 72, 0, 54, 38, 0, 54, 55, 0, 54, 69,
|
|
|
- 0, 0, 7, 43, 56, 58, 44, 68, 0, 7,
|
|
|
- 0, 72, 0, 59, 0, 60, 0, 59, 42, 60,
|
|
|
- 0, 0, 67, 61, 62, 0, 72, 0, 62, 45,
|
|
|
- 3, 0, 62, 7, 0, 62, 46, 3, 0, 62,
|
|
|
- 46, 4, 0, 62, 46, 5, 0, 62, 46, 6,
|
|
|
- 0, 62, 46, 39, 63, 40, 0, 72, 0, 65,
|
|
|
- 64, 0, 72, 0, 42, 0, 66, 0, 65, 42,
|
|
|
- 66, 0, 3, 0, 4, 0, 5, 0, 6, 0,
|
|
|
- 3, 47, 3, 0, 4, 47, 3, 0, 6, 47,
|
|
|
- 3, 0, 9, 0, 10, 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,
|
|
|
- 72, 0, 68, 29, 0, 68, 30, 0, 68, 31,
|
|
|
- 0, 68, 32, 0, 68, 33, 0, 68, 34, 0,
|
|
|
- 68, 35, 0, 68, 36, 0, 68, 37, 0, 0,
|
|
|
- 7, 41, 70, 71, 0, 57, 0, 71, 42, 57,
|
|
|
- 0, 0
|
|
|
+ 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
|
|
|
};
|
|
|
|
|
|
#endif
|
|
|
@@ -176,14 +181,15 @@ static const short yyrhs[] =
|
|
|
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
|
|
static const short yyrline[] =
|
|
|
{
|
|
|
- 0, 89, 91, 92, 95, 95, 107, 121, 123, 126,
|
|
|
- 133, 141, 143, 144, 145, 148, 148, 160, 176, 178,
|
|
|
- 181, 183, 186, 186, 198, 200, 204, 208, 214, 220,
|
|
|
- 226, 232, 242, 244, 247, 249, 252, 254, 257, 264,
|
|
|
- 270, 276, 282, 291, 300, 311, 316, 320, 324, 328,
|
|
|
- 332, 336, 340, 344, 348, 352, 356, 360, 364, 368,
|
|
|
- 372, 376, 380, 384, 390, 392, 396, 400, 404, 408,
|
|
|
- 412, 416, 420, 424, 430, 430, 442, 449, 462
|
|
|
+ 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
|
|
|
};
|
|
|
#endif
|
|
|
|
|
|
@@ -194,47 +200,50 @@ static const short yyrline[] =
|
|
|
static const char *const yytname[] =
|
|
|
{
|
|
|
"$", "error", "$undefined.", "INTEGER", "REAL", "STRING", "HEX_STRING",
|
|
|
- "IDENTIFIER", "KW_DCLASS", "KW_INT8", "KW_INT16", "KW_INT32",
|
|
|
- "KW_INT64", "KW_UINT8", "KW_UINT16", "KW_UINT32", "KW_UINT64",
|
|
|
- "KW_FLOAT64", "KW_STRING", "KW_BLOB", "KW_BLOB32", "KW_INT8ARRAY",
|
|
|
- "KW_INT16ARRAY", "KW_INT32ARRAY", "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",
|
|
|
- "dclass_derivation", "base_list", "dclass_fields", "atomic_field", "@2",
|
|
|
- "atomic_name", "parameter_list", "nonempty_parameter_list",
|
|
|
- "atomic_element", "@3", "atomic_element_definition", "default_array",
|
|
|
- "maybe_comma", "default_array_def", "default_array_element",
|
|
|
- "type_token", "atomic_flags", "molecular_field", "@4",
|
|
|
- "molecular_atom_list", "empty", 0
|
|
|
+ "IDENTIFIER", "KW_DCLASS", "KW_FROM", "KW_IMPORT", "KW_INT8",
|
|
|
+ "KW_INT16", "KW_INT32", "KW_INT64", "KW_UINT8", "KW_UINT16",
|
|
|
+ "KW_UINT32", "KW_UINT64", "KW_FLOAT64", "KW_STRING", "KW_BLOB",
|
|
|
+ "KW_BLOB32", "KW_INT8ARRAY", "KW_INT16ARRAY", "KW_INT32ARRAY",
|
|
|
+ "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",
|
|
|
+ "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",
|
|
|
+ "atomic_element_definition", "default_array", "maybe_comma",
|
|
|
+ "default_array_def", "default_array_element", "type_token",
|
|
|
+ "atomic_flags", "molecular_field", "@5", "molecular_atom_list", "empty", 0
|
|
|
};
|
|
|
#endif
|
|
|
|
|
|
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
|
|
|
static const short yyr1[] =
|
|
|
{
|
|
|
- 0, 48, 48, 48, 50, 49, 51, 52, 52, 53,
|
|
|
- 53, 54, 54, 54, 54, 56, 55, 57, 58, 58,
|
|
|
- 59, 59, 61, 60, 62, 62, 62, 62, 62, 62,
|
|
|
- 62, 62, 63, 63, 64, 64, 65, 65, 66, 66,
|
|
|
- 66, 66, 66, 66, 66, 67, 67, 67, 67, 67,
|
|
|
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
|
|
|
- 67, 67, 67, 67, 68, 68, 68, 68, 68, 68,
|
|
|
- 68, 68, 68, 68, 70, 69, 71, 71, 72
|
|
|
+ 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
|
|
|
};
|
|
|
|
|
|
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
|
|
|
static const short yyr2[] =
|
|
|
{
|
|
|
- 0, 1, 2, 2, 0, 7, 1, 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,
|
|
|
+ 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,
|
|
|
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, 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
|
|
|
@@ -242,76 +251,78 @@ static const short yyr2[] =
|
|
|
error. */
|
|
|
static const short yydefact[] =
|
|
|
{
|
|
|
- 78, 0, 1, 0, 2, 3, 4, 78, 0, 0,
|
|
|
- 7, 6, 9, 8, 78, 0, 0, 11, 10, 0,
|
|
|
- 12, 5, 13, 14, 74, 15, 0, 78, 17, 76,
|
|
|
- 75, 45, 46, 47, 48, 49, 50, 51, 52, 53,
|
|
|
- 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
|
|
|
- 0, 19, 20, 22, 18, 0, 78, 0, 78, 77,
|
|
|
- 16, 64, 21, 23, 24, 65, 66, 67, 68, 69,
|
|
|
- 70, 71, 72, 73, 26, 0, 0, 25, 27, 28,
|
|
|
- 29, 30, 78, 38, 39, 40, 41, 0, 78, 36,
|
|
|
- 32, 0, 0, 0, 31, 35, 33, 34, 42, 43,
|
|
|
- 44, 37, 0, 0
|
|
|
+ 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
|
|
|
};
|
|
|
|
|
|
static const short yydefgoto[] =
|
|
|
{
|
|
|
- 1, 5, 7, 12, 9, 13, 16, 22, 27, 29,
|
|
|
- 50, 51, 52, 58, 63, 87, 96, 88, 89, 53,
|
|
|
- 60, 23, 26, 30, 2
|
|
|
+ 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
|
|
|
};
|
|
|
|
|
|
static const short yypact[] =
|
|
|
{
|
|
|
- -32768, 3,-32768, -2,-32768,-32768,-32768, -33, 2, -29,
|
|
|
- -32768,-32768,-32768, -12,-32768, 2, -5,-32768,-32768, -37,
|
|
|
- -32768,-32768,-32768,-32768,-32768,-32768, 24, 43,-32768,-32768,
|
|
|
- -10,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
|
|
|
+ -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,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
|
|
|
- -1, -4,-32768,-32768,-32768, 24,-32768, 43,-32768,-32768,
|
|
|
- -8,-32768,-32768, -6,-32768,-32768,-32768,-32768,-32768,-32768,
|
|
|
- -32768,-32768,-32768,-32768,-32768, 31, 9,-32768,-32768,-32768,
|
|
|
- -32768,-32768, 13, -11, -3,-32768, 0, 5, 4,-32768,
|
|
|
- -32768, 34, 39, 47,-32768, 13,-32768,-32768,-32768,-32768,
|
|
|
- -32768,-32768, 71,-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
|
|
|
};
|
|
|
|
|
|
static const short yypgoto[] =
|
|
|
{
|
|
|
- -32768,-32768,-32768, 57,-32768,-32768,-32768,-32768,-32768, 18,
|
|
|
- -32768,-32768, 17,-32768,-32768,-32768,-32768,-32768, -19,-32768,
|
|
|
- -32768,-32768,-32768,-32768, -7
|
|
|
+ -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
|
|
|
};
|
|
|
|
|
|
|
|
|
-#define YYLAST 81
|
|
|
+#define YYLAST 89
|
|
|
|
|
|
|
|
|
static const short yytable[] =
|
|
|
{
|
|
|
- 10, 74, 19, 102, 24, 6, 25, 17, 8, 11,
|
|
|
- 14, 3, 78, 79, 80, 81, 83, 84, 85, 86,
|
|
|
- 54, 65, 66, 67, 68, 69, 70, 71, 72, 73,
|
|
|
- 15, 28, 55, 20, 77, 21, 91, 98, 57, 75,
|
|
|
- 76, 4, 99, 56, 92, 94, 95, 93, 82, 61,
|
|
|
- 100, 64, 31, 32, 33, 34, 35, 36, 37, 38,
|
|
|
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
|
|
|
- 49, 103, 18, 59, 62, 90, 101, 0, 0, 0,
|
|
|
- 0, 97
|
|
|
+ 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
|
|
|
};
|
|
|
|
|
|
static const short yycheck[] =
|
|
|
{
|
|
|
- 7, 7, 7, 0, 41, 7, 43, 14, 41, 7,
|
|
|
- 39, 8, 3, 4, 5, 6, 3, 4, 5, 6,
|
|
|
- 27, 29, 30, 31, 32, 33, 34, 35, 36, 37,
|
|
|
- 42, 7, 42, 38, 3, 40, 47, 3, 42, 45,
|
|
|
- 46, 38, 3, 44, 47, 40, 42, 47, 39, 56,
|
|
|
- 3, 58, 9, 10, 11, 12, 13, 14, 15, 16,
|
|
|
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
|
|
|
- 27, 0, 15, 55, 57, 82, 95, -1, -1, -1,
|
|
|
- -1, 88
|
|
|
+ 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
|
|
|
};
|
|
|
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
|
|
|
#line 3 "/usr/share/bison/bison.simple"
|
|
|
@@ -1020,18 +1031,17 @@ yyreduce:
|
|
|
|
|
|
switch (yyn) {
|
|
|
|
|
|
-case 4:
|
|
|
-#line 97 "dcParser.yxx"
|
|
|
+case 5:
|
|
|
+#line 100 "dcParser.yxx"
|
|
|
{
|
|
|
- current_class = new DCClass;
|
|
|
- current_class->_name = yyvsp[0].str;
|
|
|
+ current_class = new DCClass(yyvsp[0].str);
|
|
|
if (!dc_file->add_class(current_class)) {
|
|
|
- yyerror("Duplicate class name: " + current_class->_name);
|
|
|
+ yyerror("Duplicate class name: " + current_class->get_name());
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 6:
|
|
|
-#line 109 "dcParser.yxx"
|
|
|
+case 7:
|
|
|
+#line 111 "dcParser.yxx"
|
|
|
{
|
|
|
DCFile::ClassesByName::const_iterator ni;
|
|
|
ni = dc_file->_classes_by_name.find(yyvsp[0].str);
|
|
|
@@ -1043,34 +1053,63 @@ case 6:
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
+case 8:
|
|
|
+#line 125 "dcParser.yxx"
|
|
|
+{
|
|
|
+ dc_file->add_import_module(yyvsp[0].str);
|
|
|
+}
|
|
|
+ break;
|
|
|
case 9:
|
|
|
-#line 128 "dcParser.yxx"
|
|
|
+#line 129 "dcParser.yxx"
|
|
|
+{
|
|
|
+ dc_file->add_import_module(yyvsp[-1].str);
|
|
|
+}
|
|
|
+ break;
|
|
|
+case 12:
|
|
|
+#line 138 "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"
|
|
|
{
|
|
|
if (yyvsp[0].u.dclass != (DCClass *)NULL) {
|
|
|
- current_class->_parents.push_back(yyvsp[0].u.dclass);
|
|
|
+ current_class->add_parent(yyvsp[0].u.dclass);
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 10:
|
|
|
-#line 134 "dcParser.yxx"
|
|
|
+case 18:
|
|
|
+#line 167 "dcParser.yxx"
|
|
|
{
|
|
|
if (yyvsp[0].u.dclass != (DCClass *)NULL) {
|
|
|
- current_class->_parents.push_back(yyvsp[0].u.dclass);
|
|
|
+ current_class->add_parent(yyvsp[0].u.dclass);
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 15:
|
|
|
-#line 150 "dcParser.yxx"
|
|
|
+case 23:
|
|
|
+#line 183 "dcParser.yxx"
|
|
|
{
|
|
|
- current_atomic = new DCAtomicField;
|
|
|
- current_atomic->_name = yyvsp[-1].str;
|
|
|
+ current_atomic = new DCAtomicField(yyvsp[-1].str);
|
|
|
if (!current_class->add_field(current_atomic)) {
|
|
|
- yyerror("Duplicate field name: " + current_atomic->_name);
|
|
|
+ yyerror("Duplicate field name: " + current_atomic->get_name());
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 17:
|
|
|
-#line 162 "dcParser.yxx"
|
|
|
+case 25:
|
|
|
+#line 194 "dcParser.yxx"
|
|
|
{
|
|
|
DCField *field = current_class->get_field_by_name(yyvsp[0].str);
|
|
|
yyval.u.atomic = (DCAtomicField *)NULL;
|
|
|
@@ -1084,65 +1123,65 @@ case 17:
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 22:
|
|
|
-#line 188 "dcParser.yxx"
|
|
|
+case 30:
|
|
|
+#line 220 "dcParser.yxx"
|
|
|
{
|
|
|
atomic_element = DCAtomicField::ElementType();
|
|
|
atomic_element._type = yyvsp[0].u.subatomic;
|
|
|
}
|
|
|
break;
|
|
|
-case 23:
|
|
|
-#line 193 "dcParser.yxx"
|
|
|
+case 31:
|
|
|
+#line 225 "dcParser.yxx"
|
|
|
{
|
|
|
current_atomic->_elements.push_back(atomic_element);
|
|
|
}
|
|
|
break;
|
|
|
-case 25:
|
|
|
-#line 201 "dcParser.yxx"
|
|
|
+case 33:
|
|
|
+#line 233 "dcParser.yxx"
|
|
|
{
|
|
|
atomic_element._divisor = yyvsp[0].u.integer;
|
|
|
}
|
|
|
break;
|
|
|
-case 26:
|
|
|
-#line 205 "dcParser.yxx"
|
|
|
+case 34:
|
|
|
+#line 237 "dcParser.yxx"
|
|
|
{
|
|
|
atomic_element._name = yyvsp[0].str;
|
|
|
}
|
|
|
break;
|
|
|
-case 27:
|
|
|
-#line 209 "dcParser.yxx"
|
|
|
+case 35:
|
|
|
+#line 241 "dcParser.yxx"
|
|
|
{
|
|
|
if (!atomic_element.set_default_value(yyvsp[0].u.integer)) {
|
|
|
yyerror("Invalid default value: " + yyvsp[0].str);
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 28:
|
|
|
-#line 215 "dcParser.yxx"
|
|
|
+case 36:
|
|
|
+#line 247 "dcParser.yxx"
|
|
|
{
|
|
|
if (!atomic_element.set_default_value(yyvsp[0].u.real)) {
|
|
|
yyerror("Invalid default value: " + yyvsp[0].str);
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 29:
|
|
|
-#line 221 "dcParser.yxx"
|
|
|
+case 37:
|
|
|
+#line 253 "dcParser.yxx"
|
|
|
{
|
|
|
if (!atomic_element.set_default_value(yyvsp[0].str)) {
|
|
|
yyerror("Invalid default value: \"" + yyvsp[0].str + "\"");
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 30:
|
|
|
-#line 227 "dcParser.yxx"
|
|
|
+case 38:
|
|
|
+#line 259 "dcParser.yxx"
|
|
|
{
|
|
|
if (!atomic_element.set_default_value_literal(yyvsp[0].str)) {
|
|
|
yyerror("Invalid default hex string value");
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 31:
|
|
|
-#line 233 "dcParser.yxx"
|
|
|
+case 39:
|
|
|
+#line 265 "dcParser.yxx"
|
|
|
{
|
|
|
if (!atomic_element.end_array()) {
|
|
|
yyerror("Array default value inappropriate");
|
|
|
@@ -1151,40 +1190,40 @@ case 31:
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 38:
|
|
|
-#line 259 "dcParser.yxx"
|
|
|
+case 46:
|
|
|
+#line 291 "dcParser.yxx"
|
|
|
{
|
|
|
if (!atomic_element.add_default_value(yyvsp[0].u.integer)) {
|
|
|
yyerror("Invalid default value: " + yyvsp[0].str);
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 39:
|
|
|
-#line 265 "dcParser.yxx"
|
|
|
+case 47:
|
|
|
+#line 297 "dcParser.yxx"
|
|
|
{
|
|
|
if (!atomic_element.add_default_value(yyvsp[0].u.real)) {
|
|
|
yyerror("Invalid default value: " + yyvsp[0].str);
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 40:
|
|
|
-#line 271 "dcParser.yxx"
|
|
|
+case 48:
|
|
|
+#line 303 "dcParser.yxx"
|
|
|
{
|
|
|
if (!atomic_element.add_default_value(yyvsp[0].str)) {
|
|
|
yyerror("Invalid default value: " + yyvsp[0].str);
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 41:
|
|
|
-#line 277 "dcParser.yxx"
|
|
|
+case 49:
|
|
|
+#line 309 "dcParser.yxx"
|
|
|
{
|
|
|
if (!atomic_element.add_default_value_literal(yyvsp[0].str)) {
|
|
|
yyerror("Invalid hex literal in default array");
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 42:
|
|
|
-#line 283 "dcParser.yxx"
|
|
|
+case 50:
|
|
|
+#line 315 "dcParser.yxx"
|
|
|
{
|
|
|
for (int i = 0; i < yyvsp[0].u.integer; i++) {
|
|
|
if (!atomic_element.add_default_value(yyvsp[-2].u.integer)) {
|
|
|
@@ -1194,8 +1233,8 @@ case 42:
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 43:
|
|
|
-#line 292 "dcParser.yxx"
|
|
|
+case 51:
|
|
|
+#line 324 "dcParser.yxx"
|
|
|
{
|
|
|
for (int i = 0; i < yyvsp[0].u.integer; i++) {
|
|
|
if (!atomic_element.add_default_value(yyvsp[-2].u.real)) {
|
|
|
@@ -1205,8 +1244,8 @@ case 43:
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 44:
|
|
|
-#line 301 "dcParser.yxx"
|
|
|
+case 52:
|
|
|
+#line 333 "dcParser.yxx"
|
|
|
{
|
|
|
for (int i = 0; i < yyvsp[0].u.integer; i++) {
|
|
|
if (!atomic_element.add_default_value_literal(yyvsp[-2].str)) {
|
|
|
@@ -1216,201 +1255,200 @@ case 44:
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 45:
|
|
|
-#line 313 "dcParser.yxx"
|
|
|
+case 53:
|
|
|
+#line 345 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_int8;
|
|
|
}
|
|
|
break;
|
|
|
-case 46:
|
|
|
-#line 317 "dcParser.yxx"
|
|
|
+case 54:
|
|
|
+#line 349 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_int16;
|
|
|
}
|
|
|
break;
|
|
|
-case 47:
|
|
|
-#line 321 "dcParser.yxx"
|
|
|
+case 55:
|
|
|
+#line 353 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_int32;
|
|
|
}
|
|
|
break;
|
|
|
-case 48:
|
|
|
-#line 325 "dcParser.yxx"
|
|
|
+case 56:
|
|
|
+#line 357 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_int64;
|
|
|
}
|
|
|
break;
|
|
|
-case 49:
|
|
|
-#line 329 "dcParser.yxx"
|
|
|
+case 57:
|
|
|
+#line 361 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_uint8;
|
|
|
}
|
|
|
break;
|
|
|
-case 50:
|
|
|
-#line 333 "dcParser.yxx"
|
|
|
+case 58:
|
|
|
+#line 365 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_uint16;
|
|
|
}
|
|
|
break;
|
|
|
-case 51:
|
|
|
-#line 337 "dcParser.yxx"
|
|
|
+case 59:
|
|
|
+#line 369 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_uint32;
|
|
|
}
|
|
|
break;
|
|
|
-case 52:
|
|
|
-#line 341 "dcParser.yxx"
|
|
|
+case 60:
|
|
|
+#line 373 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_uint64;
|
|
|
}
|
|
|
break;
|
|
|
-case 53:
|
|
|
-#line 345 "dcParser.yxx"
|
|
|
+case 61:
|
|
|
+#line 377 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_float64;
|
|
|
}
|
|
|
break;
|
|
|
-case 54:
|
|
|
-#line 349 "dcParser.yxx"
|
|
|
+case 62:
|
|
|
+#line 381 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_string;
|
|
|
}
|
|
|
break;
|
|
|
-case 55:
|
|
|
-#line 353 "dcParser.yxx"
|
|
|
+case 63:
|
|
|
+#line 385 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_blob;
|
|
|
}
|
|
|
break;
|
|
|
-case 56:
|
|
|
-#line 357 "dcParser.yxx"
|
|
|
+case 64:
|
|
|
+#line 389 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_blob32;
|
|
|
}
|
|
|
break;
|
|
|
-case 57:
|
|
|
-#line 361 "dcParser.yxx"
|
|
|
+case 65:
|
|
|
+#line 393 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_int8array;
|
|
|
}
|
|
|
break;
|
|
|
-case 58:
|
|
|
-#line 365 "dcParser.yxx"
|
|
|
+case 66:
|
|
|
+#line 397 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_int16array;
|
|
|
}
|
|
|
break;
|
|
|
-case 59:
|
|
|
-#line 369 "dcParser.yxx"
|
|
|
+case 67:
|
|
|
+#line 401 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_int32array;
|
|
|
}
|
|
|
break;
|
|
|
-case 60:
|
|
|
-#line 373 "dcParser.yxx"
|
|
|
+case 68:
|
|
|
+#line 405 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_uint8array;
|
|
|
}
|
|
|
break;
|
|
|
-case 61:
|
|
|
-#line 377 "dcParser.yxx"
|
|
|
+case 69:
|
|
|
+#line 409 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_uint16array;
|
|
|
}
|
|
|
break;
|
|
|
-case 62:
|
|
|
-#line 381 "dcParser.yxx"
|
|
|
+case 70:
|
|
|
+#line 413 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_uint32array;
|
|
|
}
|
|
|
break;
|
|
|
-case 63:
|
|
|
-#line 385 "dcParser.yxx"
|
|
|
+case 71:
|
|
|
+#line 417 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_uint32uint8array;
|
|
|
}
|
|
|
break;
|
|
|
-case 65:
|
|
|
-#line 393 "dcParser.yxx"
|
|
|
+case 73:
|
|
|
+#line 425 "dcParser.yxx"
|
|
|
{
|
|
|
current_atomic->_flags |= DCAtomicField::F_required;
|
|
|
}
|
|
|
break;
|
|
|
-case 66:
|
|
|
-#line 397 "dcParser.yxx"
|
|
|
+case 74:
|
|
|
+#line 429 "dcParser.yxx"
|
|
|
{
|
|
|
current_atomic->_flags |= DCAtomicField::F_broadcast;
|
|
|
}
|
|
|
break;
|
|
|
-case 67:
|
|
|
-#line 401 "dcParser.yxx"
|
|
|
+case 75:
|
|
|
+#line 433 "dcParser.yxx"
|
|
|
{
|
|
|
current_atomic->_flags |= DCAtomicField::F_p2p;
|
|
|
}
|
|
|
break;
|
|
|
-case 68:
|
|
|
-#line 405 "dcParser.yxx"
|
|
|
+case 76:
|
|
|
+#line 437 "dcParser.yxx"
|
|
|
{
|
|
|
current_atomic->_flags |= DCAtomicField::F_ram;
|
|
|
}
|
|
|
break;
|
|
|
-case 69:
|
|
|
-#line 409 "dcParser.yxx"
|
|
|
+case 77:
|
|
|
+#line 441 "dcParser.yxx"
|
|
|
{
|
|
|
current_atomic->_flags |= DCAtomicField::F_db;
|
|
|
}
|
|
|
break;
|
|
|
-case 70:
|
|
|
-#line 413 "dcParser.yxx"
|
|
|
+case 78:
|
|
|
+#line 445 "dcParser.yxx"
|
|
|
{
|
|
|
current_atomic->_flags |= DCAtomicField::F_clsend;
|
|
|
}
|
|
|
break;
|
|
|
-case 71:
|
|
|
-#line 417 "dcParser.yxx"
|
|
|
+case 79:
|
|
|
+#line 449 "dcParser.yxx"
|
|
|
{
|
|
|
current_atomic->_flags |= DCAtomicField::F_clrecv;
|
|
|
}
|
|
|
break;
|
|
|
-case 72:
|
|
|
-#line 421 "dcParser.yxx"
|
|
|
+case 80:
|
|
|
+#line 453 "dcParser.yxx"
|
|
|
{
|
|
|
current_atomic->_flags |= DCAtomicField::F_ownsend;
|
|
|
}
|
|
|
break;
|
|
|
-case 73:
|
|
|
-#line 425 "dcParser.yxx"
|
|
|
+case 81:
|
|
|
+#line 457 "dcParser.yxx"
|
|
|
{
|
|
|
current_atomic->_flags |= DCAtomicField::F_airecv;
|
|
|
}
|
|
|
break;
|
|
|
-case 74:
|
|
|
-#line 432 "dcParser.yxx"
|
|
|
+case 82:
|
|
|
+#line 464 "dcParser.yxx"
|
|
|
{
|
|
|
- current_molecular = new DCMolecularField;
|
|
|
- current_molecular->_name = yyvsp[-1].str;
|
|
|
+ current_molecular = new DCMolecularField(yyvsp[-1].str);
|
|
|
if (!current_class->add_field(current_molecular)) {
|
|
|
- yyerror("Duplicate field name: " + current_molecular->_name);
|
|
|
+ yyerror("Duplicate field name: " + current_molecular->get_name());
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 76:
|
|
|
-#line 444 "dcParser.yxx"
|
|
|
+case 84:
|
|
|
+#line 475 "dcParser.yxx"
|
|
|
{
|
|
|
if (yyvsp[0].u.atomic != (DCAtomicField *)NULL) {
|
|
|
current_molecular->_fields.push_back(yyvsp[0].u.atomic);
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
-case 77:
|
|
|
-#line 450 "dcParser.yxx"
|
|
|
+case 85:
|
|
|
+#line 481 "dcParser.yxx"
|
|
|
{
|
|
|
if (yyvsp[0].u.atomic != (DCAtomicField *)NULL) {
|
|
|
current_molecular->_fields.push_back(yyvsp[0].u.atomic);
|
|
|
if (current_molecular->_fields[0]->_flags != yyvsp[0].u.atomic->_flags) {
|
|
|
yyerror("Mismatched flags in molecule between " +
|
|
|
- current_molecular->_fields[0]->_name + " and " +
|
|
|
- yyvsp[0].u.atomic->_name);
|
|
|
+ current_molecular->_fields[0]->get_name() + " and " +
|
|
|
+ yyvsp[0].u.atomic->get_name());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -1648,4 +1686,4 @@ yyreturn:
|
|
|
#endif
|
|
|
return yyresult;
|
|
|
}
|
|
|
-#line 464 "dcParser.yxx"
|
|
|
+#line 495 "dcParser.yxx"
|