ndtypes 0.2.0dev6 → 0.2.0dev8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/ext/ruby_ndtypes/GRTAGS +0 -0
  3. data/ext/ruby_ndtypes/GTAGS +0 -0
  4. data/ext/ruby_ndtypes/include/ruby_ndtypes.h +90 -0
  5. data/ext/ruby_ndtypes/lib/libndtypes.a +0 -0
  6. data/ext/ruby_ndtypes/lib/libndtypes.so.0.2.0dev3 +0 -0
  7. data/ext/ruby_ndtypes/ndtypes/config.log +3 -3
  8. data/ext/ruby_ndtypes/ndtypes/libndtypes/grammar.c +756 -807
  9. data/ext/ruby_ndtypes/ndtypes/libndtypes/grammar.o +0 -0
  10. data/ext/ruby_ndtypes/ndtypes/libndtypes/grammar.y +3 -13
  11. data/ext/ruby_ndtypes/ndtypes/libndtypes/io.c +2 -2
  12. data/ext/ruby_ndtypes/ndtypes/libndtypes/io.o +0 -0
  13. data/ext/ruby_ndtypes/ndtypes/libndtypes/libndtypes.a +0 -0
  14. data/ext/ruby_ndtypes/ndtypes/libndtypes/libndtypes.so.0.2.0dev3 +0 -0
  15. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_match.c +5 -5
  16. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_parse.c +12 -12
  17. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_parse_error.c +8 -8
  18. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_parse_roundtrip.c +6 -6
  19. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_typecheck.c +6 -6
  20. data/ext/ruby_ndtypes/ndtypes/python/ndtypes/_ndtypes.c +2 -2
  21. data/ext/ruby_ndtypes/ndtypes/python/ndtypes/libndtypes.a +0 -0
  22. data/ext/ruby_ndtypes/ndtypes/python/ndtypes/libndtypes.so.0.2.0dev3 +0 -0
  23. data/ext/ruby_ndtypes/ndtypes/python/test_ndtypes.py +22 -4
  24. data/ext/ruby_ndtypes/ruby_ndtypes.c +0 -20
  25. data/ext/ruby_ndtypes/ruby_ndtypes.h +90 -0
  26. data/lib/ndtypes.rb +6 -0
  27. data/lib/ndtypes/version.rb +2 -2
  28. data/lib/ruby_ndtypes.so +0 -0
  29. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 146d295eb8030be1aa6ab3970ed79f6281f4ff74
4
- data.tar.gz: 856f4db436aa8440ea84b6a1d00d6d9d029c30f2
3
+ metadata.gz: 9e49a47e3b23e42c114175fd11ef46ed7fb001cd
4
+ data.tar.gz: 19e44b62155b833f1fcfe15e3abcc9fc2bdfe221
5
5
  SHA512:
6
- metadata.gz: 312cda068f83102905c7f383311d989ef74118160e6f8a9db9447ed6748de9026291cbfa295b2e1abfa1610407794e52baeee8aac27b64f0aa43517e31e82f95
7
- data.tar.gz: 1eaea4defd4d79fd50e4ba1ec657efe795b9ce535a068e7eb7b95460c140bb179590f6b05b248a43f4848196faff9dfe8eb126f941a5f11fe940844f6a27d623
6
+ metadata.gz: 764fcbb14e8f419295344d0b74a142f06c80ccdfc65ff77717a04ceeaa2ab118a549e9472d090069af78c0f92d04289bbe0a0331046e12e9d08ffb1fb1d0b123
7
+ data.tar.gz: ab59d7d664661ebc4c3fc2a4bb3c07b58c31684ecb3ab12fad9efd6d948bb6a613c226fdc1578d6d36046c8f83fccfac61142b39906cea1911441eaf139e2441
Binary file
Binary file
@@ -18,14 +18,104 @@ extern "C" {
18
18
  typedef struct NdtObject NdtObject;
19
19
  extern VALUE cNDTypes;
20
20
 
21
+ /**
22
+ * @brief Return 1 if obj is of type NDTypes. 0 otherwise.
23
+ *
24
+ * @param obj Ruby object whose type has to be checked.
25
+ *
26
+ * @return Boolean value whether it is NDT object or not.
27
+ */
28
+
21
29
  int rb_ndtypes_check_type(VALUE obj);
30
+
31
+ /**
32
+ * @brief Get a pointer to the NdtObject struct that obj contains.
33
+ *
34
+ * @details This function unwraps the Ruby object obj passed to it and
35
+ * returns a pointer to the `NdtObject` struct that is contained within it.
36
+ * You must passed an NDT Ruby object.
37
+ *
38
+ * @param obj Ruby object of type NDT.
39
+ *
40
+ * @return Pointer to the NdtObject encapsulated within the Ruby object.
41
+ */
22
42
  NdtObject * rb_ndtypes_get_ndt_object(VALUE obj);
43
+
44
+ /**
45
+ * @brief Calls TypedData_Make_Struct and returns a Ruby object wrapping over ndt_p.
46
+ *
47
+ * @details This function calls the TypedData_Make_Struct macro from the Ruby
48
+ * C API for wrapping over argument passed to it. The ndt_p pointer must be allocated
49
+ * and data assingned to its contents before calling this function.
50
+ *
51
+ * @param ndt_p Pointer to NdtObject allocated by the caller.
52
+ *
53
+ * @return Ruby object wrapping over NdtObject.
54
+ */
23
55
  VALUE rb_ndtypes_make_ndt_object(NdtObject *ndt_p);
56
+
57
+ /**
58
+ * @brief Perform allocation using TypedData_Wrap_Struct and return a Ruby NDT object.
59
+ *
60
+ * @details This function does not set any of the data within the struct and assigns
61
+ * the NdtObject struct within the Ruby object to NULL. For allocating an already allocated
62
+ * NdtObject within a Ruby object use the rb_ndtypes_make_ndt_object() function.
63
+ *
64
+ * @return NDT Ruby object.
65
+ */
24
66
  VALUE rb_ndtypes_wrap_ndt_object(void);
67
+
68
+ /**
69
+ * @brief Unwrap the Ruby object ndt and return the pointer to ndt_t placed within it.
70
+ *
71
+ * @param ndt Ruby NDT object.
72
+ *
73
+ * @return Pointer to ndt_t type wrapped within the passed Ruby object.
74
+ */
25
75
  const ndt_t * rb_ndtypes_const_ndt(VALUE ndt);
76
+
77
+ /**
78
+ * @brief Function for taking a source type and moving it across the subtree.
79
+ *
80
+ * @param src NDTypes Ruby object of the source XND object.
81
+ * @param t Pointer to type of the view of XND object.
82
+ *
83
+ * @return NDT Ruby object of the moved subtree.
84
+ */
26
85
  VALUE rb_ndtypes_move_subtree(VALUE src, ndt_t *t);
86
+
87
+ /**
88
+ * @brief Create NDT object from Ruby String. Returns the same object if type is NDT.
89
+ * If you pass a String as an argument, read the string and create an NDT from it.
90
+ *
91
+ * @param type Ruby object. Can be Ruby String or NDT object.
92
+ *
93
+ * @return Ruby object of type NDT.
94
+ */
27
95
  VALUE rb_ndtypes_from_object(VALUE type);
96
+
97
+ /**
98
+ * @brief Make Ruby aware of the error condition raised by libndtypes by using
99
+ * the set_error_info() Ruby C API function.
100
+ *
101
+ * @param ctx Struct of type ndt_context_t.
102
+ *
103
+ * @return Ruby error class object.
104
+ */
105
+
28
106
  VALUE rb_ndtypes_set_error(ndt_context_t *ctx);
107
+
108
+ /**
109
+ * @brief Create an NDT Ruby object from an ndt_t struct.
110
+ *
111
+ * @details The caller can use this function for creating a Ruby NDT
112
+ * object from a ndt_t struct that has already been allocated using one
113
+ * of the allocation functions from libndtypes like ndt_from_string().
114
+ *
115
+ * @param type An allocated pointer to a struct of type ndt_t.
116
+ *
117
+ * @return Ruby object of type NDT.
118
+ */
29
119
  VALUE rb_ndtypes_from_type(const ndt_t *type);
30
120
 
31
121
  #define INT2BOOL(t) (t ? Qtrue : Qfalse)
@@ -12,9 +12,9 @@ generated by GNU Autoconf 2.69. Invocation command line was
12
12
 
13
13
  hostname = sameer-K401UB
14
14
  uname -m = x86_64
15
- uname -r = 5.0.0-23-generic
15
+ uname -r = 5.0.0-27-generic
16
16
  uname -s = Linux
17
- uname -v = #24~18.04.1-Ubuntu SMP Mon Jul 29 16:12:28 UTC 2019
17
+ uname -v = #28~18.04.1-Ubuntu SMP Thu Aug 22 03:00:32 UTC 2019
18
18
 
19
19
  /usr/bin/uname -p = unknown
20
20
  /bin/uname -X = unknown
@@ -29,6 +29,7 @@ uname -v = #24~18.04.1-Ubuntu SMP Mon Jul 29 16:12:28 UTC 2019
29
29
 
30
30
  PATH: /home/sameer/.rvm/gems/ruby-2.4.1/bin
31
31
  PATH: /home/sameer/anaconda3/condabin
32
+ PATH: /home/sameer/anaconda3/bin
32
33
  PATH: /home/sameer/gitrepos/starpu-1.2.8/bin
33
34
  PATH: /home/sameer/.rvm/gems/ruby-2.4.1@global/bin
34
35
  PATH: /home/sameer/.rvm/rubies/ruby-2.4.1/bin
@@ -320,7 +321,6 @@ config.status:832: creating libndtypes/ndtypes.h
320
321
  config.status:832: creating libndtypes/compat/Makefile
321
322
  config.status:832: creating libndtypes/serialize/Makefile
322
323
  config.status:832: creating config.h
323
- config.status:1007: config.h is unchanged
324
324
 
325
325
  ## ---------------- ##
326
326
  ## Cache variables. ##
@@ -539,18 +539,18 @@ union yyalloc
539
539
  #endif /* !YYCOPY_NEEDED */
540
540
 
541
541
  /* YYFINAL -- State number of the termination state. */
542
- #define YYFINAL 79
542
+ #define YYFINAL 81
543
543
  /* YYLAST -- Last index in YYTABLE. */
544
- #define YYLAST 462
544
+ #define YYLAST 372
545
545
 
546
546
  /* YYNTOKENS -- Number of terminals. */
547
547
  #define YYNTOKENS 70
548
548
  /* YYNNTS -- Number of nonterminals. */
549
- #define YYNNTS 51
549
+ #define YYNNTS 49
550
550
  /* YYNRULES -- Number of rules. */
551
- #define YYNRULES 154
551
+ #define YYNRULES 151
552
552
  /* YYNSTATES -- Number of states. */
553
- #define YYNSTATES 269
553
+ #define YYNSTATES 266
554
554
 
555
555
  #define YYUNDEFTOK 2
556
556
  #define YYMAXUTOK 324
@@ -603,22 +603,22 @@ static const yytype_uint8 yytranslate[] =
603
603
  /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
604
604
  static const yytype_uint16 yyrline[] =
605
605
  {
606
- 0, 214, 214, 218, 219, 220, 224, 225, 226, 227,
607
- 228, 231, 232, 235, 236, 239, 240, 241, 244, 245,
608
- 246, 247, 248, 252, 253, 256, 257, 258, 259, 260,
609
- 261, 262, 263, 264, 265, 266, 269, 270, 271, 272,
610
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
611
- 283, 284, 285, 286, 287, 288, 289, 292, 293, 294,
612
- 295, 298, 299, 300, 301, 304, 305, 306, 309, 310,
613
- 311, 315, 316, 317, 320, 321, 324, 327, 328, 331,
614
- 334, 335, 338, 339, 340, 341, 342, 345, 348, 351,
615
- 352, 353, 356, 357, 360, 363, 364, 367, 370, 371,
616
- 374, 375, 376, 377, 380, 381, 384, 385, 386, 389,
617
- 390, 391, 392, 393, 394, 397, 398, 401, 402, 405,
618
- 406, 407, 408, 409, 410, 413, 414, 417, 418, 421,
619
- 422, 423, 426, 427, 428, 429, 432, 433, 436, 439,
620
- 440, 443, 444, 447, 448, 451, 452, 455, 456, 457,
621
- 460, 463, 464, 467, 468
606
+ 0, 212, 212, 216, 217, 218, 222, 223, 224, 225,
607
+ 226, 229, 230, 233, 234, 237, 238, 239, 242, 243,
608
+ 244, 245, 246, 247, 248, 251, 252, 255, 256, 257,
609
+ 258, 259, 260, 261, 262, 263, 264, 265, 268, 269,
610
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
611
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 291,
612
+ 292, 293, 294, 297, 298, 299, 300, 303, 304, 305,
613
+ 308, 309, 310, 314, 315, 316, 319, 320, 323, 326,
614
+ 327, 330, 333, 334, 337, 338, 339, 340, 341, 344,
615
+ 347, 350, 353, 354, 357, 360, 361, 364, 365, 366,
616
+ 367, 370, 371, 374, 375, 376, 379, 380, 381, 382,
617
+ 383, 384, 387, 388, 391, 392, 395, 396, 397, 398,
618
+ 399, 400, 403, 404, 407, 408, 411, 412, 413, 416,
619
+ 417, 418, 419, 422, 423, 426, 429, 430, 433, 434,
620
+ 437, 438, 441, 442, 445, 446, 447, 450, 453, 454,
621
+ 457, 458
622
622
  };
623
623
  #endif
624
624
 
@@ -643,14 +643,13 @@ static const char *const yytname[] =
643
643
  "datashape", "dimensions", "dimensions_nooption", "dimensions_tail",
644
644
  "dtype", "scalar", "signed", "unsigned", "ieee_float", "ieee_complex",
645
645
  "alias", "character", "string", "fixed_string", "flags_opt",
646
- "option_opt", "endian_opt", "encoding", "bytes", "array_dimensions",
647
- "array", "fixed_bytes", "ref", "categorical", "typed_value_seq",
648
- "typed_value", "variadic_flag", "comma_variadic_flag", "tuple_type",
649
- "tuple_field_seq", "tuple_field", "record_type", "record_field_seq",
650
- "record_field", "field_name_or_tag", "union_type", "union_member_seq",
651
- "union_member", "arguments_opt", "attribute_seq", "attribute",
652
- "untyped_value_seq", "untyped_value", "function_type",
653
- "type_seq_or_void", "type_seq", YY_NULLPTR
646
+ "option_opt", "endian_opt", "encoding", "bytes", "fixed_bytes", "ref",
647
+ "categorical", "typed_value_seq", "typed_value", "variadic_flag",
648
+ "comma_variadic_flag", "tuple_type", "tuple_field_seq", "tuple_field",
649
+ "record_type", "record_field_seq", "record_field", "field_name_or_tag",
650
+ "union_type", "union_member_seq", "union_member", "arguments_opt",
651
+ "attribute_seq", "attribute", "untyped_value_seq", "untyped_value",
652
+ "function_type", "type_seq_or_void", "type_seq", YY_NULLPTR
654
653
  };
655
654
  #endif
656
655
 
@@ -669,12 +668,12 @@ static const yytype_uint16 yytoknum[] =
669
668
  };
670
669
  # endif
671
670
 
672
- #define YYPACT_NINF -215
671
+ #define YYPACT_NINF -224
673
672
 
674
673
  #define yypact_value_is_default(Yystate) \
675
- (!!((Yystate) == (-215)))
674
+ (!!((Yystate) == (-224)))
676
675
 
677
- #define YYTABLE_NINF -131
676
+ #define YYTABLE_NINF -128
678
677
 
679
678
  #define yytable_value_is_error(Yytable_value) \
680
679
  0
@@ -683,33 +682,33 @@ static const yytype_uint16 yytoknum[] =
683
682
  STATE-NUM. */
684
683
  static const yytype_int16 yypact[] =
685
684
  {
686
- 51, -215, -20, 2, 272, -31, 153, -9, -8, 116,
687
- 17, 4, 392, -215, 79, 96, 102, -215, -215, -215,
688
- -215, -215, -215, -215, -215, -215, 397, 204, -215, -215,
689
- -215, -215, -215, -215, -215, -215, 8, -215, 55, -215,
690
- -215, 58, 77, 61, 61, 76, 86, 97, -215, 38,
691
- 81, 254, 103, 108, -215, -215, -215, 114, 129, -215,
692
- 145, -22, 334, 97, 272, -31, 153, 4, 132, 55,
693
- 148, 35, -215, 334, 158, 334, 95, 334, 141, -215,
694
- -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
695
- -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
696
- -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
697
- -215, -215, 151, 160, -215, -215, 164, 97, -215, 165,
698
- 172, -12, -215, -215, -215, 334, -215, -215, 334, 153,
699
- 146, 320, 170, -17, -215, 5, 383, 334, 116, 61,
700
- -215, 296, 180, -215, 27, 183, 334, -215, -215, -215,
701
- -215, 177, 186, 190, 198, 191, 3, 334, -215, 320,
702
- 201, 72, 199, 200, -215, 334, -19, 184, 189, -215,
703
- 61, 334, 334, 210, -215, -215, -215, 409, -215, -215,
704
- -215, 152, 61, 202, -215, 99, 43, -215, -215, -33,
705
- -215, -23, -215, 90, -215, 170, -215, 64, -215, 194,
706
- 334, -215, 296, 209, -215, 27, 213, -215, 216, -215,
707
- -215, -215, -215, -215, -215, -215, -215, -215, 124, -215,
708
- -215, 219, 133, 138, 220, -215, 241, -215, 334, 159,
709
- -215, -215, -215, -215, -215, 334, -215, -215, -215, 61,
710
- -215, 144, -215, 71, -215, -215, -19, -215, -215, 184,
711
- -215, -215, -215, 226, -215, -215, 19, -215, -215, -27,
712
- -215, -215, -215, 223, 159, -215, -215, -215, -215
685
+ 115, -224, -6, -23, 118, 180, 20, 15, 12, 237,
686
+ 177, 45, -1, 307, -224, 116, 122, 143, -224, -224,
687
+ -224, -224, -224, -224, -224, -224, -224, 315, 57, -224,
688
+ -224, -224, -224, -224, -224, 106, -224, 93, -224, -224,
689
+ 108, 131, 94, 94, 127, 128, 223, 132, 140, 135,
690
+ -224, 320, 130, 150, 151, -224, -224, -224, 153, 156,
691
+ -224, 147, 54, 223, 140, 160, 180, 20, 15, -1,
692
+ 159, 93, -15, 51, -224, 223, 168, 223, 253, 223,
693
+ 171, -224, -224, -224, -224, -224, -224, -224, -224, -224,
694
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
695
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
696
+ -224, -224, -224, -224, 178, 183, -224, -224, 185, 140,
697
+ -224, 186, 188, -224, -224, -224, 223, -224, -224, 223,
698
+ 15, 148, -9, 182, -19, -224, 8, 251, 223, -224,
699
+ 223, 177, 94, -224, 209, 194, -224, 32, 193, 223,
700
+ -224, -224, -224, -224, 200, 223, 198, 210, 204, 214,
701
+ 58, 223, -224, -9, 213, 77, 215, 219, -224, 223,
702
+ -17, 196, 211, -224, 94, 223, -224, -224, -224, 312,
703
+ -224, -224, -224, 75, 94, 228, -224, 301, 78, -224,
704
+ -224, -224, -26, -224, -21, -224, 88, -224, 182, -224,
705
+ -20, -224, 227, 223, -224, -224, 209, 245, -224, 32,
706
+ 235, -224, 249, -224, -224, -224, -224, -224, -224, -224,
707
+ -224, -224, 89, -224, -224, 255, 103, 104, 260, 145,
708
+ -224, -224, -224, -224, -224, 223, -224, -224, -224, 94,
709
+ -224, 120, -224, 7, -224, -224, -17, -224, -224, 196,
710
+ -224, -224, -224, 26, -224, -224, -25, -224, -224, -224,
711
+ 261, 145, -224, -224, -224, -224
713
712
  };
