ndtypes 0.2.0dev6 → 0.2.0dev8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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