714
713
 
715
714
  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -717,55 +716,53 @@ static const yytype_int16 yypact[] =
717
716
  means the default is an error. */
718
717
  static const yytype_uint8 yydefact[] =
719
718
  {
720
- 80, 152, 0, 139, 80, 104, 0, 0, 81, 0,
721
- 0, 31, 35, 131, 0, 0, 153, 7, 6, 13,
722
- 15, 14, 27, 48, 49, 51, 0, 82, 52, 10,
723
- 89, 54, 56, 55, 28, 29, 0, 30, 132, 136,
724
- 4, 0, 151, 0, 0, 0, 0, 139, 105, 35,
725
- 117, 82, 0, 106, 115, 129, 130, 0, 106, 125,
726
- 0, 0, 80, 139, 80, 104, 0, 32, 130, 134,
727
- 0, 0, 17, 80, 0, 80, 0, 80, 0, 1,
728
- 2, 36, 37, 57, 58, 59, 60, 39, 61, 62,
729
- 63, 64, 41, 42, 65, 66, 67, 44, 45, 68,
730
- 69, 70, 71, 72, 73, 38, 40, 43, 46, 47,
731
- 25, 26, 0, 74, 76, 50, 0, 139, 53, 0,
732
- 0, 0, 83, 84, 85, 80, 86, 79, 80, 0,
733
- 80, 80, 0, 0, 141, 0, 80, 80, 0, 0,
734
- 109, 80, 0, 119, 107, 0, 80, 133, 24, 11,
735
- 23, 0, 0, 106, 0, 106, 0, 80, 18, 80,
736
- 0, 0, 0, 0, 20, 80, 0, 0, 0, 88,
737
- 0, 80, 80, 0, 96, 138, 137, 35, 153, 150,
738
- 154, 0, 0, 0, 140, 81, 35, 9, 21, 0,
739
- 108, 31, 116, 0, 110, 129, 126, 0, 120, 127,
740
- 80, 112, 80, 0, 122, 107, 0, 135, 0, 5,
741
- 33, 8, 16, 12, 103, 100, 101, 102, 0, 98,
742
- 87, 0, 0, 0, 0, 92, 82, 93, 80, 0,
743
- 147, 148, 149, 143, 142, 80, 118, 111, 121, 0,
744
- 22, 0, 113, 0, 123, 34, 0, 97, 75, 0,
745
- 77, 94, 95, 0, 90, 91, 0, 145, 19, 0,
746
- 114, 124, 99, 0, 0, 144, 128, 78, 146
719
+ 82, 149, 0, 136, 0, 82, 101, 0, 0, 83,
720
+ 0, 0, 33, 37, 128, 0, 0, 150, 7, 6,
721
+ 13, 15, 14, 29, 50, 51, 53, 0, 84, 54,
722
+ 56, 58, 57, 30, 31, 0, 32, 129, 133, 4,
723
+ 0, 148, 0, 0, 0, 0, 82, 0, 136, 0,
724
+ 102, 37, 114, 0, 103, 112, 126, 127, 0, 103,
725
+ 122, 0, 0, 82, 136, 0, 82, 101, 0, 34,
726
+ 127, 131, 0, 0, 17, 82, 0, 82, 0, 82,
727
+ 0, 1, 2, 38, 39, 59, 60, 61, 62, 41,
728
+ 63, 64, 65, 66, 43, 44, 67, 68, 69, 46,
729
+ 47, 70, 71, 72, 73, 74, 75, 40, 42, 45,
730
+ 48, 49, 27, 28, 0, 76, 78, 52, 0, 136,
731
+ 55, 0, 0, 85, 86, 87, 82, 88, 81, 82,
732
+ 0, 82, 82, 0, 0, 138, 0, 82, 82, 23,
733
+ 82, 0, 0, 106, 82, 0, 116, 104, 0, 82,
734
+ 130, 26, 11, 25, 0, 82, 0, 103, 0, 103,
735
+ 0, 82, 18, 82, 0, 0, 0, 0, 20, 82,
736
+ 0, 0, 0, 90, 0, 82, 93, 135, 134, 37,
737
+ 150, 147, 151, 0, 0, 0, 137, 83, 37, 9,
738
+ 21, 10, 0, 105, 33, 113, 0, 107, 126, 123,
739
+ 0, 117, 124, 82, 24, 109, 82, 0, 119, 104,
740
+ 0, 132, 0, 5, 35, 8, 16, 12, 100, 97,
741
+ 98, 99, 0, 95, 89, 0, 0, 0, 0, 0,
742
+ 144, 145, 146, 140, 139, 82, 115, 108, 118, 0,
743
+ 22, 0, 110, 0, 120, 36, 0, 94, 77, 0,
744
+ 79, 91, 92, 0, 142, 19, 0, 111, 121, 96,
745
+ 0, 0, 141, 125, 80, 143
747
746
  };
748
747
 
749
748
  /* YYPGOTO[NTERM-NUM]. */
750
749
  static const yytype_int16 yypgoto[] =
751
750
  {
752
- -215, -215, -215, -106, 195, -2, -5, -215, -59, -54,
753
- -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
754
- 0, -215, 23, -215, -215, -151, -215, -215, -215, -215,
755
- 36, 11, -48, -215, 221, -135, -215, 229, -131, -4,
756
- -215, -1, 155, -51, -41, 113, -215, -214, -215, 169,
757
- -215
751
+ -224, -224, -224, -118, 220, -3, -10, -224, -58, -59,
752
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
753
+ -224, -224, 61, -224, -224, -224, -224, -224, 67, 9,
754
+ -51, -224, 234, -135, -224, 247, -137, -5, -224, -2,
755
+ 212, -52, -40, 164, -224, -223, -224, 184, -224
758
756
  };
759
757
 
760
758
  /* YYDEFGOTO[NTERM-NUM]. */
761
759
  static const yytype_int16 yydefgoto[] =
762
760
  {
763
- -1, 14, 15, 16, 17, 18, 19, 20, 149, 21,
764
- 22, 105, 106, 107, 108, 109, 23, 24, 25, 26,
765
- 51, 127, 221, 28, 29, 30, 31, 32, 33, 218,
766
- 219, 52, 142, 34, 53, 54, 35, 58, 59, 36,
767
- 37, 38, 39, 46, 133, 134, 256, 233, 40, 41,
768
- 42
761
+ -1, 15, 16, 17, 18, 19, 20, 21, 152, 22,
762
+ 23, 107, 108, 109, 110, 111, 24, 25, 26, 27,
763
+ 28, 128, 225, 29, 30, 31, 32, 222, 223, 53,
764
+ 145, 33, 54, 55, 34, 59, 60, 35, 36, 37,
765
+ 38, 45, 134, 135, 253, 233, 39, 40, 41
769
766
  };
770
767
 
771
768
  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -773,137 +770,119 @@ static const yytype_int16 yydefgoto[] =
773
770
  number is the opposite. If YYTABLE_NINF, syntax error. */
774
771
  static const yytype_int16 yytable[] =
775
772
  {
776
- 27, 60, 50, 135, 72, 61, 192, 69, 150, 214,
777
- 145, 182, 151, 196, 158, 257, 57, 182, 164, 150,
778
- -129, 227, 48, 150, 178, 180, 43, 182, 236, 147,
779
- 183, 172, 181, 63, 266, 55, 56, 13, 64, 129,
780
- 65, 173, 66, 62, 215, 216, 217, -129, 44, 182,
781
- 268, 128, 184, 209, 207, 45, 1, 148, 67, 68,
782
- 13, 60, 50, 264, 129, 156, 169, 192, 148, 73,
783
- 265, 163, 148, 160, 196, 152, 154, 255, 188, 79,
784
- 190, -130, 187, 150, 75, 138, -130, 77, 138, 75,
785
- 77, 2, 3, 195, 56, 13, 80, 4, 189, 5,
786
- 193, 6, -3, 197, 7, 203, 213, 206, 182, 8,
787
- 9, 150, 130, 238, 10, 182, 129, 11, 12, 13,
788
- 261, 131, 138, 174, 77, 78, 175, 132, 136, 223,
789
- 27, 27, 148, 163, 182, 2, 47, 237, 137, 50,
790
- 60, 240, 139, 44, 199, 64, 150, 65, 7, 66,
791
- 140, 1, 141, 70, 9, 208, 2, 47, 10, 27,
792
- 148, 241, 161, 143, 243, 67, 68, 13, 246, 224,
793
- 225, 247, 226, 144, 70, 9, 258, 249, 157, 10,
794
- 250, 150, 182, 71, 69, 251, 2, 3, 182, 63,
795
- 146, 260, 4, 165, 5, 148, 6, 166, 259, 7,
796
- 50, 60, 229, 159, 8, 9, 167, 110, 111, 10,
797
- 168, 170, 11, 177, 13, 230, 231, 232, 171, 55,
798
- 56, 13, 230, 231, 232, 181, 254, 194, 226, 200,
799
- 148, 112, 198, 201, 202, 205, 113, 114, 115, 116,
800
- 117, 118, 119, 120, 110, 111, 121, 204, 210, 220,
801
- 211, 212, 222, 228, 235, 239, 242, 110, 111, 122,
802
- 123, 124, 244, 245, 125, 126, 248, 252, 112, 172,
803
- 267, 162, 263, 113, 114, 115, 116, 117, 118, 119,
804
- 120, 112, 262, 253, 176, 153, 113, 114, 115, 116,
805
- 117, 118, 119, 120, 155, 234, 122, 123, 124, 179,
806
- 0, 125, 126, 0, 0, 0, 0, 0, 0, 122,
807
- 123, 124, 2, 47, 125, 126, 0, 0, 4, -104,
808
- 5, 0, 6, 0, 0, 48, 0, 0, 0, 0,
809
- 8, 9, 0, 0, 0, 10, 2, 47, 11, 49,
810
- 13, 0, 4, -107, 5, 0, 6, 0, 0, 190,
811
- 0, 0, 0, 0, 8, 9, 0, 0, 0, 10,
812
- 2, 3, 191, 49, 13, 0, 4, 0, 5, 0,
813
- 6, 0, 0, 7, 2, 47, 0, 0, 8, 9,
814
- 4, 0, 5, 10, 6, 0, 11, 177, 13, 0,
815
- 0, 0, 8, 9, 0, 0, 0, 10, 0, 0,
816
- 11, 49, 13, 81, 82, 83, 84, 85, 86, 87,
817
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
818
- 98, 99, 100, 101, 0, 0, 102, 103, 104, 4,
819
- 0, 5, 0, 6, 0, -130, 0, 74, 75, 0,
820
- 0, 185, 76, 0, 77, 78, 0, 0, 0, 11,
821
- 186, 13, -130, 0, 0, 75, 0, 0, 0, 76,
822
- 0, 77, 78
773
+ 74, 61, 52, 136, 153, 62, 254, 71, 148, 195,
774
+ 199, 218, 154, 180, 182, 58, 153, 162, 184, 184,
775
+ 153, 168, -126, 43, 184, 184, 64, 65, 185, 238,
776
+ 44, 2, 3, 4, 183, 236, 263, 5, 265, 6,
777
+ 42, 7, -126, 139, 8, 213, 219, 220, 221, 9,
778
+ 10, 184, 184, 151, 11, 186, 258, 12, 179, 14,
779
+ 112, 113, 61, 52, 63, 151, 160, 173, 167, 151,
780
+ 261, 195, 199, 50, 164, 156, 158, 262, 189, 153,
781
+ 190, 56, 57, 14, 114, 193, 56, 57, 14, 115,
782
+ 116, 117, 118, 119, 120, 121, 122, 75, 198, 57,
783
+ 14, 141, 192, 79, 196, 150, 207, 200, 210, 211,
784
+ 153, 217, 123, 124, 125, 130, 81, 126, 127, 130,
785
+ 1, -127, 82, 176, 77, 229, 177, 141, 151, 79,
786
+ 80, 167, 184, 246, 227, 237, 247, 191, 230, 231,
787
+ 232, 52, 61, -3, 153, 240, 202, 249, 184, 129,
788
+ 250, 251, 204, 1, 130, 2, 3, 4, 212, 151,
789
+ 133, 5, 131, 6, 184, 7, 241, 257, 8, 243,
790
+ 46, 47, 228, 9, 10, 132, 153, 255, 11, 137,
791
+ 138, 12, 13, 14, 140, 71, 43, 46, 2, 3,
792
+ 4, 142, 149, 151, 5, 144, 6, 143, 7, 256,
793
+ 147, 8, 146, 52, 61, 161, 9, 10, 230, 231,
794
+ 232, 11, 155, 163, 12, 179, 14, 2, 48, 49,
795
+ 2, 48, 49, 169, 170, 151, 5, -101, 6, 171,
796
+ 7, 172, 174, 50, 175, 72, 10, 183, 9, 10,
797
+ 11, 197, 201, 11, 73, 205, 12, 51, 14, 2,
798
+ 48, 49, 203, 208, 206, 5, -104, 6, 209, 7,
799
+ 214, 224, 193, 2, 48, 49, 215, 9, 10, 5,
800
+ 216, 6, 11, 7, 226, 194, 51, 14, 64, 65,
801
+ 235, 9, 10, 66, 244, 67, 11, 68, 239, 12,
802
+ 51, 14, 242, 2, 48, 49, 245, 5, 166, 6,
803
+ 157, 7, 248, 69, 70, 14, 8, 252, 264, 187,
804
+ 260, 72, 10, 259, 159, 181, 11, 12, 188, 14,
805
+ 165, 83, 84, 85, 86, 87, 88, 89, 90, 91,
806
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
807
+ 102, 103, 178, 0, 104, 105, 106, 66, 234, 67,
808
+ -127, 68, 76, 77, 0, -127, 0, 78, 77, 79,
809
+ 80, 0, 78, -127, 79, 80, 77, 69, 70, 14,
810
+ 141, 0, 79
823
811
  };
824
812
 
825
813
  static const yytype_int16 yycheck[] =
826
814
  {
827
- 0, 5, 4, 44, 9, 6, 141, 8, 62, 28,
828
- 58, 44, 63, 144, 73, 229, 5, 44, 77, 73,
829
- 43, 172, 53, 77, 130, 131, 46, 44, 61, 51,
830
- 47, 43, 55, 41, 61, 66, 67, 68, 46, 61,
831
- 48, 53, 50, 52, 63, 64, 65, 43, 46, 44,
832
- 264, 43, 47, 159, 51, 53, 5, 62, 66, 67,
833
- 68, 65, 64, 44, 61, 66, 117, 202, 73, 52,
834
- 51, 76, 77, 75, 205, 64, 65, 228, 137, 0,
835
- 53, 43, 136, 137, 46, 50, 43, 52, 50, 46,
836
- 52, 40, 41, 66, 67, 68, 0, 46, 139, 48,
837
- 141, 50, 0, 144, 53, 153, 165, 155, 44, 58,
838
- 59, 165, 54, 49, 63, 44, 61, 66, 67, 68,
839
- 49, 44, 50, 125, 52, 53, 128, 66, 52, 170,
840
- 130, 131, 137, 138, 44, 40, 41, 47, 52, 141,
841
- 144, 200, 61, 46, 146, 46, 200, 48, 53, 50,
842
- 47, 5, 44, 58, 59, 157, 40, 41, 63, 159,
843
- 165, 202, 67, 49, 205, 66, 67, 68, 44, 171,
844
- 172, 47, 172, 44, 58, 59, 235, 44, 46, 63,
845
- 47, 235, 44, 67, 185, 47, 40, 41, 44, 41,
846
- 45, 47, 46, 52, 48, 200, 50, 46, 239, 53,
847
- 202, 205, 50, 45, 58, 59, 46, 3, 4, 63,
848
- 46, 46, 66, 67, 68, 63, 64, 65, 46, 66,
849
- 67, 68, 63, 64, 65, 55, 228, 47, 228, 52,
850
- 235, 27, 49, 47, 44, 44, 32, 33, 34, 35,
851
- 36, 37, 38, 39, 3, 4, 42, 49, 47, 65,
852
- 51, 51, 63, 43, 52, 61, 47, 3, 4, 55,
853
- 56, 57, 49, 47, 60, 61, 47, 47, 27, 43,
854
- 47, 76, 249, 32, 33, 34, 35, 36, 37, 38,
855
- 39, 27, 246, 42, 129, 64, 32, 33, 34, 35,
856
- 36, 37, 38, 39, 65, 182, 55, 56, 57, 130,
857
- -1, 60, 61, -1, -1, -1, -1, -1, -1, 55,
858
- 56, 57, 40, 41, 60, 61, -1, -1, 46, 47,
859
- 48, -1, 50, -1, -1, 53, -1, -1, -1, -1,
860
- 58, 59, -1, -1, -1, 63, 40, 41, 66, 67,
861
- 68, -1, 46, 47, 48, -1, 50, -1, -1, 53,
862
- -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
863
- 40, 41, 66, 67, 68, -1, 46, -1, 48, -1,
864
- 50, -1, -1, 53, 40, 41, -1, -1, 58, 59,
865
- 46, -1, 48, 63, 50, -1, 66, 67, 68, -1,
866
- -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
867
- 66, 67, 68, 6, 7, 8, 9, 10, 11, 12,
868
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
869
- 23, 24, 25, 26, -1, -1, 29, 30, 31, 46,
870
- -1, 48, -1, 50, -1, 43, -1, 45, 46, -1,
871
- -1, 58, 50, -1, 52, 53, -1, -1, -1, 66,
872
- 67, 68, 43, -1, -1, 46, -1, -1, -1, 50,
873
- -1, 52, 53
815
+ 10, 6, 5, 43, 63, 7, 229, 9, 59, 144,
816
+ 147, 28, 64, 131, 132, 6, 75, 75, 44, 44,
817
+ 79, 79, 43, 46, 44, 44, 41, 42, 47, 49,
818
+ 53, 40, 41, 42, 55, 61, 61, 46, 261, 48,
819
+ 46, 50, 43, 46, 53, 163, 63, 64, 65, 58,
820
+ 59, 44, 44, 63, 63, 47, 49, 66, 67, 68,
821
+ 3, 4, 67, 66, 52, 75, 68, 119, 78, 79,
822
+ 44, 206, 209, 53, 77, 66, 67, 51, 137, 138,
823
+ 138, 66, 67, 68, 27, 53, 66, 67, 68, 32,
824
+ 33, 34, 35, 36, 37, 38, 39, 52, 66, 67,
825
+ 68, 50, 142, 52, 144, 51, 157, 147, 159, 51,
826
+ 169, 169, 55, 56, 57, 61, 0, 60, 61, 61,
827
+ 5, 43, 0, 126, 46, 50, 129, 50, 138, 52,
828
+ 53, 141, 44, 44, 174, 47, 47, 140, 63, 64,
829
+ 65, 144, 147, 0, 203, 203, 149, 44, 44, 43,
830
+ 47, 47, 155, 5, 61, 40, 41, 42, 161, 169,
831
+ 66, 46, 54, 48, 44, 50, 206, 47, 53, 209,
832
+ 52, 53, 175, 58, 59, 44, 235, 235, 63, 52,
833
+ 52, 66, 67, 68, 52, 187, 46, 52, 40, 41,
834
+ 42, 61, 45, 203, 46, 44, 48, 47, 50, 239,
835
+ 44, 53, 49, 206, 209, 46, 58, 59, 63, 64,
836
+ 65, 63, 52, 45, 66, 67, 68, 40, 41, 42,
837
+ 40, 41, 42, 52, 46, 235, 46, 47, 48, 46,
838
+ 50, 46, 46, 53, 46, 58, 59, 55, 58, 59,
839
+ 63, 47, 49, 63, 67, 47, 66, 67, 68, 40,
840
+ 41, 42, 52, 49, 44, 46, 47, 48, 44, 50,
841
+ 47, 65, 53, 40, 41, 42, 51, 58, 59, 46,
842
+ 51, 48, 63, 50, 63, 66, 67, 68, 41, 42,
843
+ 52, 58, 59, 46, 49, 48, 63, 50, 61, 66,
844
+ 67, 68, 47, 40, 41, 42, 47, 46, 78, 48,
845
+ 66, 50, 47, 66, 67, 68, 53, 47, 47, 58,
846
+ 249, 58, 59, 246, 67, 131, 63, 66, 67, 68,
847
+ 67, 6, 7, 8, 9, 10, 11, 12, 13, 14,
848
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
849
+ 25, 26, 130, -1, 29, 30, 31, 46, 184, 48,
850
+ 43, 50, 45, 46, -1, 43, -1, 50, 46, 52,
851
+ 53, -1, 50, 43, 52, 53, 46, 66, 67, 68,
852
+ 50, -1, 52
874
853
  };
875
854
 
876
855
  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
877
856
  symbol of state STATE-NUM. */
878
857
  static const yytype_uint8 yystos[] =
879
858
  {
880
- 0, 5, 40, 41, 46, 48, 50, 53, 58, 59,
881
- 63, 66, 67, 68, 71, 72, 73, 74, 75, 76,
882
- 77, 79, 80, 86, 87, 88, 89, 90, 93, 94,
883
- 95, 96, 97, 98, 103, 106, 109, 110, 111, 112,
884
- 118, 119, 120, 46, 46, 53, 113, 41, 53, 67,
885
- 75, 90, 101, 104, 105, 66, 67, 101, 107, 108,
886
- 109, 111, 52, 41, 46, 48, 50, 66, 67, 111,
887
- 58, 67, 76, 52, 45, 46, 50, 52, 53, 0,
888
- 0, 6, 7, 8, 9, 10, 11, 12, 13, 14,
889
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
890
- 25, 26, 29, 30, 31, 81, 82, 83, 84, 85,
891
- 3, 4, 27, 32, 33, 34, 35, 36, 37, 38,
892
- 39, 42, 55, 56, 57, 60, 61, 91, 43, 61,
893
- 54, 44, 66, 114, 115, 114, 52, 52, 50, 61,
894
- 47, 44, 102, 49, 44, 102, 45, 51, 76, 78,
895
- 79, 113, 101, 104, 101, 107, 111, 46, 78, 45,
896
- 75, 67, 74, 76, 78, 52, 46, 46, 46, 113,
897
- 46, 46, 43, 53, 75, 75, 112, 67, 73, 119,
898
- 73, 55, 44, 47, 47, 58, 67, 79, 78, 114,
899
- 53, 66, 105, 114, 47, 66, 108, 114, 49, 75,
900
- 52, 47, 44, 102, 49, 44, 102, 51, 75, 73,
901
- 47, 51, 51, 78, 28, 63, 64, 65, 99, 100,
902
- 65, 92, 63, 114, 75, 75, 90, 95, 43, 50,
903
- 63, 64, 65, 117, 115, 52, 61, 47, 49, 61,
904
- 78, 114, 47, 114, 49, 47, 44, 47, 47, 44,
905
- 47, 47, 47, 42, 75, 95, 116, 117, 78, 114,
906
- 47, 49, 100, 92, 44, 51, 61, 47, 117
859
+ 0, 5, 40, 41, 42, 46, 48, 50, 53, 58,
860
+ 59, 63, 66, 67, 68, 71, 72, 73, 74, 75,
861
+ 76, 77, 79, 80, 86, 87, 88, 89, 90, 93,
862
+ 94, 95, 96, 101, 104, 107, 108, 109, 110, 116,
863
+ 117, 118, 46, 46, 53, 111, 52, 53, 41, 42,
864
+ 53, 67, 75, 99, 102, 103, 66, 67, 99, 105,
865
+ 106, 107, 109, 52, 41, 42, 46, 48, 50, 66,
866
+ 67, 109, 58, 67, 76, 52, 45, 46, 50, 52,
867
+ 53, 0, 0, 6, 7, 8, 9, 10, 11, 12,
868
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
869
+ 23, 24, 25, 26, 29, 30, 31, 81, 82, 83,
870
+ 84, 85, 3, 4, 27, 32, 33, 34, 35, 36,
871
+ 37, 38, 39, 55, 56, 57, 60, 61, 91, 43,
872
+ 61, 54, 44, 66, 112, 113, 112, 52, 52, 75,
873
+ 52, 50, 61, 47, 44, 100, 49, 44, 100, 45,
874
+ 51, 76, 78, 79, 111, 52, 99, 102, 99, 105,
875
+ 109, 46, 78, 45, 75, 67, 74, 76, 78, 52,
876
+ 46, 46, 46, 111, 46, 46, 75, 75, 110, 67,
877
+ 73, 117, 73, 55, 44, 47, 47, 58, 67, 79,
878
+ 78, 75, 112, 53, 66, 103, 112, 47, 66, 106,
879
+ 112, 49, 75, 52, 75, 47, 44, 100, 49, 44,
880
+ 100, 51, 75, 73, 47, 51, 51, 78, 28, 63,
881
+ 64, 65, 97, 98, 65, 92, 63, 112, 75, 50,
882
+ 63, 64, 65, 115, 113, 52, 61, 47, 49, 61,
883
+ 78, 112, 47, 112, 49, 47, 44, 47, 47, 44,
884
+ 47, 47, 47, 114, 115, 78, 112, 47, 49, 98,
885
+ 92, 44, 51, 61, 47, 115
907
886
  };
908
887
 
909
888
  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
@@ -911,41 +890,41 @@ static const yytype_uint8 yyr1[] =
911
890
  {
912
891
  0, 70, 71, 72, 72, 72, 73, 73, 73, 73,
913
892
  73, 74, 74, 75, 75, 76, 76, 76, 77, 77,
914
- 77, 77, 77, 78, 78, 79, 79, 79, 79, 79,
915
- 79, 79, 79, 79, 79, 79, 80, 80, 80, 80,
893
+ 77, 77, 77, 77, 77, 78, 78, 79, 79, 79,
894
+ 79, 79, 79, 79, 79, 79, 79, 79, 80, 80,
916
895
  80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
917
- 80, 80, 80, 80, 80, 80, 80, 81, 81, 81,
918
- 81, 82, 82, 82, 82, 83, 83, 83, 84, 84,
919
- 84, 85, 85, 85, 86, 86, 87, 88, 88, 89,
920
- 90, 90, 91, 91, 91, 91, 91, 92, 93, 94,
921
- 94, 94, 95, 95, 96, 97, 97, 98, 99, 99,
922
- 100, 100, 100, 100, 101, 101, 102, 102, 102, 103,
923
- 103, 103, 103, 103, 103, 104, 104, 105, 105, 106,
924
- 106, 106, 106, 106, 106, 107, 107, 108, 108, 109,
925
- 109, 109, 110, 110, 110, 110, 111, 111, 112, 113,
926
- 113, 114, 114, 115, 115, 116, 116, 117, 117, 117,
927
- 118, 119, 119, 120, 120
896
+ 80, 80, 80, 80, 80, 80, 80, 80, 80, 81,
897
+ 81, 81, 81, 82, 82, 82, 82, 83, 83, 83,
898
+ 84, 84, 84, 85, 85, 85, 86, 86, 87, 88,
899
+ 88, 89, 90, 90, 91, 91, 91, 91, 91, 92,
900
+ 93, 94, 95, 95, 96, 97, 97, 98, 98, 98,
901
+ 98, 99, 99, 100, 100, 100, 101, 101, 101, 101,
902
+ 101, 101, 102, 102, 103, 103, 104, 104, 104, 104,
903
+ 104, 104, 105, 105, 106, 106, 107, 107, 107, 108,
904
+ 108, 108, 108, 109, 109, 110, 111, 111, 112, 112,
905
+ 113, 113, 114, 114, 115, 115, 115, 116, 117, 117,
906
+ 118, 118
928
907
  };
929
908
 
930
909
  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
931
910
  static const yytype_uint8 yyr2[] =
932
911
  {
933
912
  0, 2, 2, 1, 1, 4, 1, 1, 4, 4,
934
- 1, 3, 4, 1, 1, 1, 4, 2, 3, 6,
935
- 3, 4, 5, 1, 1, 2, 2, 1, 1, 1,
936
- 1, 1, 2, 4, 5, 1, 2, 2, 2, 2,
937
- 2, 2, 2, 2, 2, 2, 2, 2, 1, 1,
938
- 2, 1, 1, 2, 1, 1, 1, 1, 1, 1,
913
+ 4, 3, 4, 1, 1, 1, 4, 2, 3, 6,
914
+ 3, 4, 5, 3, 4, 1, 1, 2, 2, 1,
915
+ 1, 1, 1, 1, 2, 4, 5, 1, 2, 2,
916
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
917
+ 1, 1, 2, 1, 1, 2, 1, 1, 1, 1,
939
918
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
940
- 1, 1, 1, 1, 2, 5, 2, 5, 7, 2,
941
- 0, 1, 0, 1, 1, 1, 1, 1, 3, 1,
942
- 5, 5, 4, 4, 5, 5, 3, 5, 1, 3,
943
- 1, 1, 1, 1, 0, 1, 0, 1, 2, 3,
944
- 4, 5, 4, 5, 6, 1, 3, 1, 4, 3,
945
- 4, 5, 4, 5, 6, 1, 3, 3, 6, 1,
946
- 1, 1, 1, 3, 2, 4, 1, 3, 3, 0,
947
- 3, 1, 3, 3, 5, 1, 3, 1, 1, 1,
948
- 3, 1, 1, 1, 3
919
+ 1, 1, 1, 1, 1, 1, 2, 5, 2, 5,
920
+ 7, 2, 0, 1, 0, 1, 1, 1, 1, 1,
921
+ 3, 5, 5, 3, 5, 1, 3, 1, 1, 1,
922
+ 1, 0, 1, 0, 1, 2, 3, 4, 5, 4,
923
+ 5, 6, 1, 3, 1, 4, 3, 4, 5, 4,
924
+ 5, 6, 1, 3, 3, 6, 1, 1, 1, 1,
925
+ 3, 2, 4, 1, 3, 3, 0, 3, 1, 3,
926
+ 3, 5, 1, 3, 1, 1, 1, 3, 1, 1,
927
+ 1, 3
949
928
  };
950
929
 
951
930
 
@@ -1449,273 +1428,261 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio
1449
1428
  switch (yytype)
1450
1429
  {
1451
1430
  case 63: /* INTEGER */
1452
- #line 203 "grammar.y" /* yacc.c:1257 */
1431
+ #line 201 "grammar.y" /* yacc.c:1257 */
1453
1432
  { ndt_free(((*yyvaluep).string)); }
1454
- #line 1455 "grammar.c" /* yacc.c:1257 */
1433
+ #line 1434 "grammar.c" /* yacc.c:1257 */
1455
1434
  break;
1456
1435
 
1457
1436
  case 64: /* FLOATNUMBER */
1458
- #line 203 "grammar.y" /* yacc.c:1257 */
1437
+ #line 201 "grammar.y" /* yacc.c:1257 */
1459
1438
  { ndt_free(((*yyvaluep).string)); }
1460
- #line 1461 "grammar.c" /* yacc.c:1257 */
1439
+ #line 1440 "grammar.c" /* yacc.c:1257 */
1461
1440
  break;
1462
1441
 
1463
1442
  case 65: /* STRINGLIT */
1464
- #line 203 "grammar.y" /* yacc.c:1257 */
1443
+ #line 201 "grammar.y" /* yacc.c:1257 */
1465
1444
  { ndt_free(((*yyvaluep).string)); }
1466
- #line 1467 "grammar.c" /* yacc.c:1257 */
1445
+ #line 1446 "grammar.c" /* yacc.c:1257 */
1467
1446
  break;
1468
1447
 
1469
1448
  case 66: /* NAME_LOWER */
1470
- #line 203 "grammar.y" /* yacc.c:1257 */
1449
+ #line 201 "grammar.y" /* yacc.c:1257 */
1471
1450
  { ndt_free(((*yyvaluep).string)); }
1472
- #line 1473 "grammar.c" /* yacc.c:1257 */
1451
+ #line 1452 "grammar.c" /* yacc.c:1257 */
1473
1452
  break;
1474
1453
 
1475
1454
  case 67: /* NAME_UPPER */
1476
- #line 203 "grammar.y" /* yacc.c:1257 */
1455
+ #line 201 "grammar.y" /* yacc.c:1257 */
1477
1456
  { ndt_free(((*yyvaluep).string)); }
1478
- #line 1479 "grammar.c" /* yacc.c:1257 */
1457
+ #line 1458 "grammar.c" /* yacc.c:1257 */
1479
1458
  break;
1480
1459
 
1481
1460
  case 68: /* NAME_OTHER */
1482
- #line 203 "grammar.y" /* yacc.c:1257 */
1461
+ #line 201 "grammar.y" /* yacc.c:1257 */
1483
1462
  { ndt_free(((*yyvaluep).string)); }
1484
- #line 1485 "grammar.c" /* yacc.c:1257 */
1463
+ #line 1464 "grammar.c" /* yacc.c:1257 */
1485
1464
  break;
1486
1465
 
1487
1466
  case 71: /* input */
1488
- #line 196 "grammar.y" /* yacc.c:1257 */
1467
+ #line 194 "grammar.y" /* yacc.c:1257 */
1489
1468
  { ndt_decref(((*yyvaluep).ndt)); }
1490
- #line 1491 "grammar.c" /* yacc.c:1257 */
1469
+ #line 1470 "grammar.c" /* yacc.c:1257 */
1491
1470
  break;
1492
1471
 
1493
1472
  case 72: /* datashape_or_module */
1494
- #line 196 "grammar.y" /* yacc.c:1257 */
1473
+ #line 194 "grammar.y" /* yacc.c:1257 */
1495
1474
  { ndt_decref(((*yyvaluep).ndt)); }
1496
- #line 1497 "grammar.c" /* yacc.c:1257 */
1475
+ #line 1476 "grammar.c" /* yacc.c:1257 */
1497
1476
  break;
1498
1477
 
1499
1478
  case 73: /* datashape_with_ellipsis */
1500
- #line 196 "grammar.y" /* yacc.c:1257 */
1479
+ #line 194 "grammar.y" /* yacc.c:1257 */
1501
1480
  { ndt_decref(((*yyvaluep).ndt)); }
1502
- #line 1503 "grammar.c" /* yacc.c:1257 */
1481
+ #line 1482 "grammar.c" /* yacc.c:1257 */
1503
1482
  break;
1504
1483
 
1505
1484
  case 74: /* fixed_ellipsis */
1506
- #line 196 "grammar.y" /* yacc.c:1257 */
1485
+ #line 194 "grammar.y" /* yacc.c:1257 */
1507
1486
  { ndt_decref(((*yyvaluep).ndt)); }
1508
- #line 1509 "grammar.c" /* yacc.c:1257 */
1487
+ #line 1488 "grammar.c" /* yacc.c:1257 */
1509
1488
  break;
1510
1489
 
1511
1490
  case 75: /* datashape */
1512
- #line 196 "grammar.y" /* yacc.c:1257 */
1491
+ #line 194 "grammar.y" /* yacc.c:1257 */
1513
1492
  { ndt_decref(((*yyvaluep).ndt)); }
1514
- #line 1515 "grammar.c" /* yacc.c:1257 */
1493
+ #line 1494 "grammar.c" /* yacc.c:1257 */
1515
1494
  break;
1516
1495
 
1517
1496
  case 76: /* dimensions */
1518
- #line 196 "grammar.y" /* yacc.c:1257 */
1497
+ #line 194 "grammar.y" /* yacc.c:1257 */
1519
1498
  { ndt_decref(((*yyvaluep).ndt)); }
1520
- #line 1521 "grammar.c" /* yacc.c:1257 */
1499
+ #line 1500 "grammar.c" /* yacc.c:1257 */
1521
1500
  break;
1522
1501
 
1523
1502
  case 77: /* dimensions_nooption */
1524
- #line 196 "grammar.y" /* yacc.c:1257 */
1503
+ #line 194 "grammar.y" /* yacc.c:1257 */
1525
1504
  { ndt_decref(((*yyvaluep).ndt)); }
1526
- #line 1527 "grammar.c" /* yacc.c:1257 */
1505
+ #line 1506 "grammar.c" /* yacc.c:1257 */
1527
1506
  break;
1528
1507
 
1529
1508
  case 78: /* dimensions_tail */
1530
- #line 196 "grammar.y" /* yacc.c:1257 */
1509
+ #line 194 "grammar.y" /* yacc.c:1257 */
1531
1510
  { ndt_decref(((*yyvaluep).ndt)); }
1532
- #line 1533 "grammar.c" /* yacc.c:1257 */
1511
+ #line 1512 "grammar.c" /* yacc.c:1257 */
1533
1512
  break;
1534
1513
 
1535
1514
  case 79: /* dtype */
1536
- #line 196 "grammar.y" /* yacc.c:1257 */
1515
+ #line 194 "grammar.y" /* yacc.c:1257 */
1537
1516
  { ndt_decref(((*yyvaluep).ndt)); }
1538
- #line 1539 "grammar.c" /* yacc.c:1257 */
1517
+ #line 1518 "grammar.c" /* yacc.c:1257 */
1539
1518
  break;
1540
1519
 
1541
1520
  case 80: /* scalar */
1542
- #line 196 "grammar.y" /* yacc.c:1257 */
1521
+ #line 194 "grammar.y" /* yacc.c:1257 */
1543
1522
  { ndt_decref(((*yyvaluep).ndt)); }
1544
- #line 1545 "grammar.c" /* yacc.c:1257 */
1523
+ #line 1524 "grammar.c" /* yacc.c:1257 */
1545
1524
  break;
1546
1525
 
1547
1526
  case 86: /* character */
1548
- #line 196 "grammar.y" /* yacc.c:1257 */
1527
+ #line 194 "grammar.y" /* yacc.c:1257 */
1549
1528
  { ndt_decref(((*yyvaluep).ndt)); }
1550
- #line 1551 "grammar.c" /* yacc.c:1257 */
1529
+ #line 1530 "grammar.c" /* yacc.c:1257 */
1551
1530
  break;
1552
1531
 
1553
1532
  case 87: /* string */
1554
- #line 196 "grammar.y" /* yacc.c:1257 */
1533
+ #line 194 "grammar.y" /* yacc.c:1257 */
1555
1534
  { ndt_decref(((*yyvaluep).ndt)); }
1556
- #line 1557 "grammar.c" /* yacc.c:1257 */
1535
+ #line 1536 "grammar.c" /* yacc.c:1257 */
1557
1536
  break;
1558
1537
 
1559
1538
  case 88: /* fixed_string */
1560
- #line 196 "grammar.y" /* yacc.c:1257 */
1539
+ #line 194 "grammar.y" /* yacc.c:1257 */
1561
1540
  { ndt_decref(((*yyvaluep).ndt)); }
1562
- #line 1563 "grammar.c" /* yacc.c:1257 */
1541
+ #line 1542 "grammar.c" /* yacc.c:1257 */
1563
1542
  break;
1564
1543
 
1565
1544
  case 93: /* bytes */
1566
- #line 196 "grammar.y" /* yacc.c:1257 */
1545
+ #line 194 "grammar.y" /* yacc.c:1257 */
1567
1546
  { ndt_decref(((*yyvaluep).ndt)); }
1568
- #line 1569 "grammar.c" /* yacc.c:1257 */
1547
+ #line 1548 "grammar.c" /* yacc.c:1257 */
1569
1548
  break;
1570
1549
 
1571
- case 94: /* array_dimensions */
1572
- #line 196 "grammar.y" /* yacc.c:1257 */
1573
- { ndt_decref(((*yyvaluep).ndt)); }
1574
- #line 1575 "grammar.c" /* yacc.c:1257 */
1575
- break;
1576
-
1577
- case 95: /* array */
1578
- #line 196 "grammar.y" /* yacc.c:1257 */
1579
- { ndt_decref(((*yyvaluep).ndt)); }
1580
- #line 1581 "grammar.c" /* yacc.c:1257 */
1581
- break;
1582
-
1583
- case 96: /* fixed_bytes */
1584
- #line 196 "grammar.y" /* yacc.c:1257 */
1550
+ case 94: /* fixed_bytes */
1551
+ #line 194 "grammar.y" /* yacc.c:1257 */
1585
1552
  { ndt_decref(((*yyvaluep).ndt)); }
1586
- #line 1587 "grammar.c" /* yacc.c:1257 */
1553
+ #line 1554 "grammar.c" /* yacc.c:1257 */
1587
1554
  break;
1588
1555
 
1589
- case 97: /* ref */
1590
- #line 196 "grammar.y" /* yacc.c:1257 */
1556
+ case 95: /* ref */
1557
+ #line 194 "grammar.y" /* yacc.c:1257 */
1591
1558
  { ndt_decref(((*yyvaluep).ndt)); }
1592
- #line 1593 "grammar.c" /* yacc.c:1257 */
1559
+ #line 1560 "grammar.c" /* yacc.c:1257 */
1593
1560
  break;
1594
1561
 
1595
- case 98: /* categorical */
1596
- #line 196 "grammar.y" /* yacc.c:1257 */
1562
+ case 96: /* categorical */
1563
+ #line 194 "grammar.y" /* yacc.c:1257 */
1597
1564
  { ndt_decref(((*yyvaluep).ndt)); }
1598
- #line 1599 "grammar.c" /* yacc.c:1257 */
1565
+ #line 1566 "grammar.c" /* yacc.c:1257 */
1599
1566
  break;
1600
1567
 
1601
- case 99: /* typed_value_seq */
1602
- #line 200 "grammar.y" /* yacc.c:1257 */
1568
+ case 97: /* typed_value_seq */
1569
+ #line 198 "grammar.y" /* yacc.c:1257 */
1603
1570
  { ndt_value_seq_del(((*yyvaluep).typed_value_seq)); }
1604
- #line 1605 "grammar.c" /* yacc.c:1257 */
1571
+ #line 1572 "grammar.c" /* yacc.c:1257 */
1605
1572
  break;
1606
1573
 
1607
- case 100: /* typed_value */
1608
- #line 199 "grammar.y" /* yacc.c:1257 */
1574
+ case 98: /* typed_value */
1575
+ #line 197 "grammar.y" /* yacc.c:1257 */
1609
1576
  { ndt_value_del(((*yyvaluep).typed_value)); }
1610
- #line 1611 "grammar.c" /* yacc.c:1257 */
1577
+ #line 1578 "grammar.c" /* yacc.c:1257 */
1611
1578
  break;
1612
1579
 
1613
- case 103: /* tuple_type */
1614
- #line 196 "grammar.y" /* yacc.c:1257 */
1580
+ case 101: /* tuple_type */
1581
+ #line 194 "grammar.y" /* yacc.c:1257 */
1615
1582
  { ndt_decref(((*yyvaluep).ndt)); }
1616
- #line 1617 "grammar.c" /* yacc.c:1257 */
1583
+ #line 1584 "grammar.c" /* yacc.c:1257 */
1617
1584
  break;
1618
1585
 
1619
- case 104: /* tuple_field_seq */
1620
- #line 198 "grammar.y" /* yacc.c:1257 */
1586
+ case 102: /* tuple_field_seq */
1587
+ #line 196 "grammar.y" /* yacc.c:1257 */
1621
1588
  { ndt_field_seq_del(((*yyvaluep).field_seq)); }
1622
- #line 1623 "grammar.c" /* yacc.c:1257 */
1589
+ #line 1590 "grammar.c" /* yacc.c:1257 */
1623
1590
  break;
1624
1591
 
1625
- case 105: /* tuple_field */
1626
- #line 197 "grammar.y" /* yacc.c:1257 */
1592
+ case 103: /* tuple_field */
1593
+ #line 195 "grammar.y" /* yacc.c:1257 */
1627
1594
  { ndt_field_del(((*yyvaluep).field)); }
1628
- #line 1629 "grammar.c" /* yacc.c:1257 */
1595
+ #line 1596 "grammar.c" /* yacc.c:1257 */
1629
1596
  break;
1630
1597
 
1631
- case 106: /* record_type */
1632
- #line 196 "grammar.y" /* yacc.c:1257 */
1598
+ case 104: /* record_type */
1599
+ #line 194 "grammar.y" /* yacc.c:1257 */
1633
1600
  { ndt_decref(((*yyvaluep).ndt)); }
1634
- #line 1635 "grammar.c" /* yacc.c:1257 */
1601
+ #line 1602 "grammar.c" /* yacc.c:1257 */
1635
1602
  break;
1636
1603
 
1637
- case 107: /* record_field_seq */
1638
- #line 198 "grammar.y" /* yacc.c:1257 */
1604
+ case 105: /* record_field_seq */
1605
+ #line 196 "grammar.y" /* yacc.c:1257 */
1639
1606
  { ndt_field_seq_del(((*yyvaluep).field_seq)); }
1640
- #line 1641 "grammar.c" /* yacc.c:1257 */
1607
+ #line 1608 "grammar.c" /* yacc.c:1257 */
1641
1608
  break;
1642
1609
 
1643
- case 108: /* record_field */
1644
- #line 197 "grammar.y" /* yacc.c:1257 */
1610
+ case 106: /* record_field */
1611
+ #line 195 "grammar.y" /* yacc.c:1257 */
1645
1612
  { ndt_field_del(((*yyvaluep).field)); }
1646
- #line 1647 "grammar.c" /* yacc.c:1257 */
1613
+ #line 1614 "grammar.c" /* yacc.c:1257 */
1647
1614
  break;
1648
1615
 
1649
- case 109: /* field_name_or_tag */
1650
- #line 203 "grammar.y" /* yacc.c:1257 */
1616
+ case 107: /* field_name_or_tag */
1617
+ #line 201 "grammar.y" /* yacc.c:1257 */
1651
1618
  { ndt_free(((*yyvaluep).string)); }
1652
- #line 1653 "grammar.c" /* yacc.c:1257 */
1619
+ #line 1620 "grammar.c" /* yacc.c:1257 */
1653
1620
  break;
1654
1621
 
1655
- case 110: /* union_type */
1656
- #line 196 "grammar.y" /* yacc.c:1257 */
1622
+ case 108: /* union_type */
1623
+ #line 194 "grammar.y" /* yacc.c:1257 */
1657
1624
  { ndt_decref(((*yyvaluep).ndt)); }
1658
- #line 1659 "grammar.c" /* yacc.c:1257 */
1625
+ #line 1626 "grammar.c" /* yacc.c:1257 */
1659
1626
  break;
1660
1627
 
1661
- case 111: /* union_member_seq */
1662
- #line 198 "grammar.y" /* yacc.c:1257 */
1628
+ case 109: /* union_member_seq */
1629
+ #line 196 "grammar.y" /* yacc.c:1257 */
1663
1630
  { ndt_field_seq_del(((*yyvaluep).field_seq)); }
1664
- #line 1665 "grammar.c" /* yacc.c:1257 */
1631
+ #line 1632 "grammar.c" /* yacc.c:1257 */
1665
1632
  break;
1666
1633
 
1667
- case 112: /* union_member */
1668
- #line 197 "grammar.y" /* yacc.c:1257 */
1634
+ case 110: /* union_member */
1635
+ #line 195 "grammar.y" /* yacc.c:1257 */
1669
1636
  { ndt_field_del(((*yyvaluep).field)); }
1670
- #line 1671 "grammar.c" /* yacc.c:1257 */
1637
+ #line 1638 "grammar.c" /* yacc.c:1257 */
1671
1638
  break;
1672
1639
 
1673
- case 113: /* arguments_opt */
1674
- #line 202 "grammar.y" /* yacc.c:1257 */
1640
+ case 111: /* arguments_opt */
1641
+ #line 200 "grammar.y" /* yacc.c:1257 */
1675
1642
  { ndt_attr_seq_del(((*yyvaluep).attribute_seq)); }
1676
- #line 1677 "grammar.c" /* yacc.c:1257 */
1643
+ #line 1644 "grammar.c" /* yacc.c:1257 */
1677
1644
  break;
1678
1645
 
1679
- case 114: /* attribute_seq */
1680
- #line 202 "grammar.y" /* yacc.c:1257 */
1646
+ case 112: /* attribute_seq */
1647
+ #line 200 "grammar.y" /* yacc.c:1257 */
1681
1648
  { ndt_attr_seq_del(((*yyvaluep).attribute_seq)); }
1682
- #line 1683 "grammar.c" /* yacc.c:1257 */
1649
+ #line 1650 "grammar.c" /* yacc.c:1257 */
1683
1650
  break;
1684
1651
 
1685
- case 115: /* attribute */
1686
- #line 201 "grammar.y" /* yacc.c:1257 */
1652
+ case 113: /* attribute */
1653
+ #line 199 "grammar.y" /* yacc.c:1257 */
1687
1654
  { ndt_attr_del(((*yyvaluep).attribute)); }
1688
- #line 1689 "grammar.c" /* yacc.c:1257 */
1655
+ #line 1656 "grammar.c" /* yacc.c:1257 */
1689
1656
  break;
1690
1657
 
1691
- case 116: /* untyped_value_seq */
1692
- #line 204 "grammar.y" /* yacc.c:1257 */
1658
+ case 114: /* untyped_value_seq */
1659
+ #line 202 "grammar.y" /* yacc.c:1257 */
1693
1660
  { ndt_string_seq_del(((*yyvaluep).string_seq)); }
1694
- #line 1695 "grammar.c" /* yacc.c:1257 */
1661
+ #line 1662 "grammar.c" /* yacc.c:1257 */
1695
1662
  break;
1696
1663
 
1697
- case 117: /* untyped_value */
1698
- #line 203 "grammar.y" /* yacc.c:1257 */
1664
+ case 115: /* untyped_value */
1665
+ #line 201 "grammar.y" /* yacc.c:1257 */
1699
1666
  { ndt_free(((*yyvaluep).string)); }
1700
- #line 1701 "grammar.c" /* yacc.c:1257 */
1667
+ #line 1668 "grammar.c" /* yacc.c:1257 */
1701
1668
  break;
1702
1669
 
1703
- case 118: /* function_type */
1704
- #line 196 "grammar.y" /* yacc.c:1257 */
1670
+ case 116: /* function_type */
1671
+ #line 194 "grammar.y" /* yacc.c:1257 */
1705
1672
  { ndt_decref(((*yyvaluep).ndt)); }
1706
- #line 1707 "grammar.c" /* yacc.c:1257 */
1673
+ #line 1674 "grammar.c" /* yacc.c:1257 */
1707
1674
  break;
1708
1675
 
1709
- case 119: /* type_seq_or_void */
1710
- #line 205 "grammar.y" /* yacc.c:1257 */
1676
+ case 117: /* type_seq_or_void */
1677
+ #line 203 "grammar.y" /* yacc.c:1257 */
1711
1678
  { ndt_type_seq_del(((*yyvaluep).type_seq)); }
1712
- #line 1713 "grammar.c" /* yacc.c:1257 */
1679
+ #line 1680 "grammar.c" /* yacc.c:1257 */
1713
1680
  break;
1714
1681
 
1715
- case 120: /* type_seq */
1716
- #line 205 "grammar.y" /* yacc.c:1257 */
1682
+ case 118: /* type_seq */
1683
+ #line 203 "grammar.y" /* yacc.c:1257 */
1717
1684
  { ndt_type_seq_del(((*yyvaluep).type_seq)); }
1718
- #line 1719 "grammar.c" /* yacc.c:1257 */
1685
+ #line 1686 "grammar.c" /* yacc.c:1257 */
1719
1686
  break;
1720
1687
 
1721
1688
  default:
@@ -1830,7 +1797,7 @@ YYLTYPE yylloc = yyloc_default;
1830
1797
  yylloc.last_column = 1;
1831
1798
  }
1832
1799
 
1833
- #line 1834 "grammar.c" /* yacc.c:1431 */
1800
+ #line 1801 "grammar.c" /* yacc.c:1431 */
1834
1801
  yylsp[0] = yylloc;
1835
1802
  goto yysetstate;
1836
1803
 
@@ -2022,925 +1989,907 @@ yyreduce:
2022
1989
  switch (yyn)
2023
1990
  {
2024
1991
  case 2:
2025
- #line 214 "grammar.y" /* yacc.c:1652 */
1992
+ #line 212 "grammar.y" /* yacc.c:1652 */
2026
1993
  { (yyval.ndt) = (yyvsp[-1].ndt); *ast = (yyval.ndt); YYACCEPT; }
2027
- #line 2028 "grammar.c" /* yacc.c:1652 */
1994
+ #line 1995 "grammar.c" /* yacc.c:1652 */
2028
1995
  break;
2029
1996
 
2030
1997
  case 3:
2031
- #line 218 "grammar.y" /* yacc.c:1652 */
1998
+ #line 216 "grammar.y" /* yacc.c:1652 */
2032
1999
  { (yyval.ndt) = (yyvsp[0].ndt); }
2033
- #line 2034 "grammar.c" /* yacc.c:1652 */
2000
+ #line 2001 "grammar.c" /* yacc.c:1652 */
2034
2001
  break;
2035
2002
 
2036
2003
  case 4:
2037
- #line 219 "grammar.y" /* yacc.c:1652 */
2004
+ #line 217 "grammar.y" /* yacc.c:1652 */
2038
2005
  { (yyval.ndt) = (yyvsp[0].ndt); }
2039
- #line 2040 "grammar.c" /* yacc.c:1652 */
2006
+ #line 2007 "grammar.c" /* yacc.c:1652 */
2040
2007
  break;
2041
2008
 
2042
2009
  case 5:
2043
- #line 220 "grammar.y" /* yacc.c:1652 */
2010
+ #line 218 "grammar.y" /* yacc.c:1652 */
2044
2011
  { (yyval.ndt) = mk_module((yyvsp[-3].string), (yyvsp[0].ndt), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2045
- #line 2046 "grammar.c" /* yacc.c:1652 */
2012
+ #line 2013 "grammar.c" /* yacc.c:1652 */
2046
2013
  break;
2047
2014
 
2048
2015
  case 6:
2049
- #line 224 "grammar.y" /* yacc.c:1652 */
2016
+ #line 222 "grammar.y" /* yacc.c:1652 */
2050
2017
  { (yyval.ndt) = (yyvsp[0].ndt); }
2051
- #line 2052 "grammar.c" /* yacc.c:1652 */
2018
+ #line 2019 "grammar.c" /* yacc.c:1652 */
2052
2019
  break;
2053
2020
 
2054
2021
  case 7:
2055
- #line 225 "grammar.y" /* yacc.c:1652 */
2022
+ #line 223 "grammar.y" /* yacc.c:1652 */
2056
2023
  { (yyval.ndt) = (yyvsp[0].ndt); }
2057
- #line 2058 "grammar.c" /* yacc.c:1652 */
2024
+ #line 2025 "grammar.c" /* yacc.c:1652 */
2058
2025
  break;
2059
2026
 
2060
2027
  case 8:
2061
- #line 226 "grammar.y" /* yacc.c:1652 */
2028
+ #line 224 "grammar.y" /* yacc.c:1652 */
2062
2029
  { (yyval.ndt) = mk_contig((yyvsp[-3].string), (ndt_t *)(yyvsp[-1].ndt), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2063
- #line 2064 "grammar.c" /* yacc.c:1652 */
2030
+ #line 2031 "grammar.c" /* yacc.c:1652 */
2064
2031
  break;
2065
2032
 
2066
2033
  case 9:
2067
- #line 227 "grammar.y" /* yacc.c:1652 */
2034
+ #line 225 "grammar.y" /* yacc.c:1652 */
2068
2035
  { (yyval.ndt) = mk_var_ellipsis((yyvsp[0].ndt), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2069
- #line 2070 "grammar.c" /* yacc.c:1652 */
2036
+ #line 2037 "grammar.c" /* yacc.c:1652 */
2070
2037
  break;
2071
2038
 
2072
2039
  case 10:
2073
- #line 228 "grammar.y" /* yacc.c:1652 */
2074
- { (yyval.ndt) = (yyvsp[0].ndt); }
2075
- #line 2076 "grammar.c" /* yacc.c:1652 */
2040
+ #line 226 "grammar.y" /* yacc.c:1652 */
2041
+ { (yyval.ndt) = mk_array_ellipsis((yyvsp[0].ndt), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2042
+ #line 2043 "grammar.c" /* yacc.c:1652 */
2076
2043
  break;
2077
2044
 
2078
2045
  case 11:
2079
- #line 231 "grammar.y" /* yacc.c:1652 */
2046
+ #line 229 "grammar.y" /* yacc.c:1652 */
2080
2047
  { (yyval.ndt) = mk_ellipsis_dim(NULL, (yyvsp[0].ndt), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2081
- #line 2082 "grammar.c" /* yacc.c:1652 */
2048
+ #line 2049 "grammar.c" /* yacc.c:1652 */
2082
2049
  break;
2083
2050
 
2084
2051
  case 12:
2085
- #line 232 "grammar.y" /* yacc.c:1652 */
2052
+ #line 230 "grammar.y" /* yacc.c:1652 */
2086
2053
  { (yyval.ndt) = mk_ellipsis_dim((yyvsp[-3].string), (yyvsp[0].ndt), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2087
- #line 2088 "grammar.c" /* yacc.c:1652 */
2054
+ #line 2055 "grammar.c" /* yacc.c:1652 */
2088
2055
  break;
2089
2056
 
2090
2057
  case 13:
2091
- #line 235 "grammar.y" /* yacc.c:1652 */
2058
+ #line 233 "grammar.y" /* yacc.c:1652 */
2092
2059
  { (yyval.ndt) = (yyvsp[0].ndt); }
2093
- #line 2094 "grammar.c" /* yacc.c:1652 */
2060
+ #line 2061 "grammar.c" /* yacc.c:1652 */
2094
2061
  break;
2095
2062
 
2096
2063
  case 14:
2097
- #line 236 "grammar.y" /* yacc.c:1652 */
2064
+ #line 234 "grammar.y" /* yacc.c:1652 */
2098
2065
  { (yyval.ndt) = (yyvsp[0].ndt); }
2099
- #line 2100 "grammar.c" /* yacc.c:1652 */
2066
+ #line 2067 "grammar.c" /* yacc.c:1652 */
2100
2067
  break;
2101
2068
 
2102
2069
  case 15:
2103
- #line 239 "grammar.y" /* yacc.c:1652 */
2070
+ #line 237 "grammar.y" /* yacc.c:1652 */
2104
2071
  { (yyval.ndt) = (yyvsp[0].ndt); }
2105
- #line 2106 "grammar.c" /* yacc.c:1652 */
2072
+ #line 2073 "grammar.c" /* yacc.c:1652 */
2106
2073
  break;
2107
2074
 
2108
2075
  case 16:
2109
- #line 240 "grammar.y" /* yacc.c:1652 */
2076
+ #line 238 "grammar.y" /* yacc.c:1652 */
2110
2077
  { (yyval.ndt) = mk_contig((yyvsp[-3].string), (ndt_t *)(yyvsp[-1].ndt), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2111
- #line 2112 "grammar.c" /* yacc.c:1652 */
2078
+ #line 2079 "grammar.c" /* yacc.c:1652 */
2112
2079
  break;
2113
2080
 
2114
2081
  case 17:
2115
- #line 241 "grammar.y" /* yacc.c:1652 */
2082
+ #line 239 "grammar.y" /* yacc.c:1652 */
2116
2083
  { (yyval.ndt) = mk_fortran((yyvsp[0].ndt), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2117
- #line 2118 "grammar.c" /* yacc.c:1652 */
2084
+ #line 2085 "grammar.c" /* yacc.c:1652 */
2118
2085
  break;
2119
2086
 
2120
2087
  case 18:
2121
- #line 244 "grammar.y" /* yacc.c:1652 */
2088
+ #line 242 "grammar.y" /* yacc.c:1652 */
2122
2089
  { (yyval.ndt) = mk_fixed_dim_from_shape((yyvsp[-2].string), (yyvsp[0].ndt), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2123
- #line 2124 "grammar.c" /* yacc.c:1652 */
2090
+ #line 2091 "grammar.c" /* yacc.c:1652 */
2124
2091
  break;
2125
2092
 
2126
2093
  case 19:
2127
- #line 245 "grammar.y" /* yacc.c:1652 */
2094
+ #line 243 "grammar.y" /* yacc.c:1652 */
2128
2095
  { (yyval.ndt) = mk_fixed_dim_from_attrs((yyvsp[-3].attribute_seq), (yyvsp[0].ndt), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2129
- #line 2130 "grammar.c" /* yacc.c:1652 */
2096
+ #line 2097 "grammar.c" /* yacc.c:1652 */
2130
2097
  break;
2131
2098
 
2132
2099
  case 20:
2133
- #line 246 "grammar.y" /* yacc.c:1652 */
2100
+ #line 244 "grammar.y" /* yacc.c:1652 */
2134
2101
  { (yyval.ndt) = mk_symbolic_dim((yyvsp[-2].string), (yyvsp[0].ndt), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2135
- #line 2136 "grammar.c" /* yacc.c:1652 */
2102
+ #line 2103 "grammar.c" /* yacc.c:1652 */
2136
2103
  break;
2137
2104
 
2138
2105
  case 21:
2139
- #line 247 "grammar.y" /* yacc.c:1652 */
2106
+ #line 245 "grammar.y" /* yacc.c:1652 */
2140
2107
  { (yyval.ndt) = mk_var_dim((yyvsp[-2].attribute_seq), (yyvsp[0].ndt), false, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2141
- #line 2142 "grammar.c" /* yacc.c:1652 */
2108
+ #line 2109 "grammar.c" /* yacc.c:1652 */
2142
2109
  break;
2143
2110
 
2144
2111
  case 22:
2145
- #line 248 "grammar.y" /* yacc.c:1652 */
2112
+ #line 246 "grammar.y" /* yacc.c:1652 */
2146
2113
  { (yyval.ndt) = mk_var_dim((yyvsp[-2].attribute_seq), (yyvsp[0].ndt), true, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2147
- #line 2148 "grammar.c" /* yacc.c:1652 */
2114
+ #line 2115 "grammar.c" /* yacc.c:1652 */
2148
2115
  break;
2149
2116
 
2150
2117
  case 23:
2151
- #line 252 "grammar.y" /* yacc.c:1652 */
2152
- { (yyval.ndt) = (yyvsp[0].ndt); }
2153
- #line 2154 "grammar.c" /* yacc.c:1652 */
2118
+ #line 247 "grammar.y" /* yacc.c:1652 */
2119
+ { (yyval.ndt) = mk_array((yyvsp[0].ndt), false, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2120
+ #line 2121 "grammar.c" /* yacc.c:1652 */
2154
2121
  break;
2155
2122
 
2156
2123
  case 24:
2157
- #line 253 "grammar.y" /* yacc.c:1652 */
2158
- { (yyval.ndt) = (yyvsp[0].ndt); }
2159
- #line 2160 "grammar.c" /* yacc.c:1652 */
2124
+ #line 248 "grammar.y" /* yacc.c:1652 */
2125
+ { (yyval.ndt) = mk_array((yyvsp[0].ndt), true, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2126
+ #line 2127 "grammar.c" /* yacc.c:1652 */
2160
2127
  break;
2161
2128
 
2162
2129
  case 25:
2163
- #line 256 "grammar.y" /* yacc.c:1652 */
2164
- { (yyval.ndt) = ndt_any_kind((yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2165
- #line 2166 "grammar.c" /* yacc.c:1652 */
2130
+ #line 251 "grammar.y" /* yacc.c:1652 */
2131
+ { (yyval.ndt) = (yyvsp[0].ndt); }
2132
+ #line 2133 "grammar.c" /* yacc.c:1652 */
2166
2133
  break;
2167
2134
 
2168
2135
  case 26:
2169
- #line 257 "grammar.y" /* yacc.c:1652 */
2170
- { (yyval.ndt) = ndt_scalar_kind((yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2171
- #line 2172 "grammar.c" /* yacc.c:1652 */
2136
+ #line 252 "grammar.y" /* yacc.c:1652 */
2137
+ { (yyval.ndt) = (yyvsp[0].ndt); }
2138
+ #line 2139 "grammar.c" /* yacc.c:1652 */
2172
2139
  break;
2173
2140
 
2174
2141
  case 27:
2175
- #line 258 "grammar.y" /* yacc.c:1652 */
2176
- { (yyval.ndt) = (yyvsp[0].ndt); }
2177
- #line 2178 "grammar.c" /* yacc.c:1652 */
2142
+ #line 255 "grammar.y" /* yacc.c:1652 */
2143
+ { (yyval.ndt) = ndt_any_kind((yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2144
+ #line 2145 "grammar.c" /* yacc.c:1652 */
2178
2145
  break;
2179
2146
 
2180
2147
  case 28:
2181
- #line 259 "grammar.y" /* yacc.c:1652 */
2182
- { (yyval.ndt) = (yyvsp[0].ndt); }
2183
- #line 2184 "grammar.c" /* yacc.c:1652 */
2148
+ #line 256 "grammar.y" /* yacc.c:1652 */
2149
+ { (yyval.ndt) = ndt_scalar_kind((yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2150
+ #line 2151 "grammar.c" /* yacc.c:1652 */
2184
2151
  break;
2185
2152
 
2186
2153
  case 29:
2187
- #line 260 "grammar.y" /* yacc.c:1652 */
2154
+ #line 257 "grammar.y" /* yacc.c:1652 */
2188
2155
  { (yyval.ndt) = (yyvsp[0].ndt); }
2189
- #line 2190 "grammar.c" /* yacc.c:1652 */
2156
+ #line 2157 "grammar.c" /* yacc.c:1652 */
2190
2157
  break;
2191
2158
 
2192
2159
  case 30:
2193
- #line 261 "grammar.y" /* yacc.c:1652 */
2160
+ #line 258 "grammar.y" /* yacc.c:1652 */
2194
2161
  { (yyval.ndt) = (yyvsp[0].ndt); }
2195
- #line 2196 "grammar.c" /* yacc.c:1652 */
2162
+ #line 2163 "grammar.c" /* yacc.c:1652 */
2196
2163
  break;
2197
2164
 
2198
2165
  case 31:
2199
- #line 262 "grammar.y" /* yacc.c:1652 */
2200
- { (yyval.ndt) = ndt_nominal((yyvsp[0].string), NULL, false, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2201
- #line 2202 "grammar.c" /* yacc.c:1652 */
2166
+ #line 259 "grammar.y" /* yacc.c:1652 */
2167
+ { (yyval.ndt) = (yyvsp[0].ndt); }
2168
+ #line 2169 "grammar.c" /* yacc.c:1652 */
2202
2169
  break;
2203
2170
 
2204
2171
  case 32:
2205
- #line 263 "grammar.y" /* yacc.c:1652 */
2206
- { (yyval.ndt) = ndt_nominal((yyvsp[0].string), NULL, true, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2207
- #line 2208 "grammar.c" /* yacc.c:1652 */
2172
+ #line 260 "grammar.y" /* yacc.c:1652 */
2173
+ { (yyval.ndt) = (yyvsp[0].ndt); }
2174
+ #line 2175 "grammar.c" /* yacc.c:1652 */
2208
2175
  break;
2209
2176
 
2210
2177
  case 33:
2211
- #line 264 "grammar.y" /* yacc.c:1652 */
2212
- { (yyval.ndt) = mk_constr((yyvsp[-3].string), (yyvsp[-1].ndt), false, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2213
- #line 2214 "grammar.c" /* yacc.c:1652 */
2178
+ #line 261 "grammar.y" /* yacc.c:1652 */
2179
+ { (yyval.ndt) = ndt_nominal((yyvsp[0].string), NULL, false, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2180
+ #line 2181 "grammar.c" /* yacc.c:1652 */
2214
2181
  break;
2215
2182
 
2216
2183
  case 34:
2217
- #line 265 "grammar.y" /* yacc.c:1652 */
2218
- { (yyval.ndt) = mk_constr((yyvsp[-3].string), (yyvsp[-1].ndt), true, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2219
- #line 2220 "grammar.c" /* yacc.c:1652 */
2184
+ #line 262 "grammar.y" /* yacc.c:1652 */
2185
+ { (yyval.ndt) = ndt_nominal((yyvsp[0].string), NULL, true, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2186
+ #line 2187 "grammar.c" /* yacc.c:1652 */
2220
2187
  break;
2221
2188
 
2222
2189
  case 35:
2223
- #line 266 "grammar.y" /* yacc.c:1652 */
2224
- { (yyval.ndt) = ndt_typevar((yyvsp[0].string), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2225
- #line 2226 "grammar.c" /* yacc.c:1652 */
2190
+ #line 263 "grammar.y" /* yacc.c:1652 */
2191
+ { (yyval.ndt) = mk_constr((yyvsp[-3].string), (yyvsp[-1].ndt), false, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2192
+ #line 2193 "grammar.c" /* yacc.c:1652 */
2226
2193
  break;
2227
2194
 
2228
2195
  case 36:
2229
- #line 269 "grammar.y" /* yacc.c:1652 */
2230
- { (yyval.ndt) = ndt_primitive(Bool, (yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2231
- #line 2232 "grammar.c" /* yacc.c:1652 */
2196
+ #line 264 "grammar.y" /* yacc.c:1652 */
2197
+ { (yyval.ndt) = mk_constr((yyvsp[-3].string), (yyvsp[-1].ndt), true, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2198
+ #line 2199 "grammar.c" /* yacc.c:1652 */
2232
2199
  break;
2233
2200
 
2234
2201
  case 37:
2235
- #line 270 "grammar.y" /* yacc.c:1652 */
2236
- { (yyval.ndt) = ndt_signed_kind((yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2237
- #line 2238 "grammar.c" /* yacc.c:1652 */
2202
+ #line 265 "grammar.y" /* yacc.c:1652 */
2203
+ { (yyval.ndt) = ndt_typevar((yyvsp[0].string), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2204
+ #line 2205 "grammar.c" /* yacc.c:1652 */
2238
2205
  break;
2239
2206
 
2240
2207
  case 38:
2241
- #line 271 "grammar.y" /* yacc.c:1652 */
2242
- { (yyval.ndt) = ndt_primitive((yyvsp[0].tag), (yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2243
- #line 2244 "grammar.c" /* yacc.c:1652 */
2208
+ #line 268 "grammar.y" /* yacc.c:1652 */
2209
+ { (yyval.ndt) = ndt_primitive(Bool, (yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2210
+ #line 2211 "grammar.c" /* yacc.c:1652 */
2244
2211
  break;
2245
2212
 
2246
2213
  case 39:
2247
- #line 272 "grammar.y" /* yacc.c:1652 */
2248
- { (yyval.ndt) = ndt_unsigned_kind((yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2249
- #line 2250 "grammar.c" /* yacc.c:1652 */
2214
+ #line 269 "grammar.y" /* yacc.c:1652 */
2215
+ { (yyval.ndt) = ndt_signed_kind((yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2216
+ #line 2217 "grammar.c" /* yacc.c:1652 */
2250
2217
  break;
2251
2218
 
2252
2219
  case 40:
2253
- #line 273 "grammar.y" /* yacc.c:1652 */
2220
+ #line 270 "grammar.y" /* yacc.c:1652 */
2254
2221
  { (yyval.ndt) = ndt_primitive((yyvsp[0].tag), (yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2255
- #line 2256 "grammar.c" /* yacc.c:1652 */
2222
+ #line 2223 "grammar.c" /* yacc.c:1652 */
2256
2223
  break;
2257
2224
 
2258
2225
  case 41:
2259
- #line 274 "grammar.y" /* yacc.c:1652 */
2260
- { (yyval.ndt) = ndt_float_kind((yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2261
- #line 2262 "grammar.c" /* yacc.c:1652 */
2226
+ #line 271 "grammar.y" /* yacc.c:1652 */
2227
+ { (yyval.ndt) = ndt_unsigned_kind((yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2228
+ #line 2229 "grammar.c" /* yacc.c:1652 */
2262
2229
  break;
2263
2230
 
2264
2231
  case 42:
2265
- #line 275 "grammar.y" /* yacc.c:1652 */
2266
- { (yyval.ndt) = ndt_primitive(BFloat16, (yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2267
- #line 2268 "grammar.c" /* yacc.c:1652 */
2232
+ #line 272 "grammar.y" /* yacc.c:1652 */
2233
+ { (yyval.ndt) = ndt_primitive((yyvsp[0].tag), (yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2234
+ #line 2235 "grammar.c" /* yacc.c:1652 */
2268
2235
  break;
2269
2236
 
2270
2237
  case 43:
2271
- #line 276 "grammar.y" /* yacc.c:1652 */
2272
- { (yyval.ndt) = ndt_primitive((yyvsp[0].tag), (yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2273
- #line 2274 "grammar.c" /* yacc.c:1652 */
2238
+ #line 273 "grammar.y" /* yacc.c:1652 */
2239
+ { (yyval.ndt) = ndt_float_kind((yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2240
+ #line 2241 "grammar.c" /* yacc.c:1652 */
2274
2241
  break;
2275
2242
 
2276
2243
  case 44:
2277
- #line 277 "grammar.y" /* yacc.c:1652 */
2278
- { (yyval.ndt) = ndt_complex_kind((yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2279
- #line 2280 "grammar.c" /* yacc.c:1652 */
2244
+ #line 274 "grammar.y" /* yacc.c:1652 */
2245
+ { (yyval.ndt) = ndt_primitive(BFloat16, (yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2246
+ #line 2247 "grammar.c" /* yacc.c:1652 */
2280
2247
  break;
2281
2248
 
2282
2249
  case 45:
2283
- #line 278 "grammar.y" /* yacc.c:1652 */
2284
- { (yyval.ndt) = ndt_primitive(BComplex32, (yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2285
- #line 2286 "grammar.c" /* yacc.c:1652 */
2250
+ #line 275 "grammar.y" /* yacc.c:1652 */
2251
+ { (yyval.ndt) = ndt_primitive((yyvsp[0].tag), (yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2252
+ #line 2253 "grammar.c" /* yacc.c:1652 */
2286
2253
  break;
2287
2254
 
2288
2255
  case 46:
2289
- #line 279 "grammar.y" /* yacc.c:1652 */
2290
- { (yyval.ndt) = ndt_primitive((yyvsp[0].tag), (yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2291
- #line 2292 "grammar.c" /* yacc.c:1652 */
2256
+ #line 276 "grammar.y" /* yacc.c:1652 */
2257
+ { (yyval.ndt) = ndt_complex_kind((yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2258
+ #line 2259 "grammar.c" /* yacc.c:1652 */
2292
2259
  break;
2293
2260
 
2294
2261
  case 47:
2295
- #line 280 "grammar.y" /* yacc.c:1652 */
2296
- { (yyval.ndt) = ndt_from_alias((yyvsp[0].alias), (yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2297
- #line 2298 "grammar.c" /* yacc.c:1652 */
2262
+ #line 277 "grammar.y" /* yacc.c:1652 */
2263
+ { (yyval.ndt) = ndt_primitive(BComplex32, (yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2264
+ #line 2265 "grammar.c" /* yacc.c:1652 */
2298
2265
  break;
2299
2266
 
2300
2267
  case 48:
2301
- #line 281 "grammar.y" /* yacc.c:1652 */
2302
- { (yyval.ndt) = (yyvsp[0].ndt); }
2303
- #line 2304 "grammar.c" /* yacc.c:1652 */
2268
+ #line 278 "grammar.y" /* yacc.c:1652 */
2269
+ { (yyval.ndt) = ndt_primitive((yyvsp[0].tag), (yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2270
+ #line 2271 "grammar.c" /* yacc.c:1652 */
2304
2271
  break;
2305
2272
 
2306
2273
  case 49:
2307
- #line 282 "grammar.y" /* yacc.c:1652 */
2308
- { (yyval.ndt) = (yyvsp[0].ndt); }
2309
- #line 2310 "grammar.c" /* yacc.c:1652 */
2274
+ #line 279 "grammar.y" /* yacc.c:1652 */
2275
+ { (yyval.ndt) = ndt_from_alias((yyvsp[0].alias), (yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2276
+ #line 2277 "grammar.c" /* yacc.c:1652 */
2310
2277
  break;
2311
2278
 
2312
2279
  case 50:
2313
- #line 283 "grammar.y" /* yacc.c:1652 */
2314
- { (yyval.ndt) = ndt_fixed_string_kind((yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2315
- #line 2316 "grammar.c" /* yacc.c:1652 */
2280
+ #line 280 "grammar.y" /* yacc.c:1652 */
2281
+ { (yyval.ndt) = (yyvsp[0].ndt); }
2282
+ #line 2283 "grammar.c" /* yacc.c:1652 */
2316
2283
  break;
2317
2284
 
2318
2285
  case 51:
2319
- #line 284 "grammar.y" /* yacc.c:1652 */
2286
+ #line 281 "grammar.y" /* yacc.c:1652 */
2320
2287
  { (yyval.ndt) = (yyvsp[0].ndt); }
2321
- #line 2322 "grammar.c" /* yacc.c:1652 */
2288
+ #line 2289 "grammar.c" /* yacc.c:1652 */
2322
2289
  break;
2323
2290
 
2324
2291
  case 52:
2325
- #line 285 "grammar.y" /* yacc.c:1652 */
2326
- { (yyval.ndt) = (yyvsp[0].ndt); }
2327
- #line 2328 "grammar.c" /* yacc.c:1652 */
2292
+ #line 282 "grammar.y" /* yacc.c:1652 */
2293
+ { (yyval.ndt) = ndt_fixed_string_kind((yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2294
+ #line 2295 "grammar.c" /* yacc.c:1652 */
2328
2295
  break;
2329
2296
 
2330
2297
  case 53:
2331
- #line 286 "grammar.y" /* yacc.c:1652 */
2332
- { (yyval.ndt) = ndt_fixed_bytes_kind((yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2333
- #line 2334 "grammar.c" /* yacc.c:1652 */
2298
+ #line 283 "grammar.y" /* yacc.c:1652 */
2299
+ { (yyval.ndt) = (yyvsp[0].ndt); }
2300
+ #line 2301 "grammar.c" /* yacc.c:1652 */
2334
2301
  break;
2335
2302
 
2336
2303
  case 54:
2337
- #line 287 "grammar.y" /* yacc.c:1652 */
2304
+ #line 284 "grammar.y" /* yacc.c:1652 */
2338
2305
  { (yyval.ndt) = (yyvsp[0].ndt); }
2339
- #line 2340 "grammar.c" /* yacc.c:1652 */
2306
+ #line 2307 "grammar.c" /* yacc.c:1652 */
2340
2307
  break;
2341
2308
 
2342
2309
  case 55:
2343
- #line 288 "grammar.y" /* yacc.c:1652 */
2344
- { (yyval.ndt) = (yyvsp[0].ndt); }
2345
- #line 2346 "grammar.c" /* yacc.c:1652 */
2310
+ #line 285 "grammar.y" /* yacc.c:1652 */
2311
+ { (yyval.ndt) = ndt_fixed_bytes_kind((yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2312
+ #line 2313 "grammar.c" /* yacc.c:1652 */
2346
2313
  break;
2347
2314
 
2348
2315
  case 56:
2349
- #line 289 "grammar.y" /* yacc.c:1652 */
2316
+ #line 286 "grammar.y" /* yacc.c:1652 */
2350
2317
  { (yyval.ndt) = (yyvsp[0].ndt); }
2351
- #line 2352 "grammar.c" /* yacc.c:1652 */
2318
+ #line 2319 "grammar.c" /* yacc.c:1652 */
2352
2319
  break;
2353
2320
 
2354
2321
  case 57:
2355
- #line 292 "grammar.y" /* yacc.c:1652 */
2356
- { (yyval.tag) = Int8; }
2357
- #line 2358 "grammar.c" /* yacc.c:1652 */
2322
+ #line 287 "grammar.y" /* yacc.c:1652 */
2323
+ { (yyval.ndt) = (yyvsp[0].ndt); }
2324
+ #line 2325 "grammar.c" /* yacc.c:1652 */
2358
2325
  break;
2359
2326
 
2360
2327
  case 58:
2361
- #line 293 "grammar.y" /* yacc.c:1652 */
2362
- { (yyval.tag) = Int16; }
2363
- #line 2364 "grammar.c" /* yacc.c:1652 */
2328
+ #line 288 "grammar.y" /* yacc.c:1652 */
2329
+ { (yyval.ndt) = (yyvsp[0].ndt); }
2330
+ #line 2331 "grammar.c" /* yacc.c:1652 */
2364
2331
  break;
2365
2332
 
2366
2333
  case 59:
2367
- #line 294 "grammar.y" /* yacc.c:1652 */
2368
- { (yyval.tag) = Int32; }
2369
- #line 2370 "grammar.c" /* yacc.c:1652 */
2334
+ #line 291 "grammar.y" /* yacc.c:1652 */
2335
+ { (yyval.tag) = Int8; }
2336
+ #line 2337 "grammar.c" /* yacc.c:1652 */
2370
2337
  break;
2371
2338
 
2372
2339
  case 60:
2373
- #line 295 "grammar.y" /* yacc.c:1652 */
2374
- { (yyval.tag) = Int64; }
2375
- #line 2376 "grammar.c" /* yacc.c:1652 */
2340
+ #line 292 "grammar.y" /* yacc.c:1652 */
2341
+ { (yyval.tag) = Int16; }
2342
+ #line 2343 "grammar.c" /* yacc.c:1652 */
2376
2343
  break;
2377
2344
 
2378
2345
  case 61:
2379
- #line 298 "grammar.y" /* yacc.c:1652 */
2380
- { (yyval.tag) = Uint8; }
2381
- #line 2382 "grammar.c" /* yacc.c:1652 */
2346
+ #line 293 "grammar.y" /* yacc.c:1652 */
2347
+ { (yyval.tag) = Int32; }
2348
+ #line 2349 "grammar.c" /* yacc.c:1652 */
2382
2349
  break;
2383
2350
 
2384
2351
  case 62:
2385
- #line 299 "grammar.y" /* yacc.c:1652 */
2386
- { (yyval.tag) = Uint16; }
2387
- #line 2388 "grammar.c" /* yacc.c:1652 */
2352
+ #line 294 "grammar.y" /* yacc.c:1652 */
2353
+ { (yyval.tag) = Int64; }
2354
+ #line 2355 "grammar.c" /* yacc.c:1652 */
2388
2355
  break;
2389
2356
 
2390
2357
  case 63:
2391
- #line 300 "grammar.y" /* yacc.c:1652 */
2392
- { (yyval.tag) = Uint32; }
2393
- #line 2394 "grammar.c" /* yacc.c:1652 */
2358
+ #line 297 "grammar.y" /* yacc.c:1652 */
2359
+ { (yyval.tag) = Uint8; }
2360
+ #line 2361 "grammar.c" /* yacc.c:1652 */
2394
2361
  break;
2395
2362
 
2396
2363
  case 64:
2397
- #line 301 "grammar.y" /* yacc.c:1652 */
2398
- { (yyval.tag) = Uint64; }
2399
- #line 2400 "grammar.c" /* yacc.c:1652 */
2364
+ #line 298 "grammar.y" /* yacc.c:1652 */
2365
+ { (yyval.tag) = Uint16; }
2366
+ #line 2367 "grammar.c" /* yacc.c:1652 */
2400
2367
  break;
2401
2368
 
2402
2369
  case 65:
2403
- #line 304 "grammar.y" /* yacc.c:1652 */
2404
- { (yyval.tag) = Float16; }
2405
- #line 2406 "grammar.c" /* yacc.c:1652 */
2370
+ #line 299 "grammar.y" /* yacc.c:1652 */
2371
+ { (yyval.tag) = Uint32; }
2372
+ #line 2373 "grammar.c" /* yacc.c:1652 */
2406
2373
  break;
2407
2374
 
2408
2375
  case 66:
2409
- #line 305 "grammar.y" /* yacc.c:1652 */
2410
- { (yyval.tag) = Float32; }
2411
- #line 2412 "grammar.c" /* yacc.c:1652 */
2376
+ #line 300 "grammar.y" /* yacc.c:1652 */
2377
+ { (yyval.tag) = Uint64; }
2378
+ #line 2379 "grammar.c" /* yacc.c:1652 */
2412
2379
  break;
2413
2380
 
2414
2381
  case 67:
2415
- #line 306 "grammar.y" /* yacc.c:1652 */
2416
- { (yyval.tag) = Float64; }
2417
- #line 2418 "grammar.c" /* yacc.c:1652 */
2382
+ #line 303 "grammar.y" /* yacc.c:1652 */
2383
+ { (yyval.tag) = Float16; }
2384
+ #line 2385 "grammar.c" /* yacc.c:1652 */
2418
2385
  break;
2419
2386
 
2420
2387
  case 68:
2421
- #line 309 "grammar.y" /* yacc.c:1652 */
2422
- { (yyval.tag) = Complex32; }
2423
- #line 2424 "grammar.c" /* yacc.c:1652 */
2388
+ #line 304 "grammar.y" /* yacc.c:1652 */
2389
+ { (yyval.tag) = Float32; }
2390
+ #line 2391 "grammar.c" /* yacc.c:1652 */
2424
2391
  break;
2425
2392
 
2426
2393
  case 69:
2427
- #line 310 "grammar.y" /* yacc.c:1652 */
2428
- { (yyval.tag) = Complex64; }
2429
- #line 2430 "grammar.c" /* yacc.c:1652 */
2394
+ #line 305 "grammar.y" /* yacc.c:1652 */
2395
+ { (yyval.tag) = Float64; }
2396
+ #line 2397 "grammar.c" /* yacc.c:1652 */
2430
2397
  break;
2431
2398
 
2432
2399
  case 70:
2433
- #line 311 "grammar.y" /* yacc.c:1652 */
2434
- { (yyval.tag) = Complex128; }
2435
- #line 2436 "grammar.c" /* yacc.c:1652 */
2400
+ #line 308 "grammar.y" /* yacc.c:1652 */
2401
+ { (yyval.tag) = Complex32; }
2402
+ #line 2403 "grammar.c" /* yacc.c:1652 */
2436
2403
  break;
2437
2404
 
2438
2405
  case 71:
2439
- #line 315 "grammar.y" /* yacc.c:1652 */
2440
- { (yyval.alias) = Intptr; }
2441
- #line 2442 "grammar.c" /* yacc.c:1652 */
2406
+ #line 309 "grammar.y" /* yacc.c:1652 */
2407
+ { (yyval.tag) = Complex64; }
2408
+ #line 2409 "grammar.c" /* yacc.c:1652 */
2442
2409
  break;
2443
2410
 
2444
2411
  case 72:
2445
- #line 316 "grammar.y" /* yacc.c:1652 */
2446
- { (yyval.alias) = Uintptr; }
2447
- #line 2448 "grammar.c" /* yacc.c:1652 */
2412
+ #line 310 "grammar.y" /* yacc.c:1652 */
2413
+ { (yyval.tag) = Complex128; }
2414
+ #line 2415 "grammar.c" /* yacc.c:1652 */
2448
2415
  break;
2449
2416
 
2450
2417
  case 73:
2451
- #line 317 "grammar.y" /* yacc.c:1652 */
2452
- { (yyval.alias) = Size; }
2453
- #line 2454 "grammar.c" /* yacc.c:1652 */
2418
+ #line 314 "grammar.y" /* yacc.c:1652 */
2419
+ { (yyval.alias) = Intptr; }
2420
+ #line 2421 "grammar.c" /* yacc.c:1652 */
2454
2421
  break;
2455
2422
 
2456
2423
  case 74:
2457
- #line 320 "grammar.y" /* yacc.c:1652 */
2458
- { (yyval.ndt) = ndt_char(Utf32, (yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2459
- #line 2460 "grammar.c" /* yacc.c:1652 */
2424
+ #line 315 "grammar.y" /* yacc.c:1652 */
2425
+ { (yyval.alias) = Uintptr; }
2426
+ #line 2427 "grammar.c" /* yacc.c:1652 */
2460
2427
  break;
2461
2428
 
2462
2429
  case 75:
2463
- #line 321 "grammar.y" /* yacc.c:1652 */
2464
- { (yyval.ndt) = ndt_char((yyvsp[-1].encoding), (yyvsp[-4].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2465
- #line 2466 "grammar.c" /* yacc.c:1652 */
2430
+ #line 316 "grammar.y" /* yacc.c:1652 */
2431
+ { (yyval.alias) = Size; }
2432
+ #line 2433 "grammar.c" /* yacc.c:1652 */
2466
2433
  break;
2467
2434
 
2468
2435
  case 76:
2469
- #line 324 "grammar.y" /* yacc.c:1652 */
2470
- { (yyval.ndt) = ndt_string((yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2471
- #line 2472 "grammar.c" /* yacc.c:1652 */
2436
+ #line 319 "grammar.y" /* yacc.c:1652 */
2437
+ { (yyval.ndt) = ndt_char(Utf32, (yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2438
+ #line 2439 "grammar.c" /* yacc.c:1652 */
2472
2439
  break;
2473
2440
 
2474
2441
  case 77:
2475
- #line 327 "grammar.y" /* yacc.c:1652 */
2476
- { (yyval.ndt) = mk_fixed_string((yyvsp[-1].string), Utf8, (yyvsp[-4].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2477
- #line 2478 "grammar.c" /* yacc.c:1652 */
2442
+ #line 320 "grammar.y" /* yacc.c:1652 */
2443
+ { (yyval.ndt) = ndt_char((yyvsp[-1].encoding), (yyvsp[-4].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2444
+ #line 2445 "grammar.c" /* yacc.c:1652 */
2478
2445
  break;
2479
2446
 
2480
2447
  case 78:
2481
- #line 328 "grammar.y" /* yacc.c:1652 */
2482
- { (yyval.ndt) = mk_fixed_string((yyvsp[-3].string), (yyvsp[-1].encoding), (yyvsp[-6].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2483
- #line 2484 "grammar.c" /* yacc.c:1652 */
2448
+ #line 323 "grammar.y" /* yacc.c:1652 */
2449
+ { (yyval.ndt) = ndt_string((yyvsp[-1].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2450
+ #line 2451 "grammar.c" /* yacc.c:1652 */
2484
2451
  break;
2485
2452
 
2486
2453
  case 79:
2487
- #line 331 "grammar.y" /* yacc.c:1652 */
2488
- { (yyval.uint32) = (yyvsp[-1].uint32) | (yyvsp[0].uint32); }
2489
- #line 2490 "grammar.c" /* yacc.c:1652 */
2454
+ #line 326 "grammar.y" /* yacc.c:1652 */
2455
+ { (yyval.ndt) = mk_fixed_string((yyvsp[-1].string), Utf8, (yyvsp[-4].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2456
+ #line 2457 "grammar.c" /* yacc.c:1652 */
2490
2457
  break;
2491
2458
 
2492
2459
  case 80:
2493
- #line 334 "grammar.y" /* yacc.c:1652 */
2494
- { (yyval.uint32) = 0; }
2495
- #line 2496 "grammar.c" /* yacc.c:1652 */
2460
+ #line 327 "grammar.y" /* yacc.c:1652 */
2461
+ { (yyval.ndt) = mk_fixed_string((yyvsp[-3].string), (yyvsp[-1].encoding), (yyvsp[-6].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2462
+ #line 2463 "grammar.c" /* yacc.c:1652 */
2496
2463
  break;
2497
2464
 
2498
2465
  case 81:
2499
- #line 335 "grammar.y" /* yacc.c:1652 */
2500
- { (yyval.uint32) = NDT_OPTION; }
2501
- #line 2502 "grammar.c" /* yacc.c:1652 */
2466
+ #line 330 "grammar.y" /* yacc.c:1652 */
2467
+ { (yyval.uint32) = (yyvsp[-1].uint32) | (yyvsp[0].uint32); }
2468
+ #line 2469 "grammar.c" /* yacc.c:1652 */
2502
2469
  break;
2503
2470
 
2504
2471
  case 82:
2505
- #line 338 "grammar.y" /* yacc.c:1652 */
2472
+ #line 333 "grammar.y" /* yacc.c:1652 */
2506
2473
  { (yyval.uint32) = 0; }
2507
- #line 2508 "grammar.c" /* yacc.c:1652 */
2474
+ #line 2475 "grammar.c" /* yacc.c:1652 */
2508
2475
  break;
2509
2476
 
2510
2477
  case 83:
2511
- #line 339 "grammar.y" /* yacc.c:1652 */
2512
- { (yyval.uint32) = NDT_SYS_BIG_ENDIAN ? NDT_BIG_ENDIAN : NDT_LITTLE_ENDIAN; }
2513
- #line 2514 "grammar.c" /* yacc.c:1652 */
2478
+ #line 334 "grammar.y" /* yacc.c:1652 */
2479
+ { (yyval.uint32) = NDT_OPTION; }
2480
+ #line 2481 "grammar.c" /* yacc.c:1652 */
2514
2481
  break;
2515
2482
 
2516
2483
  case 84:
2517
- #line 340 "grammar.y" /* yacc.c:1652 */
2518
- { (yyval.uint32) = NDT_LITTLE_ENDIAN; }
2519
- #line 2520 "grammar.c" /* yacc.c:1652 */
2484
+ #line 337 "grammar.y" /* yacc.c:1652 */
2485
+ { (yyval.uint32) = 0; }
2486
+ #line 2487 "grammar.c" /* yacc.c:1652 */
2520
2487
  break;
2521
2488
 
2522
2489
  case 85:
2523
- #line 341 "grammar.y" /* yacc.c:1652 */
2524
- { (yyval.uint32) = NDT_BIG_ENDIAN; }
2525
- #line 2526 "grammar.c" /* yacc.c:1652 */
2490
+ #line 338 "grammar.y" /* yacc.c:1652 */
2491
+ { (yyval.uint32) = NDT_SYS_BIG_ENDIAN ? NDT_BIG_ENDIAN : NDT_LITTLE_ENDIAN; }
2492
+ #line 2493 "grammar.c" /* yacc.c:1652 */
2526
2493
  break;
2527
2494
 
2528
2495
  case 86:
2529
- #line 342 "grammar.y" /* yacc.c:1652 */
2530
- { (yyval.uint32) = 0; }
2531
- #line 2532 "grammar.c" /* yacc.c:1652 */
2496
+ #line 339 "grammar.y" /* yacc.c:1652 */
2497
+ { (yyval.uint32) = NDT_LITTLE_ENDIAN; }
2498
+ #line 2499 "grammar.c" /* yacc.c:1652 */
2532
2499
  break;
2533
2500
 
2534
2501
  case 87:
2535
- #line 345 "grammar.y" /* yacc.c:1652 */
2536
- { (yyval.encoding) = encoding_from_string((yyvsp[0].string), ctx); if (ndt_err_occurred(ctx)) YYABORT; }
2537
- #line 2538 "grammar.c" /* yacc.c:1652 */
2502
+ #line 340 "grammar.y" /* yacc.c:1652 */
2503
+ { (yyval.uint32) = NDT_BIG_ENDIAN; }
2504
+ #line 2505 "grammar.c" /* yacc.c:1652 */
2538
2505
  break;
2539
2506
 
2540
2507
  case 88:
2541
- #line 348 "grammar.y" /* yacc.c:1652 */
2542
- { (yyval.ndt) = mk_bytes((yyvsp[0].attribute_seq), (yyvsp[-2].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2543
- #line 2544 "grammar.c" /* yacc.c:1652 */
2508
+ #line 341 "grammar.y" /* yacc.c:1652 */
2509
+ { (yyval.uint32) = 0; }
2510
+ #line 2511 "grammar.c" /* yacc.c:1652 */
2544
2511
  break;
2545
2512
 
2546
2513
  case 89:
2547
- #line 351 "grammar.y" /* yacc.c:1652 */
2548
- { (yyval.ndt) = (yyvsp[0].ndt); }
2549
- #line 2550 "grammar.c" /* yacc.c:1652 */
2514
+ #line 344 "grammar.y" /* yacc.c:1652 */
2515
+ { (yyval.encoding) = encoding_from_string((yyvsp[0].string), ctx); if (ndt_err_occurred(ctx)) YYABORT; }
2516
+ #line 2517 "grammar.c" /* yacc.c:1652 */
2550
2517
  break;
2551
2518
 
2552
2519
  case 90:
2553
- #line 352 "grammar.y" /* yacc.c:1652 */
2554
- { (yyval.ndt) = mk_array_ellipsis((yyvsp[0].ndt), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2555
- #line 2556 "grammar.c" /* yacc.c:1652 */
2520
+ #line 347 "grammar.y" /* yacc.c:1652 */
2521
+ { (yyval.ndt) = mk_bytes((yyvsp[0].attribute_seq), (yyvsp[-2].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2522
+ #line 2523 "grammar.c" /* yacc.c:1652 */
2556
2523
  break;
2557
2524
 
2558
2525
  case 91:
2559
- #line 353 "grammar.y" /* yacc.c:1652 */
2560
- { (yyval.ndt) = mk_array_ellipsis((yyvsp[0].ndt), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2561
- #line 2562 "grammar.c" /* yacc.c:1652 */
2526
+ #line 350 "grammar.y" /* yacc.c:1652 */
2527
+ { (yyval.ndt) = mk_fixed_bytes((yyvsp[-1].attribute_seq), (yyvsp[-4].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2528
+ #line 2529 "grammar.c" /* yacc.c:1652 */
2562
2529
  break;
2563
2530
 
2564
2531
  case 92:
2565
- #line 356 "grammar.y" /* yacc.c:1652 */
2566
- { (yyval.ndt) = mk_array((yyvsp[0].ndt), (yyvsp[-3].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2567
- #line 2568 "grammar.c" /* yacc.c:1652 */
2532
+ #line 353 "grammar.y" /* yacc.c:1652 */
2533
+ { (yyval.ndt) = mk_ref((yyvsp[-1].ndt), (yyvsp[-4].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2534
+ #line 2535 "grammar.c" /* yacc.c:1652 */
2568
2535
  break;
2569
2536
 
2570
2537
  case 93:
2571
- #line 357 "grammar.y" /* yacc.c:1652 */
2572
- { (yyval.ndt) = mk_array((yyvsp[0].ndt), (yyvsp[-3].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2573
- #line 2574 "grammar.c" /* yacc.c:1652 */
2538
+ #line 354 "grammar.y" /* yacc.c:1652 */
2539
+ { (yyval.ndt) = mk_ref((yyvsp[0].ndt), (yyvsp[-2].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2540
+ #line 2541 "grammar.c" /* yacc.c:1652 */
2574
2541
  break;
2575
2542
 
2576
2543
  case 94:
2577
- #line 360 "grammar.y" /* yacc.c:1652 */
2578
- { (yyval.ndt) = mk_fixed_bytes((yyvsp[-1].attribute_seq), (yyvsp[-4].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2579
- #line 2580 "grammar.c" /* yacc.c:1652 */
2544
+ #line 357 "grammar.y" /* yacc.c:1652 */
2545
+ { (yyval.ndt) = mk_categorical((yyvsp[-1].typed_value_seq), (yyvsp[-4].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2546
+ #line 2547 "grammar.c" /* yacc.c:1652 */
2580
2547
  break;
2581
2548
 
2582
2549
  case 95:
2583
- #line 363 "grammar.y" /* yacc.c:1652 */
2584
- { (yyval.ndt) = mk_ref((yyvsp[-1].ndt), (yyvsp[-4].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2585
- #line 2586 "grammar.c" /* yacc.c:1652 */
2550
+ #line 360 "grammar.y" /* yacc.c:1652 */
2551
+ { (yyval.typed_value_seq) = ndt_value_seq_new((yyvsp[0].typed_value), ctx); if ((yyval.typed_value_seq) == NULL) YYABORT; }
2552
+ #line 2553 "grammar.c" /* yacc.c:1652 */
2586
2553
  break;
2587
2554
 
2588
2555
  case 96:
2589
- #line 364 "grammar.y" /* yacc.c:1652 */
2590
- { (yyval.ndt) = mk_ref((yyvsp[0].ndt), (yyvsp[-2].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2591
- #line 2592 "grammar.c" /* yacc.c:1652 */
2556
+ #line 361 "grammar.y" /* yacc.c:1652 */
2557
+ { (yyval.typed_value_seq) = ndt_value_seq_append((yyvsp[-2].typed_value_seq), (yyvsp[0].typed_value), ctx); if ((yyval.typed_value_seq) == NULL) YYABORT; }
2558
+ #line 2559 "grammar.c" /* yacc.c:1652 */
2592
2559
  break;
2593
2560
 
2594
2561
  case 97:
2595
- #line 367 "grammar.y" /* yacc.c:1652 */
2596
- { (yyval.ndt) = mk_categorical((yyvsp[-1].typed_value_seq), (yyvsp[-4].uint32), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2597
- #line 2598 "grammar.c" /* yacc.c:1652 */
2562
+ #line 364 "grammar.y" /* yacc.c:1652 */
2563
+ { (yyval.typed_value) = ndt_value_from_number(ValInt64, (yyvsp[0].string), ctx); if ((yyval.typed_value) == NULL) YYABORT; }
2564
+ #line 2565 "grammar.c" /* yacc.c:1652 */
2598
2565
  break;
2599
2566
 
2600
2567
  case 98:
2601
- #line 370 "grammar.y" /* yacc.c:1652 */
2602
- { (yyval.typed_value_seq) = ndt_value_seq_new((yyvsp[0].typed_value), ctx); if ((yyval.typed_value_seq) == NULL) YYABORT; }
2603
- #line 2604 "grammar.c" /* yacc.c:1652 */
2568
+ #line 365 "grammar.y" /* yacc.c:1652 */
2569
+ { (yyval.typed_value) = ndt_value_from_number(ValFloat64, (yyvsp[0].string), ctx); if ((yyval.typed_value) == NULL) YYABORT; }
2570
+ #line 2571 "grammar.c" /* yacc.c:1652 */
2604
2571
  break;
2605
2572
 
2606
2573
  case 99:
2607
- #line 371 "grammar.y" /* yacc.c:1652 */
2608
- { (yyval.typed_value_seq) = ndt_value_seq_append((yyvsp[-2].typed_value_seq), (yyvsp[0].typed_value), ctx); if ((yyval.typed_value_seq) == NULL) YYABORT; }
2609
- #line 2610 "grammar.c" /* yacc.c:1652 */
2574
+ #line 366 "grammar.y" /* yacc.c:1652 */
2575
+ { (yyval.typed_value) = ndt_value_from_string((yyvsp[0].string), ctx); if ((yyval.typed_value) == NULL) YYABORT; }
2576
+ #line 2577 "grammar.c" /* yacc.c:1652 */
2610
2577
  break;
2611
2578
 
2612
2579
  case 100:
2613
- #line 374 "grammar.y" /* yacc.c:1652 */
2614
- { (yyval.typed_value) = ndt_value_from_number(ValInt64, (yyvsp[0].string), ctx); if ((yyval.typed_value) == NULL) YYABORT; }
2615
- #line 2616 "grammar.c" /* yacc.c:1652 */
2580
+ #line 367 "grammar.y" /* yacc.c:1652 */
2581
+ { (yyval.typed_value) = ndt_value_na(ctx); if ((yyval.typed_value) == NULL) YYABORT; }
2582
+ #line 2583 "grammar.c" /* yacc.c:1652 */
2616
2583
  break;
2617
2584
 
2618
2585
  case 101:
2619
- #line 375 "grammar.y" /* yacc.c:1652 */
2620
- { (yyval.typed_value) = ndt_value_from_number(ValFloat64, (yyvsp[0].string), ctx); if ((yyval.typed_value) == NULL) YYABORT; }
2621
- #line 2622 "grammar.c" /* yacc.c:1652 */
2586
+ #line 370 "grammar.y" /* yacc.c:1652 */
2587
+ { (yyval.variadic_flag) = Nonvariadic; }
2588
+ #line 2589 "grammar.c" /* yacc.c:1652 */
2622
2589
  break;
2623
2590
 
2624
2591
  case 102:
2625
- #line 376 "grammar.y" /* yacc.c:1652 */
2626
- { (yyval.typed_value) = ndt_value_from_string((yyvsp[0].string), ctx); if ((yyval.typed_value) == NULL) YYABORT; }
2627
- #line 2628 "grammar.c" /* yacc.c:1652 */
2592
+ #line 371 "grammar.y" /* yacc.c:1652 */
2593
+ { (yyval.variadic_flag) = Variadic; }
2594
+ #line 2595 "grammar.c" /* yacc.c:1652 */
2628
2595
  break;
2629
2596
 
2630
2597
  case 103:
2631
- #line 377 "grammar.y" /* yacc.c:1652 */
2632
- { (yyval.typed_value) = ndt_value_na(ctx); if ((yyval.typed_value) == NULL) YYABORT; }
2633
- #line 2634 "grammar.c" /* yacc.c:1652 */
2598
+ #line 374 "grammar.y" /* yacc.c:1652 */
2599
+ { (yyval.variadic_flag) = Nonvariadic; }
2600
+ #line 2601 "grammar.c" /* yacc.c:1652 */
2634
2601
  break;
2635
2602
 
2636
2603
  case 104:
2637
- #line 380 "grammar.y" /* yacc.c:1652 */
2604
+ #line 375 "grammar.y" /* yacc.c:1652 */
2638
2605
  { (yyval.variadic_flag) = Nonvariadic; }
2639
- #line 2640 "grammar.c" /* yacc.c:1652 */
2606
+ #line 2607 "grammar.c" /* yacc.c:1652 */
2640
2607
  break;
2641
2608
 
2642
2609
  case 105:
2643
- #line 381 "grammar.y" /* yacc.c:1652 */
2610
+ #line 376 "grammar.y" /* yacc.c:1652 */
2644
2611
  { (yyval.variadic_flag) = Variadic; }
2645
- #line 2646 "grammar.c" /* yacc.c:1652 */
2612
+ #line 2613 "grammar.c" /* yacc.c:1652 */
2646
2613
  break;
2647
2614
 
2648
2615
  case 106:
2649
- #line 384 "grammar.y" /* yacc.c:1652 */
2650
- { (yyval.variadic_flag) = Nonvariadic; }
2651
- #line 2652 "grammar.c" /* yacc.c:1652 */
2652
- break;
2653
-
2654
- case 107:
2655
- #line 385 "grammar.y" /* yacc.c:1652 */
2656
- { (yyval.variadic_flag) = Nonvariadic; }
2657
- #line 2658 "grammar.c" /* yacc.c:1652 */
2658
- break;
2659
-
2660
- case 108:
2661
- #line 386 "grammar.y" /* yacc.c:1652 */
2662
- { (yyval.variadic_flag) = Variadic; }
2663
- #line 2664 "grammar.c" /* yacc.c:1652 */
2664
- break;
2665
-
2666
- case 109:
2667
- #line 389 "grammar.y" /* yacc.c:1652 */
2616
+ #line 379 "grammar.y" /* yacc.c:1652 */
2668
2617
  { (yyval.ndt) = mk_tuple((yyvsp[-1].variadic_flag), NULL, NULL, false, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2669
- #line 2670 "grammar.c" /* yacc.c:1652 */
2618
+ #line 2619 "grammar.c" /* yacc.c:1652 */
2670
2619
  break;
2671
2620
 
2672
- case 110:
2673
- #line 390 "grammar.y" /* yacc.c:1652 */
2621
+ case 107:
2622
+ #line 380 "grammar.y" /* yacc.c:1652 */
2674
2623
  { (yyval.ndt) = mk_tuple((yyvsp[-1].variadic_flag), (yyvsp[-2].field_seq), NULL, false, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2675
- #line 2676 "grammar.c" /* yacc.c:1652 */
2624
+ #line 2625 "grammar.c" /* yacc.c:1652 */
2676
2625
  break;
2677
2626
 
2678
- case 111:
2679
- #line 391 "grammar.y" /* yacc.c:1652 */
2627
+ case 108:
2628
+ #line 381 "grammar.y" /* yacc.c:1652 */
2680
2629
  { (yyval.ndt) = mk_tuple(Nonvariadic, (yyvsp[-3].field_seq), (yyvsp[-1].attribute_seq), false, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2681
- #line 2682 "grammar.c" /* yacc.c:1652 */
2630
+ #line 2631 "grammar.c" /* yacc.c:1652 */
2682
2631
  break;
2683
2632
 
2684
- case 112:
2685
- #line 392 "grammar.y" /* yacc.c:1652 */
2633
+ case 109:
2634
+ #line 382 "grammar.y" /* yacc.c:1652 */
2686
2635
  { (yyval.ndt) = mk_tuple((yyvsp[-1].variadic_flag), NULL, NULL, true, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2687
- #line 2688 "grammar.c" /* yacc.c:1652 */
2636
+ #line 2637 "grammar.c" /* yacc.c:1652 */
2688
2637
  break;
2689
2638
 
2690
- case 113:
2691
- #line 393 "grammar.y" /* yacc.c:1652 */
2639
+ case 110:
2640
+ #line 383 "grammar.y" /* yacc.c:1652 */
2692
2641
  { (yyval.ndt) = mk_tuple((yyvsp[-1].variadic_flag), (yyvsp[-2].field_seq), NULL, true, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2693
- #line 2694 "grammar.c" /* yacc.c:1652 */
2642
+ #line 2643 "grammar.c" /* yacc.c:1652 */
2694
2643
  break;
2695
2644
 
2696
- case 114:
2697
- #line 394 "grammar.y" /* yacc.c:1652 */
2645
+ case 111:
2646
+ #line 384 "grammar.y" /* yacc.c:1652 */
2698
2647
  { (yyval.ndt) = mk_tuple(Nonvariadic, (yyvsp[-3].field_seq), (yyvsp[-1].attribute_seq), true, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2699
- #line 2700 "grammar.c" /* yacc.c:1652 */
2648
+ #line 2649 "grammar.c" /* yacc.c:1652 */
2700
2649
  break;
2701
2650
 
2702
- case 115:
2703
- #line 397 "grammar.y" /* yacc.c:1652 */
2651
+ case 112:
2652
+ #line 387 "grammar.y" /* yacc.c:1652 */
2704
2653
  { (yyval.field_seq) = ndt_field_seq_new((yyvsp[0].field), ctx); if ((yyval.field_seq) == NULL) YYABORT; }
2705
- #line 2706 "grammar.c" /* yacc.c:1652 */
2654
+ #line 2655 "grammar.c" /* yacc.c:1652 */
2706
2655
  break;
2707
2656
 
2708
- case 116:
2709
- #line 398 "grammar.y" /* yacc.c:1652 */
2657
+ case 113:
2658
+ #line 388 "grammar.y" /* yacc.c:1652 */
2710
2659
  { (yyval.field_seq) = ndt_field_seq_append((yyvsp[-2].field_seq), (yyvsp[0].field), ctx); if ((yyval.field_seq) == NULL) YYABORT; }
2711
- #line 2712 "grammar.c" /* yacc.c:1652 */
2660
+ #line 2661 "grammar.c" /* yacc.c:1652 */
2712
2661
  break;
2713
2662
 
2714
- case 117:
2715
- #line 401 "grammar.y" /* yacc.c:1652 */
2663
+ case 114:
2664
+ #line 391 "grammar.y" /* yacc.c:1652 */
2716
2665
  { (yyval.field) = mk_field(NULL, (yyvsp[0].ndt), NULL, ctx); if ((yyval.field) == NULL) YYABORT; }
2717
- #line 2718 "grammar.c" /* yacc.c:1652 */
2666
+ #line 2667 "grammar.c" /* yacc.c:1652 */
2718
2667
  break;
2719
2668
 
2720
- case 118:
2721
- #line 402 "grammar.y" /* yacc.c:1652 */
2669
+ case 115:
2670
+ #line 392 "grammar.y" /* yacc.c:1652 */
2722
2671
  { (yyval.field) = mk_field(NULL, (yyvsp[-3].ndt), (yyvsp[-1].attribute_seq), ctx); if ((yyval.field) == NULL) YYABORT; }
2723
- #line 2724 "grammar.c" /* yacc.c:1652 */
2672
+ #line 2673 "grammar.c" /* yacc.c:1652 */
2724
2673
  break;
2725
2674
 
2726
- case 119:
2727
- #line 405 "grammar.y" /* yacc.c:1652 */
2675
+ case 116:
2676
+ #line 395 "grammar.y" /* yacc.c:1652 */
2728
2677
  { (yyval.ndt) = mk_record((yyvsp[-1].variadic_flag), NULL, NULL, false, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2729
- #line 2730 "grammar.c" /* yacc.c:1652 */
2678
+ #line 2679 "grammar.c" /* yacc.c:1652 */
2730
2679
  break;
2731
2680
 
2732
- case 120:
2733
- #line 406 "grammar.y" /* yacc.c:1652 */
2681
+ case 117:
2682
+ #line 396 "grammar.y" /* yacc.c:1652 */
2734
2683
  { (yyval.ndt) = mk_record((yyvsp[-1].variadic_flag), (yyvsp[-2].field_seq), NULL, false, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2735
- #line 2736 "grammar.c" /* yacc.c:1652 */
2684
+ #line 2685 "grammar.c" /* yacc.c:1652 */
2736
2685
  break;
2737
2686
 
2738
- case 121:
2739
- #line 407 "grammar.y" /* yacc.c:1652 */
2687
+ case 118:
2688
+ #line 397 "grammar.y" /* yacc.c:1652 */
2740
2689
  { (yyval.ndt) = mk_record(Nonvariadic, (yyvsp[-3].field_seq), (yyvsp[-1].attribute_seq), false, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2741
- #line 2742 "grammar.c" /* yacc.c:1652 */
2690
+ #line 2691 "grammar.c" /* yacc.c:1652 */
2742
2691
  break;
2743
2692
 
2744
- case 122:
2745
- #line 408 "grammar.y" /* yacc.c:1652 */
2693
+ case 119:
2694
+ #line 398 "grammar.y" /* yacc.c:1652 */
2746
2695
  { (yyval.ndt) = mk_record((yyvsp[-1].variadic_flag), NULL, NULL, true, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2747
- #line 2748 "grammar.c" /* yacc.c:1652 */
2696
+ #line 2697 "grammar.c" /* yacc.c:1652 */
2748
2697
  break;
2749
2698
 
2750
- case 123:
2751
- #line 409 "grammar.y" /* yacc.c:1652 */
2699
+ case 120:
2700
+ #line 399 "grammar.y" /* yacc.c:1652 */
2752
2701
  { (yyval.ndt) = mk_record((yyvsp[-1].variadic_flag), (yyvsp[-2].field_seq), NULL, true, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2753
- #line 2754 "grammar.c" /* yacc.c:1652 */
2702
+ #line 2703 "grammar.c" /* yacc.c:1652 */
2754
2703
  break;
2755
2704
 
2756
- case 124:
2757
- #line 410 "grammar.y" /* yacc.c:1652 */
2705
+ case 121:
2706
+ #line 400 "grammar.y" /* yacc.c:1652 */
2758
2707
  { (yyval.ndt) = mk_record(Nonvariadic, (yyvsp[-3].field_seq), (yyvsp[-1].attribute_seq), true, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2759
- #line 2760 "grammar.c" /* yacc.c:1652 */
2708
+ #line 2709 "grammar.c" /* yacc.c:1652 */
2760
2709
  break;
2761
2710
 
2762
- case 125:
2763
- #line 413 "grammar.y" /* yacc.c:1652 */
2711
+ case 122:
2712
+ #line 403 "grammar.y" /* yacc.c:1652 */
2764
2713
  { (yyval.field_seq) = ndt_field_seq_new((yyvsp[0].field), ctx); if ((yyval.field_seq) == NULL) YYABORT; }
2765
- #line 2766 "grammar.c" /* yacc.c:1652 */
2714
+ #line 2715 "grammar.c" /* yacc.c:1652 */
2766
2715
  break;
2767
2716
 
2768
- case 126:
2769
- #line 414 "grammar.y" /* yacc.c:1652 */
2717
+ case 123:
2718
+ #line 404 "grammar.y" /* yacc.c:1652 */
2770
2719
  { (yyval.field_seq) = ndt_field_seq_append((yyvsp[-2].field_seq), (yyvsp[0].field), ctx); if ((yyval.field_seq) == NULL) YYABORT; }
2771
- #line 2772 "grammar.c" /* yacc.c:1652 */
2720
+ #line 2721 "grammar.c" /* yacc.c:1652 */
2772
2721
  break;
2773
2722
 
2774
- case 127:
2775
- #line 417 "grammar.y" /* yacc.c:1652 */
2723
+ case 124:
2724
+ #line 407 "grammar.y" /* yacc.c:1652 */
2776
2725
  { (yyval.field) = mk_field((yyvsp[-2].string), (yyvsp[0].ndt), NULL, ctx); if ((yyval.field) == NULL) YYABORT; }
2777
- #line 2778 "grammar.c" /* yacc.c:1652 */
2726
+ #line 2727 "grammar.c" /* yacc.c:1652 */
2778
2727
  break;
2779
2728
 
2780
- case 128:
2781
- #line 418 "grammar.y" /* yacc.c:1652 */
2729
+ case 125:
2730
+ #line 408 "grammar.y" /* yacc.c:1652 */
2782
2731
  { (yyval.field) = mk_field((yyvsp[-5].string), (yyvsp[-3].ndt), (yyvsp[-1].attribute_seq), ctx); if ((yyval.field) == NULL) YYABORT; }
2783
- #line 2784 "grammar.c" /* yacc.c:1652 */
2732
+ #line 2733 "grammar.c" /* yacc.c:1652 */
2784
2733
  break;
2785
2734
 
2786
- case 129:
2787
- #line 421 "grammar.y" /* yacc.c:1652 */
2735
+ case 126:
2736
+ #line 411 "grammar.y" /* yacc.c:1652 */
2788
2737
  { (yyval.string) = (yyvsp[0].string); if ((yyval.string) == NULL) YYABORT; }
2789
- #line 2790 "grammar.c" /* yacc.c:1652 */
2738
+ #line 2739 "grammar.c" /* yacc.c:1652 */
2790
2739
  break;
2791
2740
 
2792
- case 130:
2793
- #line 422 "grammar.y" /* yacc.c:1652 */
2741
+ case 127:
2742
+ #line 412 "grammar.y" /* yacc.c:1652 */
2794
2743
  { (yyval.string) = (yyvsp[0].string); if ((yyval.string) == NULL) YYABORT; }
2795
- #line 2796 "grammar.c" /* yacc.c:1652 */
2744
+ #line 2745 "grammar.c" /* yacc.c:1652 */
2796
2745
  break;
2797
2746
 
2798
- case 131:
2799
- #line 423 "grammar.y" /* yacc.c:1652 */
2747
+ case 128:
2748
+ #line 413 "grammar.y" /* yacc.c:1652 */
2800
2749
  { (yyval.string) = (yyvsp[0].string); if ((yyval.string) == NULL) YYABORT; }
2801
- #line 2802 "grammar.c" /* yacc.c:1652 */
2750
+ #line 2751 "grammar.c" /* yacc.c:1652 */
2802
2751
  break;
2803
2752
 
2804
- case 132:
2805
- #line 426 "grammar.y" /* yacc.c:1652 */
2753
+ case 129:
2754
+ #line 416 "grammar.y" /* yacc.c:1652 */
2806
2755
  { (yyval.ndt) = mk_union((yyvsp[0].field_seq), false, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2807
- #line 2808 "grammar.c" /* yacc.c:1652 */
2756
+ #line 2757 "grammar.c" /* yacc.c:1652 */
2808
2757
  break;
2809
2758
 
2810
- case 133:
2811
- #line 427 "grammar.y" /* yacc.c:1652 */
2759
+ case 130:
2760
+ #line 417 "grammar.y" /* yacc.c:1652 */
2812
2761
  { (yyval.ndt) = mk_union((yyvsp[-1].field_seq), false, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2813
- #line 2814 "grammar.c" /* yacc.c:1652 */
2762
+ #line 2763 "grammar.c" /* yacc.c:1652 */
2814
2763
  break;
2815
2764
 
2816
- case 134:
2817
- #line 428 "grammar.y" /* yacc.c:1652 */
2765
+ case 131:
2766
+ #line 418 "grammar.y" /* yacc.c:1652 */
2818
2767
  { (yyval.ndt) = mk_union((yyvsp[0].field_seq), true, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2819
- #line 2820 "grammar.c" /* yacc.c:1652 */
2768
+ #line 2769 "grammar.c" /* yacc.c:1652 */
2820
2769
  break;
2821
2770
 
2822
- case 135:
2823
- #line 429 "grammar.y" /* yacc.c:1652 */
2771
+ case 132:
2772
+ #line 419 "grammar.y" /* yacc.c:1652 */
2824
2773
  { (yyval.ndt) = mk_union((yyvsp[-1].field_seq), true, ctx); if ((yyval.ndt) == NULL) YYABORT; }
2825
- #line 2826 "grammar.c" /* yacc.c:1652 */
2774
+ #line 2775 "grammar.c" /* yacc.c:1652 */
2826
2775
  break;
2827
2776
 
2828
- case 136:
2829
- #line 432 "grammar.y" /* yacc.c:1652 */
2777
+ case 133:
2778
+ #line 422 "grammar.y" /* yacc.c:1652 */
2830
2779
  { (yyval.field_seq) = ndt_field_seq_new((yyvsp[0].field), ctx); if ((yyval.field_seq) == NULL) YYABORT; }
2831
- #line 2832 "grammar.c" /* yacc.c:1652 */
2780
+ #line 2781 "grammar.c" /* yacc.c:1652 */
2832
2781
  break;
2833
2782
 
2834
- case 137:
2835
- #line 433 "grammar.y" /* yacc.c:1652 */
2783
+ case 134:
2784
+ #line 423 "grammar.y" /* yacc.c:1652 */
2836
2785
  { (yyval.field_seq) = ndt_field_seq_append((yyvsp[-2].field_seq), (yyvsp[0].field), ctx); if ((yyval.field_seq) == NULL) YYABORT; }
2837
- #line 2838 "grammar.c" /* yacc.c:1652 */
2786
+ #line 2787 "grammar.c" /* yacc.c:1652 */
2838
2787
  break;
2839
2788
 
2840
- case 138:
2841
- #line 436 "grammar.y" /* yacc.c:1652 */
2789
+ case 135:
2790
+ #line 426 "grammar.y" /* yacc.c:1652 */
2842
2791
  { (yyval.field) = mk_field((yyvsp[-2].string), (yyvsp[0].ndt), NULL, ctx); if ((yyval.field) == NULL) YYABORT; }
2843
- #line 2844 "grammar.c" /* yacc.c:1652 */
2792
+ #line 2793 "grammar.c" /* yacc.c:1652 */
2844
2793
  break;
2845
2794
 
2846
- case 139:
2847
- #line 439 "grammar.y" /* yacc.c:1652 */
2795
+ case 136:
2796
+ #line 429 "grammar.y" /* yacc.c:1652 */
2848
2797
  { (yyval.attribute_seq) = NULL; }
2849
- #line 2850 "grammar.c" /* yacc.c:1652 */
2798
+ #line 2799 "grammar.c" /* yacc.c:1652 */
2850
2799
  break;
2851
2800
 
2852
- case 140:
2853
- #line 440 "grammar.y" /* yacc.c:1652 */
2801
+ case 137:
2802
+ #line 430 "grammar.y" /* yacc.c:1652 */
2854
2803
  { (yyval.attribute_seq) = (yyvsp[-1].attribute_seq); if ((yyval.attribute_seq) == NULL) YYABORT; }
2855
- #line 2856 "grammar.c" /* yacc.c:1652 */
2804
+ #line 2805 "grammar.c" /* yacc.c:1652 */
2856
2805
  break;
2857
2806
 
2858
- case 141:
2859
- #line 443 "grammar.y" /* yacc.c:1652 */
2807
+ case 138:
2808
+ #line 433 "grammar.y" /* yacc.c:1652 */
2860
2809
  { (yyval.attribute_seq) = ndt_attr_seq_new((yyvsp[0].attribute), ctx); if ((yyval.attribute_seq) == NULL) YYABORT; }
2861
- #line 2862 "grammar.c" /* yacc.c:1652 */
2810
+ #line 2811 "grammar.c" /* yacc.c:1652 */
2862
2811
  break;
2863
2812
 
2864
- case 142:
2865
- #line 444 "grammar.y" /* yacc.c:1652 */
2813
+ case 139:
2814
+ #line 434 "grammar.y" /* yacc.c:1652 */
2866
2815
  { (yyval.attribute_seq) = ndt_attr_seq_append((yyvsp[-2].attribute_seq), (yyvsp[0].attribute), ctx); if ((yyval.attribute_seq) == NULL) YYABORT; }
2867
- #line 2868 "grammar.c" /* yacc.c:1652 */
2816
+ #line 2817 "grammar.c" /* yacc.c:1652 */
2868
2817
  break;
2869
2818
 
2870
- case 143:
2871
- #line 447 "grammar.y" /* yacc.c:1652 */
2819
+ case 140:
2820
+ #line 437 "grammar.y" /* yacc.c:1652 */
2872
2821
  { (yyval.attribute) = mk_attr((yyvsp[-2].string), (yyvsp[0].string), ctx); if ((yyval.attribute) == NULL) YYABORT; }
2873
- #line 2874 "grammar.c" /* yacc.c:1652 */
2822
+ #line 2823 "grammar.c" /* yacc.c:1652 */
2874
2823
  break;
2875
2824
 
2876
- case 144:
2877
- #line 448 "grammar.y" /* yacc.c:1652 */
2825
+ case 141:
2826
+ #line 438 "grammar.y" /* yacc.c:1652 */
2878
2827
  { (yyval.attribute) = mk_attr_from_seq((yyvsp[-4].string), (yyvsp[-1].string_seq), ctx); if ((yyval.attribute) == NULL) YYABORT; }
2879
- #line 2880 "grammar.c" /* yacc.c:1652 */
2828
+ #line 2829 "grammar.c" /* yacc.c:1652 */
2880
2829
  break;
2881
2830
 
2882
- case 145:
2883
- #line 451 "grammar.y" /* yacc.c:1652 */
2831
+ case 142:
2832
+ #line 441 "grammar.y" /* yacc.c:1652 */
2884
2833
  { (yyval.string_seq) = ndt_string_seq_new((yyvsp[0].string), ctx); if ((yyval.string_seq) == NULL) YYABORT; }
2885
- #line 2886 "grammar.c" /* yacc.c:1652 */
2834
+ #line 2835 "grammar.c" /* yacc.c:1652 */
2886
2835
  break;
2887
2836
 
2888
- case 146:
2889
- #line 452 "grammar.y" /* yacc.c:1652 */
2837
+ case 143:
2838
+ #line 442 "grammar.y" /* yacc.c:1652 */
2890
2839
  { (yyval.string_seq) = ndt_string_seq_append((yyvsp[-2].string_seq), (yyvsp[0].string), ctx); if ((yyval.string_seq) == NULL) YYABORT; }
2891
- #line 2892 "grammar.c" /* yacc.c:1652 */
2840
+ #line 2841 "grammar.c" /* yacc.c:1652 */
2892
2841
  break;
2893
2842
 
2894
- case 147:
2895
- #line 455 "grammar.y" /* yacc.c:1652 */
2843
+ case 144:
2844
+ #line 445 "grammar.y" /* yacc.c:1652 */
2896
2845
  { (yyval.string) = (yyvsp[0].string); if ((yyval.string) == NULL) YYABORT; }
2897
- #line 2898 "grammar.c" /* yacc.c:1652 */
2846
+ #line 2847 "grammar.c" /* yacc.c:1652 */
2898
2847
  break;
2899
2848
 
2900
- case 148:
2901
- #line 456 "grammar.y" /* yacc.c:1652 */
2849
+ case 145:
2850
+ #line 446 "grammar.y" /* yacc.c:1652 */
2902
2851
  { (yyval.string) = (yyvsp[0].string); if ((yyval.string) == NULL) YYABORT; }
2903
- #line 2904 "grammar.c" /* yacc.c:1652 */
2852
+ #line 2853 "grammar.c" /* yacc.c:1652 */
2904
2853
  break;
2905
2854
 
2906
- case 149:
2907
- #line 457 "grammar.y" /* yacc.c:1652 */
2855
+ case 146:
2856
+ #line 447 "grammar.y" /* yacc.c:1652 */
2908
2857
  { (yyval.string) = (yyvsp[0].string); if ((yyval.string) == NULL) YYABORT; }
2909
- #line 2910 "grammar.c" /* yacc.c:1652 */
2858
+ #line 2859 "grammar.c" /* yacc.c:1652 */
2910
2859
  break;
2911
2860
 
2912
- case 150:
2913
- #line 460 "grammar.y" /* yacc.c:1652 */
2861
+ case 147:
2862
+ #line 450 "grammar.y" /* yacc.c:1652 */
2914
2863
  { (yyval.ndt) = mk_function((yyvsp[-2].type_seq), (yyvsp[0].type_seq), ctx); if ((yyval.ndt) == NULL) YYABORT; }
2915
- #line 2916 "grammar.c" /* yacc.c:1652 */
2864
+ #line 2865 "grammar.c" /* yacc.c:1652 */
2916
2865
  break;
2917
2866
 
2918
- case 151:
2919
- #line 463 "grammar.y" /* yacc.c:1652 */
2867
+ case 148:
2868
+ #line 453 "grammar.y" /* yacc.c:1652 */
2920
2869
  { (yyval.type_seq) = (yyvsp[0].type_seq); }
2921
- #line 2922 "grammar.c" /* yacc.c:1652 */
2870
+ #line 2871 "grammar.c" /* yacc.c:1652 */
2922
2871
  break;
2923
2872
 
2924
- case 152:
2925
- #line 464 "grammar.y" /* yacc.c:1652 */
2873
+ case 149:
2874
+ #line 454 "grammar.y" /* yacc.c:1652 */
2926
2875
  { (yyval.type_seq) = ndt_type_seq_empty(ctx); if ((yyval.type_seq) == NULL) YYABORT; }
2927
- #line 2928 "grammar.c" /* yacc.c:1652 */
2876
+ #line 2877 "grammar.c" /* yacc.c:1652 */
2928
2877
  break;
2929
2878
 
2930
- case 153:
2931
- #line 467 "grammar.y" /* yacc.c:1652 */
2879
+ case 150:
2880
+ #line 457 "grammar.y" /* yacc.c:1652 */
2932
2881
  { (yyval.type_seq) = ndt_type_seq_new((ndt_t *)(yyvsp[0].ndt), ctx); if ((yyval.type_seq) == NULL) YYABORT; }
2933
- #line 2934 "grammar.c" /* yacc.c:1652 */
2882
+ #line 2883 "grammar.c" /* yacc.c:1652 */
2934
2883
  break;
2935
2884
 
2936
- case 154:
2937
- #line 468 "grammar.y" /* yacc.c:1652 */
2885
+ case 151:
2886
+ #line 458 "grammar.y" /* yacc.c:1652 */
2938
2887
  { (yyval.type_seq) = ndt_type_seq_append((yyvsp[-2].type_seq), (ndt_t *)(yyvsp[0].ndt), ctx); if ((yyval.type_seq) == NULL) YYABORT; }
2939
- #line 2940 "grammar.c" /* yacc.c:1652 */
2888
+ #line 2889 "grammar.c" /* yacc.c:1652 */
2940
2889
  break;
2941
2890
 
2942
2891
 
2943
- #line 2944 "grammar.c" /* yacc.c:1652 */
2892
+ #line 2893 "grammar.c" /* yacc.c:1652 */
2944
2893
  default: break;
2945
2894
  }
2946
2895
  /* User semantic actions sometimes alter yychar, and that requires