edtf 2.0.0 → 2.1.0

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.
@@ -4,6 +4,6 @@ class DateTime
4
4
  alias to_edtf edtf
5
5
 
6
6
  def values
7
- super().cocat([hour,minute,second,offset])
7
+ super().concat([hour,minute,second,offset])
8
8
  end
9
9
  end
@@ -1,106 +1,107 @@
1
1
  module EDTF
2
2
 
3
- class Epoch
4
- extend Forwardable
5
-
6
- include Enumerable
7
- include Comparable
8
-
9
- class << self
10
- attr_reader :duration, :format
11
-
12
- def current
13
- new(Date.today.year)
14
- end
15
-
16
- private :new, :current
17
- end
18
-
19
- attr_reader :year
20
-
21
- def_delegators :to_range,
22
- *Range.instance_methods(false).reject { |m| m.to_s =~ /^(each|min|max|cover|inspect)$|^\W/ }
23
-
24
-
25
- def initialize(year = 0)
26
- self.year = year
27
- end
28
-
29
- def year=(year)
30
- @year = (year / self.class.duration) * self.class.duration
31
- end
32
-
33
- alias get year
34
- alias set year=
35
-
36
- def cover?(other)
37
- return false unless other.respond_to?(:day_precision)
38
- other = other.day_precision
39
- min.day_precision! <= other && other <= max.day_precision!
40
- end
41
-
42
- def <=>(other)
43
- case other
44
- when Date
45
- cover?(other) ? 0 : to_date <=> other
46
- when Interval, Season
47
- [min, max] <=> [other.min, other.max]
48
- when Epoch
49
- [year, self.class.duration] <=> [other.year, other.class.duration]
50
- else
51
- nil
52
- end
53
- rescue
54
- nil
55
- end
56
-
57
- def ===(other)
58
- (self <=> other) == 0
59
- rescue
60
- false
61
- end
62
-
63
- def each
64
- if block_given?
65
- to_range.each(&Proc.new)
66
- else
67
- to_enum
68
- end
69
- end
70
-
71
- def to_date
72
- Date.new(year).year_precision!
73
- end
74
-
75
- alias min to_date
76
-
77
- def max
78
- to_date.advance(:years => self.class.duration - 1).end_of_year
79
- end
80
-
81
- def to_range
82
- min..max
83
- end
84
-
85
- def edtf
86
- self.class.format % (year / self.class.duration)
87
- end
88
-
89
- alias to_s edtf
90
-
91
- end
92
-
93
- class Century < Epoch
94
- @duration = 100.freeze
95
- @format = '%02dxx'.freeze
96
-
97
- public_class_method :current, :new
98
- end
99
-
100
- class Decade < Epoch
101
- @duration = 10.freeze
102
- @format = '%03dx'.freeze
103
-
104
- public_class_method :current, :new
105
- end
106
- end
3
+ class Epoch
4
+ extend Forwardable
5
+
6
+ include Enumerable
7
+ include Comparable
8
+
9
+ class << self
10
+ attr_reader :duration, :format
11
+
12
+ def current
13
+ new(Date.today.year)
14
+ end
15
+
16
+ private :new, :current
17
+ end
18
+
19
+ attr_reader :year
20
+
21
+ def_delegators :to_range, *Range.instance_methods(false).reject { |m|
22
+ m.to_s =~ /^(each|min|max|cover\?|inspect|to_s)$|^\W/
23
+ }
24
+
25
+
26
+ def initialize(year = 0)
27
+ self.year = year
28
+ end
29
+
30
+ def year=(year)
31
+ @year = (year / self.class.duration) * self.class.duration
32
+ end
33
+
34
+ alias get year
35
+ alias set year=
36
+
37
+ def cover?(other)
38
+ return false unless other.respond_to?(:day_precision)
39
+ other = other.day_precision
40
+ min.day_precision! <= other && other <= max.day_precision!
41
+ end
42
+
43
+ def <=>(other)
44
+ case other
45
+ when Date
46
+ cover?(other) ? 0 : to_date <=> other
47
+ when Interval, Season
48
+ [min, max] <=> [other.min, other.max]
49
+ when Epoch
50
+ [year, self.class.duration] <=> [other.year, other.class.duration]
51
+ else
52
+ nil
53
+ end
54
+ rescue
55
+ nil
56
+ end
57
+
58
+ def ===(other)
59
+ (self <=> other) == 0
60
+ rescue
61
+ false
62
+ end
63
+
64
+ def each
65
+ if block_given?
66
+ to_range.each(&Proc.new)
67
+ else
68
+ to_enum
69
+ end
70
+ end
71
+
72
+ def to_date
73
+ Date.new(year).year_precision!
74
+ end
75
+
76
+ alias min to_date
77
+
78
+ def max
79
+ to_date.advance(:years => self.class.duration - 1).end_of_year
80
+ end
81
+
82
+ def to_range
83
+ min..max
84
+ end
85
+
86
+ def edtf
87
+ self.class.format % (year / self.class.duration)
88
+ end
89
+
90
+ alias to_s edtf
91
+
92
+ end
93
+
94
+ class Century < Epoch
95
+ @duration = 100.freeze
96
+ @format = '%02dxx'.freeze
97
+
98
+ public_class_method :current, :new
99
+ end
100
+
101
+ class Decade < Epoch
102
+ @duration = 10.freeze
103
+ @format = '%03dx'.freeze
104
+
105
+ public_class_method :current, :new
106
+ end
107
+ end
@@ -0,0 +1,1793 @@
1
+ #
2
+ # DO NOT MODIFY!!!!
3
+ # This file is automatically generated by Racc 1.4.10
4
+ # from Racc grammer file "".
5
+ #
6
+
7
+ require 'racc/parser.rb'
8
+
9
+ require 'strscan'
10
+
11
+ module EDTF
12
+ class Parser < Racc::Parser
13
+
14
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 440)
15
+
16
+ @defaults = {
17
+ :level => 2,
18
+ :debug => false
19
+ }.freeze
20
+
21
+ class << self; attr_reader :defaults; end
22
+
23
+ attr_reader :options
24
+
25
+ def initialize(options = {})
26
+ @options = Parser.defaults.merge(options)
27
+ end
28
+
29
+ def debug?
30
+ !!(options[:debug] || ENV['DEBUG'])
31
+ end
32
+
33
+ def parse(input)
34
+ parse!(input)
35
+ rescue => e
36
+ warn e.message if debug?
37
+ nil
38
+ end
39
+
40
+ def parse!(input)
41
+ @yydebug = debug?
42
+ @src = StringScanner.new(input)
43
+ do_parse
44
+ end
45
+
46
+ def on_error(tid, value, stack)
47
+ raise ArgumentError,
48
+ "failed to parse date: unexpected '#{value}' at #{stack.inspect}"
49
+ end
50
+
51
+ def apply_uncertainty(date, uncertainty, scope = nil)
52
+ uncertainty.each do |u|
53
+ scope.nil? ? date.send(u) : date.send(u, scope)
54
+ end
55
+ date
56
+ end
57
+
58
+ alias uoa apply_uncertainty
59
+
60
+ def next_token
61
+ case
62
+ when @src.eos?
63
+ nil
64
+ # when @src.scan(/\s+/)
65
+ # ignore whitespace
66
+ when @src.scan(/\(/)
67
+ ['(', @src.matched]
68
+ # when @src.scan(/\)\?~-/)
69
+ # [:PUA, [:uncertain!, :approximate!]]
70
+ # when @src.scan(/\)\?-/)
71
+ # [:PUA, [:uncertain!]]
72
+ # when @src.scan(/\)~-/)
73
+ # [:PUA, [:approximate!]]
74
+ when @src.scan(/\)/)
75
+ [')', @src.matched]
76
+ when @src.scan(/\[/)
77
+ ['[', @src.matched]
78
+ when @src.scan(/\]/)
79
+ [']', @src.matched]
80
+ when @src.scan(/\{/)
81
+ ['{', @src.matched]
82
+ when @src.scan(/\}/)
83
+ ['}', @src.matched]
84
+ when @src.scan(/T/)
85
+ [:T, @src.matched]
86
+ when @src.scan(/Z/)
87
+ [:Z, @src.matched]
88
+ when @src.scan(/\?~/)
89
+ [:UA, [:uncertain!, :approximate!]]
90
+ when @src.scan(/\?/)
91
+ [:UA, [:uncertain!]]
92
+ when @src.scan(/~/)
93
+ [:UA, [:approximate!]]
94
+ when @src.scan(/open/i)
95
+ [:OPEN, :open]
96
+ when @src.scan(/unkn?own/i) # matches 'unkown' typo too
97
+ [:UNKNOWN, :unknown]
98
+ when @src.scan(/u/)
99
+ [:U, @src.matched]
100
+ when @src.scan(/x/i)
101
+ [:X, @src.matched]
102
+ when @src.scan(/y/)
103
+ [:LONGYEAR, @src.matched]
104
+ when @src.scan(/e/)
105
+ [:E, @src.matched]
106
+ when @src.scan(/\+/)
107
+ ['+', @src.matched]
108
+ when @src.scan(/-\(/)
109
+ ['-(', @src.matched]
110
+ when @src.scan(/-/)
111
+ ['-', @src.matched]
112
+ when @src.scan(/:/)
113
+ [':', @src.matched]
114
+ when @src.scan(/\//)
115
+ ['/', @src.matched]
116
+ when @src.scan(/\s*\.\.\s*/)
117
+ [:DOTS, '..']
118
+ when @src.scan(/\s*,\s*/)
119
+ [',', ',']
120
+ when @src.scan(/\^\w+/)
121
+ ['^', @src.matched[1..-1]]
122
+ when @src.scan(/\d/)
123
+ [@src.matched, @src.matched.to_i]
124
+ else @src.scan(/./)
125
+ [:UNMATCHED, @src.rest]
126
+ end
127
+ end
128
+
129
+
130
+ # -*- racc -*-
131
+ ...end parser.y/module_eval...
132
+ ##### State transition tables begin ###
133
+
134
+ racc_action_table = [
135
+ 129, 128, 52, 111, 275, 112, 149, 208, 207, 57,
136
+ 236, 43, 45, 40, 55, 42, 214, 44, 43, 45,
137
+ 40, -48, 42, 53, 44, 180, 58, 46, 47, 48,
138
+ 49, 50, 207, 56, 46, 47, 48, 49, 50, 128,
139
+ 159, 229, 43, 45, 40, 55, 42, 157, 44, 43,
140
+ 45, 40, 55, 42, 54, 44, 57, 58, 46, 47,
141
+ 48, 49, 50, 215, 56, 46, 47, 48, 49, 50,
142
+ 25, 56, 26, 58, 190, 253, 111, 12, 112, 43,
143
+ 45, 40, 254, 42, 94, 44, 255, 33, 92, 34,
144
+ 189, 191, 36, 25, 141, 46, 47, 48, 49, 50,
145
+ 12, 95, 43, 45, 40, 93, 42, 200, 44, 201,
146
+ 213, 148, 55, 108, 147, 36, 212, 258, 46, 47,
147
+ 48, 49, 50, 87, 165, 111, 12, 112, 43, 45,
148
+ 40, 56, 42, 210, 44, 166, 111, 244, 112, 239,
149
+ 167, 36, 209, 261, 46, 47, 48, 49, 50, 87,
150
+ 133, 108, 12, 202, 43, 45, 40, 111, 42, 112,
151
+ 44, 110, 111, 111, 112, 112, 193, 36, 233, 192,
152
+ 46, 47, 48, 49, 50, 12, 180, 43, 45, 40,
153
+ 240, 42, 239, 44, 232, 234, 111, 264, 112, 124,
154
+ 36, 218, 125, 46, 47, 48, 49, 50, 12, 178,
155
+ 43, 45, 40, 111, 42, 112, 44, 188, 118, 186,
156
+ 117, 187, 104, 36, 121, 265, 46, 47, 48, 49,
157
+ 50, 12, 192, 43, 45, 40, 266, 42, 177, 44,
158
+ 12, 168, 43, 45, 40, 269, 42, 270, 44, 46,
159
+ 47, 48, 49, 50, 158, 36, 156, 154, 46, 47,
160
+ 48, 49, 50, 69, 180, 43, 45, 153, 152, 42,
161
+ 150, 44, 43, 45, 40, 101, 42, 103, 44, 104,
162
+ 146, 46, 47, 48, 49, 50, 280, 125, 46, 47,
163
+ 48, 49, 50, 43, 45, 40, 124, 42, 284, 44,
164
+ 43, 45, 40, 285, 42, 286, 44, 96, -66, 46,
165
+ 47, 48, 49, 50, -65, 290, 46, 47, 48, 49,
166
+ 50, 43, 45, 40, 67, 42, 292, 44, 43, 45,
167
+ 40, 293, 42, 66, 44, 295, 296, 46, 47, 48,
168
+ 49, 50, 297, 65, 46, 47, 48, 49, 50, 43,
169
+ 45, 40, 300, 42, 301, 44, 43, 45, 40, 180,
170
+ 42, 303, 44, 304, 305, 46, 47, 48, 49, 50,
171
+ 281, 306, 46, 47, 48, 49, 50, 43, 45, 40,
172
+ 307, 42, 308, 44, 43, 45, 64, -50, 42, 311,
173
+ 44, 312, 313, 46, 47, 48, 49, 50, 314, 51,
174
+ 46, 47, 48, 49, 50, 43, 45, 40, 316, 42,
175
+ 317, 44, 43, 45, 175, 318, 42, 319, 44, nil,
176
+ nil, 46, 47, 48, 49, 50, nil, nil, 46, 47,
177
+ 48, 49, 50, 43, 45, 40, nil, 42, nil, 44,
178
+ 43, 45, nil, nil, 42, nil, 44, nil, nil, 46,
179
+ 47, 48, 49, 50, nil, nil, 46, 47, 48, 49,
180
+ 50, 43, 45, 40, nil, 42, nil, 44, 43, 45,
181
+ 40, nil, 42, nil, 44, nil, nil, 46, 47, 48,
182
+ 49, 50, nil, nil, 46, 47, 48, 49, 50, 43,
183
+ 45, 40, nil, 42, nil, 44, 43, 45, nil, nil,
184
+ 42, nil, 44, nil, nil, 46, 47, 48, 49, 50,
185
+ nil, nil, 46, 47, 48, 49, 50, 43, 45, 40,
186
+ nil, 42, nil, 44, 43, 45, 40, nil, 42, nil,
187
+ 44, nil, nil, 46, 47, 48, 49, 50, nil, nil,
188
+ 46, 47, 48, 49, 50, 43, 45, 40, nil, 42,
189
+ nil, 44, 43, 45, nil, nil, 42, nil, 44, nil,
190
+ nil, 46, 47, 48, 49, 50, nil, nil, 46, 47,
191
+ 48, 49, 50, 43, 45, 40, nil, 42, nil, 44,
192
+ 43, 45, 40, nil, 42, nil, 44, nil, nil, 46,
193
+ 47, 48, 49, 50, nil, nil, 46, 47, 48, 49,
194
+ 50, 172, 194, 170, nil, 171, nil, 173, 43, 45,
195
+ 40, nil, 42, nil, 44, nil, nil, 195, 196, 197,
196
+ 198, 199, nil, nil, 46, 47, 48, 49, 50, 43,
197
+ 45, 40, nil, 42, nil, 44, 43, 45, 40, nil,
198
+ 42, nil, 44, nil, nil, 46, 47, 48, 49, 50,
199
+ nil, nil, 46, 47, 48, 49, 50, 43, 45, 276,
200
+ nil, 42, nil, 44, 43, 45, 274, nil, 42, nil,
201
+ 44, nil, nil, 46, 47, 48, 49, 50, nil, nil,
202
+ 46, 47, 48, 49, 50, 43, 45, 40, nil, 42,
203
+ nil, 44, 43, 45, 273, nil, 42, nil, 44, nil,
204
+ nil, 46, 47, 48, 49, 50, nil, nil, 46, 47,
205
+ 48, 49, 50, 43, 45, nil, nil, 42, nil, 44,
206
+ 43, 45, 315, nil, 42, nil, 44, nil, nil, 46,
207
+ 47, 48, 49, 50, nil, nil, 46, 47, 48, 49,
208
+ 50, 43, 45, nil, nil, 42, nil, 44, 43, 45,
209
+ 40, nil, 42, nil, 44, nil, nil, 46, 47, 48,
210
+ 49, 50, 116, nil, 46, 47, 48, 49, 50, 118,
211
+ 250, 310, 118, 104, 117, 249, 104, nil, 121, nil,
212
+ 118, 250, 117, nil, 104, 251, 249, 118, 250, 247,
213
+ nil, 104, nil, 249, nil, 288, 251, nil, 118, 250,
214
+ 247, nil, 104, 251, 249, 118, nil, 117, 281, 104,
215
+ nil, 121, nil, 260, 251, 118, 250, 247, 118, 104,
216
+ 117, 249, 104, 118, 121, 117, 118, 104, 117, 121,
217
+ 104, 251, 121, 118, 118, 117, 117, 104, 104, 121,
218
+ 121, 188, 271, 186, 118, 187, 117, 272, 104, 118,
219
+ 121, 117, 118, 104, 117, 121, 104, nil, 121, 182,
220
+ 184, nil, nil, 181, nil, 183, 172, 169, 170, 118,
221
+ 171, 117, 173, 104, 118, 121, 117, 118, 104, 117,
222
+ 121, 104, nil, 121 ]
223
+
224
+ racc_action_check = [
225
+ 63, 63, 5, 93, 245, 93, 73, 127, 127, 73,
226
+ 163, 63, 63, 63, 134, 63, 134, 63, 127, 127,
227
+ 127, 5, 127, 5, 127, 160, 73, 63, 63, 63,
228
+ 63, 63, 224, 134, 127, 127, 127, 127, 127, 151,
229
+ 91, 158, 224, 224, 224, 89, 224, 89, 224, 151,
230
+ 151, 151, 9, 151, 9, 151, 10, 91, 224, 224,
231
+ 224, 224, 224, 144, 89, 151, 151, 151, 151, 151,
232
+ 0, 9, 0, 10, 113, 169, 56, 0, 56, 0,
233
+ 0, 0, 178, 0, 38, 0, 189, 0, 37, 0,
234
+ 113, 113, 0, 67, 67, 0, 0, 0, 0, 0,
235
+ 67, 38, 67, 67, 67, 37, 67, 121, 67, 121,
236
+ 133, 72, 72, 214, 72, 67, 132, 202, 67, 67,
237
+ 67, 67, 67, 34, 98, 214, 34, 214, 34, 34,
238
+ 34, 72, 34, 129, 34, 98, 157, 167, 157, 167,
239
+ 98, 34, 128, 213, 34, 34, 34, 34, 34, 33,
240
+ 66, 54, 33, 123, 33, 33, 33, 124, 33, 124,
241
+ 33, 54, 66, 54, 66, 54, 116, 33, 161, 115,
242
+ 33, 33, 33, 33, 33, 153, 109, 153, 153, 153,
243
+ 166, 153, 166, 153, 161, 161, 92, 218, 92, 220,
244
+ 153, 147, 222, 153, 153, 153, 153, 153, 154, 108,
245
+ 154, 154, 154, 147, 154, 147, 154, 112, 191, 112,
246
+ 191, 112, 191, 154, 191, 225, 154, 154, 154, 154,
247
+ 154, 87, 230, 87, 87, 87, 232, 87, 107, 87,
248
+ 265, 99, 265, 265, 265, 236, 265, 238, 265, 87,
249
+ 87, 87, 87, 87, 90, 265, 88, 79, 265, 265,
250
+ 265, 265, 265, 26, 162, 26, 26, 78, 77, 26,
251
+ 74, 26, 12, 12, 12, 52, 12, 52, 12, 52,
252
+ 71, 26, 26, 26, 26, 26, 253, 60, 12, 12,
253
+ 12, 12, 12, 263, 263, 263, 59, 263, 256, 263,
254
+ 150, 150, 150, 257, 150, 260, 150, 51, 24, 263,
255
+ 263, 263, 263, 263, 23, 264, 150, 150, 150, 150,
256
+ 150, 36, 36, 36, 22, 36, 267, 36, 217, 217,
257
+ 217, 268, 217, 18, 217, 271, 273, 36, 36, 36,
258
+ 36, 36, 274, 17, 217, 217, 217, 217, 217, 104,
259
+ 104, 104, 280, 104, 281, 104, 149, 149, 149, 283,
260
+ 149, 284, 149, 285, 288, 104, 104, 104, 104, 104,
261
+ 290, 292, 149, 149, 149, 149, 149, 148, 148, 148,
262
+ 293, 148, 295, 148, 146, 146, 16, 14, 146, 300,
263
+ 146, 304, 307, 148, 148, 148, 148, 148, 308, 1,
264
+ 146, 146, 146, 146, 146, 145, 145, 145, 311, 145,
265
+ 312, 145, 103, 103, 103, 313, 103, 316, 103, nil,
266
+ nil, 145, 145, 145, 145, 145, nil, nil, 103, 103,
267
+ 103, 103, 103, 143, 143, 143, nil, 143, nil, 143,
268
+ 111, 111, nil, nil, 111, nil, 111, nil, nil, 143,
269
+ 143, 143, 143, 143, nil, nil, 111, 111, 111, 111,
270
+ 111, 130, 130, 130, nil, 130, nil, 130, 62, 62,
271
+ 62, nil, 62, nil, 62, nil, nil, 130, 130, 130,
272
+ 130, 130, nil, nil, 62, 62, 62, 62, 62, 216,
273
+ 216, 216, nil, 216, nil, 216, 64, 64, nil, nil,
274
+ 64, nil, 64, nil, nil, 216, 216, 216, 216, 216,
275
+ nil, nil, 64, 64, 64, 64, 64, 205, 205, 205,
276
+ nil, 205, nil, 205, 262, 262, 262, nil, 262, nil,
277
+ 262, nil, nil, 205, 205, 205, 205, 205, nil, nil,
278
+ 262, 262, 262, 262, 262, 68, 68, 68, nil, 68,
279
+ nil, 68, 69, 69, nil, nil, 69, nil, 69, nil,
280
+ nil, 68, 68, 68, 68, 68, nil, nil, 69, 69,
281
+ 69, 69, 69, 70, 70, 70, nil, 70, nil, 70,
282
+ 251, 251, 251, nil, 251, nil, 251, nil, nil, 70,
283
+ 70, 70, 70, 70, nil, nil, 251, 251, 251, 251,
284
+ 251, 118, 118, 118, nil, 118, nil, 118, 250, 250,
285
+ 250, nil, 250, nil, 250, nil, nil, 118, 118, 118,
286
+ 118, 118, nil, nil, 250, 250, 250, 250, 250, 75,
287
+ 75, 75, nil, 75, nil, 75, 249, 249, 249, nil,
288
+ 249, nil, 249, nil, nil, 75, 75, 75, 75, 75,
289
+ nil, nil, 249, 249, 249, 249, 249, 247, 247, 247,
290
+ nil, 247, nil, 247, 244, 244, 244, nil, 244, nil,
291
+ 244, nil, nil, 247, 247, 247, 247, 247, nil, nil,
292
+ 244, 244, 244, 244, 244, 13, 13, 13, nil, 13,
293
+ nil, 13, 240, 240, 240, nil, 240, nil, 240, nil,
294
+ nil, 13, 13, 13, 13, 13, nil, nil, 240, 240,
295
+ 240, 240, 240, 215, 215, nil, nil, 215, nil, 215,
296
+ 310, 310, 310, nil, 310, nil, 310, nil, nil, 215,
297
+ 215, 215, 215, 215, nil, nil, 310, 310, 310, 310,
298
+ 310, 117, 117, nil, nil, 117, nil, 117, 126, 126,
299
+ 126, nil, 126, nil, 126, nil, nil, 117, 117, 117,
300
+ 117, 117, 57, nil, 126, 126, 126, 126, 126, 297,
301
+ 297, 297, 57, 297, 57, 297, 57, nil, 57, nil,
302
+ 296, 296, 296, nil, 296, 297, 296, 275, 275, 275,
303
+ nil, 275, nil, 275, nil, 261, 296, nil, 270, 270,
304
+ 270, nil, 270, 275, 270, 261, nil, 261, 254, 261,
305
+ nil, 261, nil, 212, 270, 168, 168, 168, 254, 168,
306
+ 254, 168, 254, 212, 254, 212, 233, 212, 233, 212,
307
+ 233, 168, 233, 125, 159, 125, 159, 125, 159, 125,
308
+ 159, 239, 239, 239, 190, 239, 190, 239, 190, 255,
309
+ 190, 255, 234, 255, 234, 255, 234, nil, 234, 110,
310
+ 110, nil, nil, 110, nil, 110, 101, 101, 101, 95,
311
+ 101, 95, 101, 95, 94, 95, 94, 58, 94, 58,
312
+ 94, 58, nil, 58 ]
313
+
314
+ racc_action_pointer = [
315
+ 63, 389, nil, nil, nil, 0, nil, nil, nil, 40,
316
+ 42, nil, 246, 659, 356, nil, 372, 310, 309, nil,
317
+ nil, nil, 293, 304, 298, nil, 239, nil, nil, nil,
318
+ nil, nil, nil, 138, 112, nil, 295, 74, 70, nil,
319
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
320
+ nil, 297, 249, nil, 145, nil, 58, 746, 851, 272,
321
+ 263, nil, 442, -5, 470, nil, 144, 86, 519, 526,
322
+ 547, 266, 100, -5, 249, 603, nil, 233, 229, 219,
323
+ nil, nil, nil, nil, nil, nil, nil, 207, 219, 33,
324
+ 214, 26, 168, -15, 848, 843, nil, nil, 121, 216,
325
+ nil, 840, nil, 386, 323, nil, nil, 216, 193, 164,
326
+ 833, 414, 191, 60, nil, 157, 160, 715, 575, nil,
327
+ nil, 89, nil, 123, 139, 807, 722, 2, 136, 128,
328
+ 435, nil, 102, 104, 2, nil, nil, nil, nil, nil,
329
+ nil, nil, nil, 407, 59, 379, 358, 185, 351, 330,
330
+ 274, 33, nil, 161, 184, nil, nil, 118, 29, 808,
331
+ 13, 154, 242, -20, nil, nil, 162, 119, 789, 60,
332
+ nil, nil, nil, nil, nil, nil, nil, nil, 68, nil,
333
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 74,
334
+ 818, 192, nil, nil, nil, nil, nil, nil, nil, nil,
335
+ nil, nil, 105, nil, nil, 491, nil, nil, nil, nil,
336
+ nil, nil, 797, 129, 107, 687, 463, 302, 181, nil,
337
+ 175, nil, 178, nil, 26, 187, nil, nil, nil, nil,
338
+ 210, nil, 214, 800, 826, nil, 223, nil, 222, 815,
339
+ 666, nil, nil, nil, 638, -11, nil, 631, nil, 610,
340
+ 582, 554, nil, 258, 792, 823, 258, 263, nil, nil,
341
+ 289, 779, 498, 267, 291, 216, nil, 286, 291, nil,
342
+ 772, 310, nil, 311, 317, 761, nil, nil, nil, nil,
343
+ 324, 338, nil, 337, 339, 341, nil, nil, 348, nil,
344
+ 354, nil, 349, 358, nil, 354, 754, 743, nil, nil,
345
+ 364, nil, nil, nil, 351, nil, nil, 352, 370, nil,
346
+ 694, 380, 388, 393, nil, nil, 389, nil, nil, nil ]
347
+
348
+ racc_action_default = [
349
+ -176, -176, -1, -2, -3, -4, -5, -6, -7, -8,
350
+ -9, -10, -176, -176, -34, -35, -36, -37, -38, -39,
351
+ -40, -41, -176, -49, -51, -52, -176, -64, -67, -68,
352
+ -69, -70, -71, -176, -176, -107, -176, -109, -110, -111,
353
+ -128, -129, -130, -131, -132, -133, -134, -135, -136, -137,
354
+ -138, -176, -176, -76, -176, -112, -176, -176, -176, -8,
355
+ -9, -11, -176, -176, -176, -72, -176, -176, -55, -176,
356
+ -170, -176, -8, -9, -10, -176, -38, -176, -81, -86,
357
+ -87, -88, -90, -91, -92, -93, -94, -176, -176, -176,
358
+ -176, -176, -176, -176, -176, -176, 320, -12, -13, -176,
359
+ -16, -176, -31, -176, -176, -152, -27, -29, -176, -126,
360
+ -176, -176, -176, -176, -28, -30, -176, -176, -176, -153,
361
+ -160, -176, -162, -176, -176, -176, -176, -176, -176, -176,
362
+ -73, -174, -176, -176, -8, -47, -48, -49, -50, -51,
363
+ -53, -54, -58, -56, -176, -171, -176, -176, -98, -97,
364
+ -96, -176, -79, -176, -176, -95, -80, -176, -176, -176,
365
+ -126, -176, -126, -176, -14, -18, -176, -176, -176, -176,
366
+ -147, -148, -149, -150, -145, -151, -146, -114, -44, -59,
367
+ -127, -60, -61, -62, -63, -139, -140, -141, -142, -176,
368
+ -176, -176, -120, -45, -154, -155, -156, -157, -158, -159,
369
+ -161, -163, -176, -29, -30, -176, -26, -42, -77, -43,
370
+ -78, -175, -176, -176, -176, -176, -172, -74, -176, -101,
371
+ -176, -100, -176, -99, -176, -83, -84, -85, -89, -108,
372
+ -176, -113, -176, -176, -176, -117, -176, -19, -176, -176,
373
+ -176, -143, -20, -21, -176, -176, -32, -176, -164, -176,
374
+ -176, -176, -169, -176, -176, -115, -176, -176, -121, -102,
375
+ -176, -176, -75, -173, -44, -176, -116, -176, -176, -118,
376
+ -176, -176, -144, -176, -176, -176, -168, -165, -166, -167,
377
+ -176, -176, -106, -126, -176, -176, -105, -103, -176, -57,
378
+ -176, -82, -176, -176, -23, -176, -176, -176, -15, -33,
379
+ -176, -46, -119, -122, -176, -104, -124, -176, -176, -25,
380
+ -176, -176, -176, -176, -24, -22, -176, -123, -125, -17 ]
381
+
382
+ racc_goto_table = [
383
+ 70, 179, 130, 13, 228, 11, 248, 115, 123, 226,
384
+ 227, 113, 245, 5, 18, 9, 63, 11, 68, 10,
385
+ 23, 132, 22, 24, 71, 15, 14, 59, 241, 241,
386
+ 102, 60, 237, 243, 77, 88, 75, 75, 131, 309,
387
+ 309, 299, 16, 70, 162, 163, 17, 160, 161, 242,
388
+ 100, 89, 231, 135, 235, 91, 298, 99, 164, 98,
389
+ 109, 143, 97, 27, 28, 126, 127, 144, 29, 30,
390
+ 75, 142, 11, 145, 31, 204, 32, 174, 151, 203,
391
+ 136, 18, 134, 61, 217, 185, 10, 137, 6, 140,
392
+ 139, 174, 11, 138, 4, 225, 3, 2, 90, 105,
393
+ 155, 1, 59, nil, nil, nil, 60, 176, 248, 230,
394
+ nil, nil, nil, 248, 294, 228, nil, nil, nil, nil,
395
+ 131, 291, nil, nil, nil, nil, nil, nil, nil, 205,
396
+ 206, nil, nil, 211, 248, 248, nil, nil, nil, nil,
397
+ 256, 257, nil, nil, nil, nil, 142, nil, 216, nil,
398
+ nil, nil, nil, 262, 224, 223, 75, 75, nil, nil,
399
+ nil, nil, 259, 219, 220, 220, nil, nil, 221, 222,
400
+ nil, nil, nil, nil, nil, 302, nil, nil, nil, nil,
401
+ nil, nil, nil, 267, 268, nil, nil, nil, nil, 131,
402
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
403
+ nil, nil, nil, nil, 282, 283, nil, nil, 206, nil,
404
+ nil, 287, nil, nil, 185, nil, nil, nil, 185, 263,
405
+ 211, 174, nil, nil, nil, nil, nil, 206, nil, nil,
406
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
407
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
408
+ nil, nil, 277, 278, 279, nil, nil, nil, nil, nil,
409
+ nil, nil, nil, nil, nil, 211, 289, nil, 75, nil,
410
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
411
+ nil, nil, nil, nil, 174 ]
412
+
413
+ racc_goto_check = [
414
+ 43, 45, 52, 23, 58, 11, 66, 26, 26, 57,
415
+ 57, 24, 16, 5, 34, 9, 23, 11, 42, 10,
416
+ 40, 24, 38, 41, 53, 31, 30, 9, 25, 25,
417
+ 28, 10, 19, 19, 54, 54, 23, 23, 43, 22,
418
+ 22, 29, 32, 43, 26, 26, 33, 24, 24, 20,
419
+ 18, 9, 45, 39, 45, 10, 17, 15, 14, 13,
420
+ 44, 42, 12, 46, 47, 23, 23, 53, 48, 49,
421
+ 23, 23, 11, 23, 50, 26, 51, 43, 23, 24,
422
+ 5, 34, 9, 7, 52, 43, 10, 40, 6, 38,
423
+ 41, 43, 11, 30, 4, 56, 3, 2, 61, 65,
424
+ 5, 1, 9, nil, nil, nil, 10, 23, 66, 26,
425
+ nil, nil, nil, 66, 16, 58, nil, nil, nil, nil,
426
+ 43, 57, nil, nil, nil, nil, nil, nil, nil, 23,
427
+ 23, nil, nil, 23, 66, 66, nil, nil, nil, nil,
428
+ 26, 26, nil, nil, nil, nil, 23, nil, 23, nil,
429
+ nil, nil, nil, 52, 23, 11, 23, 23, nil, nil,
430
+ nil, nil, 26, 9, 9, 9, nil, nil, 10, 10,
431
+ nil, nil, nil, nil, nil, 45, nil, nil, nil, nil,
432
+ nil, nil, nil, 26, 26, nil, nil, nil, nil, 43,
433
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
434
+ nil, nil, nil, nil, 26, 26, nil, nil, 23, nil,
435
+ nil, 26, nil, nil, 43, nil, nil, nil, 43, 23,
436
+ 23, 43, nil, nil, nil, nil, nil, 23, nil, nil,
437
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
438
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
439
+ nil, nil, 23, 23, 23, nil, nil, nil, nil, nil,
440
+ nil, nil, nil, nil, nil, 23, 23, nil, 23, nil,
441
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
442
+ nil, nil, nil, nil, 43 ]
443
+
444
+ racc_goto_pointer = [
445
+ nil, 101, 97, 96, 94, 13, 88, 71, nil, 15,
446
+ 19, 5, 10, 7, -40, 5, -156, -219, -2, -134,
447
+ -118, nil, -257, 3, -45, -138, -50, nil, -22, -234,
448
+ 26, 25, 42, 46, 14, nil, nil, nil, 22, -14,
449
+ 20, 23, -8, -26, 6, -108, 63, 64, 68, 69,
450
+ 74, 76, -62, -2, 1, nil, -58, -144, -150, nil,
451
+ nil, 62, nil, nil, nil, 47, -162, nil ]
452
+
453
+ racc_goto_default = [
454
+ nil, nil, nil, nil, nil, 84, nil, 7, 8, 72,
455
+ 73, 74, nil, nil, nil, nil, nil, nil, nil, nil,
456
+ nil, 238, 252, 62, 107, 106, nil, 114, nil, 246,
457
+ 86, nil, nil, nil, 76, 19, 20, 21, nil, nil,
458
+ 85, nil, nil, 41, nil, nil, nil, nil, nil, nil,
459
+ nil, nil, nil, nil, nil, 78, 79, 80, 81, 82,
460
+ 83, 35, 37, 38, 39, 119, 120, 122 ]
461
+
462
+ racc_reduce_table = [
463
+ 0, 0, :racc_error,
464
+ 1, 38, :_reduce_none,
465
+ 1, 38, :_reduce_none,
466
+ 1, 38, :_reduce_none,
467
+ 1, 39, :_reduce_none,
468
+ 1, 39, :_reduce_none,
469
+ 1, 42, :_reduce_none,
470
+ 1, 42, :_reduce_none,
471
+ 1, 44, :_reduce_8,
472
+ 1, 44, :_reduce_9,
473
+ 1, 44, :_reduce_10,
474
+ 2, 45, :_reduce_11,
475
+ 3, 43, :_reduce_12,
476
+ 1, 49, :_reduce_none,
477
+ 2, 49, :_reduce_14,
478
+ 5, 50, :_reduce_15,
479
+ 1, 50, :_reduce_none,
480
+ 8, 55, :_reduce_17,
481
+ 1, 51, :_reduce_18,
482
+ 2, 51, :_reduce_19,
483
+ 2, 51, :_reduce_20,
484
+ 1, 57, :_reduce_none,
485
+ 5, 57, :_reduce_22,
486
+ 3, 56, :_reduce_23,
487
+ 5, 56, :_reduce_24,
488
+ 4, 56, :_reduce_25,
489
+ 4, 46, :_reduce_26,
490
+ 1, 61, :_reduce_none,
491
+ 1, 63, :_reduce_none,
492
+ 3, 47, :_reduce_29,
493
+ 3, 48, :_reduce_30,
494
+ 1, 52, :_reduce_none,
495
+ 1, 53, :_reduce_none,
496
+ 1, 54, :_reduce_none,
497
+ 1, 40, :_reduce_none,
498
+ 1, 40, :_reduce_none,
499
+ 1, 40, :_reduce_none,
500
+ 1, 40, :_reduce_none,
501
+ 1, 67, :_reduce_38,
502
+ 1, 67, :_reduce_none,
503
+ 1, 67, :_reduce_none,
504
+ 1, 67, :_reduce_none,
505
+ 4, 71, :_reduce_42,
506
+ 4, 71, :_reduce_43,
507
+ 4, 72, :_reduce_44,
508
+ 4, 73, :_reduce_45,
509
+ 7, 74, :_reduce_46,
510
+ 3, 68, :_reduce_47,
511
+ 1, 75, :_reduce_none,
512
+ 1, 75, :_reduce_none,
513
+ 1, 75, :_reduce_none,
514
+ 1, 75, :_reduce_none,
515
+ 1, 75, :_reduce_none,
516
+ 1, 76, :_reduce_none,
517
+ 1, 76, :_reduce_none,
518
+ 2, 69, :_reduce_55,
519
+ 3, 69, :_reduce_56,
520
+ 5, 79, :_reduce_57,
521
+ 2, 79, :_reduce_58,
522
+ 4, 70, :_reduce_59,
523
+ 2, 81, :_reduce_60,
524
+ 2, 81, :_reduce_61,
525
+ 2, 81, :_reduce_62,
526
+ 2, 81, :_reduce_63,
527
+ 1, 41, :_reduce_none,
528
+ 1, 41, :_reduce_none,
529
+ 1, 41, :_reduce_none,
530
+ 1, 41, :_reduce_none,
531
+ 1, 41, :_reduce_none,
532
+ 1, 41, :_reduce_none,
533
+ 1, 41, :_reduce_none,
534
+ 1, 41, :_reduce_none,
535
+ 2, 83, :_reduce_72,
536
+ 3, 88, :_reduce_73,
537
+ 4, 88, :_reduce_74,
538
+ 5, 88, :_reduce_75,
539
+ 2, 87, :_reduce_76,
540
+ 4, 86, :_reduce_77,
541
+ 4, 86, :_reduce_78,
542
+ 3, 84, :_reduce_79,
543
+ 3, 85, :_reduce_80,
544
+ 1, 91, :_reduce_81,
545
+ 5, 91, :_reduce_82,
546
+ 3, 91, :_reduce_83,
547
+ 3, 91, :_reduce_84,
548
+ 3, 91, :_reduce_85,
549
+ 1, 91, :_reduce_86,
550
+ 1, 91, :_reduce_87,
551
+ 1, 93, :_reduce_88,
552
+ 3, 93, :_reduce_89,
553
+ 1, 95, :_reduce_none,
554
+ 1, 95, :_reduce_none,
555
+ 1, 96, :_reduce_none,
556
+ 1, 96, :_reduce_none,
557
+ 1, 96, :_reduce_none,
558
+ 2, 92, :_reduce_95,
559
+ 2, 94, :_reduce_96,
560
+ 2, 94, :_reduce_97,
561
+ 2, 94, :_reduce_98,
562
+ 3, 97, :_reduce_99,
563
+ 3, 97, :_reduce_100,
564
+ 3, 97, :_reduce_101,
565
+ 5, 78, :_reduce_102,
566
+ 6, 78, :_reduce_103,
567
+ 7, 78, :_reduce_104,
568
+ 6, 78, :_reduce_105,
569
+ 6, 78, :_reduce_106,
570
+ 1, 77, :_reduce_none,
571
+ 4, 77, :_reduce_108,
572
+ 1, 98, :_reduce_109,
573
+ 1, 98, :_reduce_110,
574
+ 1, 98, :_reduce_111,
575
+ 2, 99, :_reduce_112,
576
+ 4, 100, :_reduce_113,
577
+ 4, 100, :_reduce_114,
578
+ 5, 100, :_reduce_115,
579
+ 5, 100, :_reduce_116,
580
+ 4, 101, :_reduce_117,
581
+ 5, 101, :_reduce_118,
582
+ 7, 101, :_reduce_119,
583
+ 4, 101, :_reduce_120,
584
+ 5, 101, :_reduce_121,
585
+ 7, 101, :_reduce_122,
586
+ 9, 101, :_reduce_123,
587
+ 7, 101, :_reduce_124,
588
+ 9, 101, :_reduce_125,
589
+ 0, 82, :_reduce_126,
590
+ 1, 82, :_reduce_none,
591
+ 1, 60, :_reduce_128,
592
+ 1, 60, :_reduce_none,
593
+ 1, 80, :_reduce_none,
594
+ 1, 80, :_reduce_none,
595
+ 1, 80, :_reduce_none,
596
+ 1, 80, :_reduce_none,
597
+ 1, 80, :_reduce_none,
598
+ 1, 80, :_reduce_none,
599
+ 1, 80, :_reduce_none,
600
+ 1, 80, :_reduce_none,
601
+ 1, 80, :_reduce_none,
602
+ 2, 62, :_reduce_139,
603
+ 2, 62, :_reduce_140,
604
+ 2, 62, :_reduce_141,
605
+ 2, 62, :_reduce_142,
606
+ 1, 58, :_reduce_none,
607
+ 2, 58, :_reduce_144,
608
+ 2, 102, :_reduce_145,
609
+ 2, 102, :_reduce_146,
610
+ 2, 102, :_reduce_147,
611
+ 2, 102, :_reduce_148,
612
+ 2, 102, :_reduce_149,
613
+ 2, 102, :_reduce_150,
614
+ 2, 65, :_reduce_none,
615
+ 1, 65, :_reduce_none,
616
+ 1, 103, :_reduce_none,
617
+ 2, 103, :_reduce_154,
618
+ 2, 103, :_reduce_155,
619
+ 2, 103, :_reduce_156,
620
+ 2, 103, :_reduce_157,
621
+ 2, 103, :_reduce_158,
622
+ 2, 103, :_reduce_159,
623
+ 1, 104, :_reduce_none,
624
+ 2, 104, :_reduce_161,
625
+ 1, 64, :_reduce_none,
626
+ 2, 64, :_reduce_163,
627
+ 1, 59, :_reduce_none,
628
+ 2, 59, :_reduce_165,
629
+ 2, 59, :_reduce_166,
630
+ 2, 59, :_reduce_167,
631
+ 2, 66, :_reduce_none,
632
+ 1, 66, :_reduce_none,
633
+ 1, 90, :_reduce_170,
634
+ 2, 90, :_reduce_171,
635
+ 3, 90, :_reduce_172,
636
+ 4, 90, :_reduce_173,
637
+ 1, 89, :_reduce_174,
638
+ 2, 89, :_reduce_175 ]
639
+
640
+ racc_reduce_n = 176
641
+
642
+ racc_shift_n = 320
643
+
644
+ racc_token_table = {
645
+ false => 0,
646
+ :error => 1,
647
+ :T => 2,
648
+ :Z => 3,
649
+ :E => 4,
650
+ :X => 5,
651
+ :U => 6,
652
+ :UNKNOWN => 7,
653
+ :OPEN => 8,
654
+ :LONGYEAR => 9,
655
+ :UNMATCHED => 10,
656
+ :DOTS => 11,
657
+ :UA => 12,
658
+ :PUA => 13,
659
+ "-" => 14,
660
+ ":" => 15,
661
+ "2" => 16,
662
+ "4" => 17,
663
+ "0" => 18,
664
+ "+" => 19,
665
+ "1" => 20,
666
+ "/" => 21,
667
+ "3" => 22,
668
+ "^" => 23,
669
+ "[" => 24,
670
+ "]" => 25,
671
+ "{" => 26,
672
+ "}" => 27,
673
+ "," => 28,
674
+ "(" => 29,
675
+ ")" => 30,
676
+ "-(" => 31,
677
+ "5" => 32,
678
+ "6" => 33,
679
+ "7" => 34,
680
+ "8" => 35,
681
+ "9" => 36 }
682
+
683
+ racc_nt_base = 37
684
+
685
+ racc_use_result_var = true
686
+
687
+ Racc_arg = [
688
+ racc_action_table,
689
+ racc_action_check,
690
+ racc_action_default,
691
+ racc_action_pointer,
692
+ racc_goto_table,
693
+ racc_goto_check,
694
+ racc_goto_default,
695
+ racc_goto_pointer,
696
+ racc_nt_base,
697
+ racc_reduce_table,
698
+ racc_token_table,
699
+ racc_shift_n,
700
+ racc_reduce_n,
701
+ racc_use_result_var ]
702
+
703
+ Racc_token_to_s_table = [
704
+ "$end",
705
+ "error",
706
+ "T",
707
+ "Z",
708
+ "E",
709
+ "X",
710
+ "U",
711
+ "UNKNOWN",
712
+ "OPEN",
713
+ "LONGYEAR",
714
+ "UNMATCHED",
715
+ "DOTS",
716
+ "UA",
717
+ "PUA",
718
+ "\"-\"",
719
+ "\":\"",
720
+ "\"2\"",
721
+ "\"4\"",
722
+ "\"0\"",
723
+ "\"+\"",
724
+ "\"1\"",
725
+ "\"/\"",
726
+ "\"3\"",
727
+ "\"^\"",
728
+ "\"[\"",
729
+ "\"]\"",
730
+ "\"{\"",
731
+ "\"}\"",
732
+ "\",\"",
733
+ "\"(\"",
734
+ "\")\"",
735
+ "\"-(\"",
736
+ "\"5\"",
737
+ "\"6\"",
738
+ "\"7\"",
739
+ "\"8\"",
740
+ "\"9\"",
741
+ "$start",
742
+ "edtf",
743
+ "level_0_expression",
744
+ "level_1_expression",
745
+ "level_2_expression",
746
+ "date",
747
+ "date_time",
748
+ "positive_date",
749
+ "negative_date",
750
+ "year",
751
+ "year_month",
752
+ "year_month_day",
753
+ "time",
754
+ "base_time",
755
+ "zone_offset",
756
+ "hour",
757
+ "minute",
758
+ "second",
759
+ "midnight",
760
+ "zone_offset_hour",
761
+ "positive_zone_offset",
762
+ "d01_13",
763
+ "d01_59",
764
+ "digit",
765
+ "month",
766
+ "d01_12",
767
+ "day",
768
+ "d01_31",
769
+ "d00_23",
770
+ "d00_59",
771
+ "unspecified",
772
+ "level_1_interval",
773
+ "long_year_simple",
774
+ "season",
775
+ "unspecified_year",
776
+ "unspecified_month",
777
+ "unspecified_day",
778
+ "unspecified_day_and_month",
779
+ "level_1_start",
780
+ "level_1_end",
781
+ "partial_uncertain_or_approximate",
782
+ "partial_unspecified",
783
+ "long_year",
784
+ "positive_digit",
785
+ "season_number",
786
+ "ua",
787
+ "season_qualified",
788
+ "choice_list",
789
+ "inclusive_list",
790
+ "masked_precision",
791
+ "date_and_calendar",
792
+ "long_year_scientific",
793
+ "integer",
794
+ "int1_4",
795
+ "list",
796
+ "earlier",
797
+ "list_elements",
798
+ "later",
799
+ "list_element",
800
+ "atomic",
801
+ "consecutives",
802
+ "pua_base",
803
+ "pua_year",
804
+ "pua_year_month",
805
+ "pua_year_month_day",
806
+ "d01_23",
807
+ "d01_29",
808
+ "d01_30" ]
809
+
810
+ Racc_debug_parser = true
811
+
812
+ ##### State transition tables end #####
813
+
814
+ # reduce 0 omitted
815
+
816
+ # reduce 1 omitted
817
+
818
+ # reduce 2 omitted
819
+
820
+ # reduce 3 omitted
821
+
822
+ # reduce 4 omitted
823
+
824
+ # reduce 5 omitted
825
+
826
+ # reduce 6 omitted
827
+
828
+ # reduce 7 omitted
829
+
830
+ module_eval(<<'.,.,', 'parser.y', 27)
831
+ def _reduce_8(val, _values, result)
832
+ result = Date.new(val[0]).year_precision!
833
+ result
834
+ end
835
+ .,.,
836
+
837
+ module_eval(<<'.,.,', 'parser.y', 28)
838
+ def _reduce_9(val, _values, result)
839
+ result = Date.new(*val.flatten).month_precision!
840
+ result
841
+ end
842
+ .,.,
843
+
844
+ module_eval(<<'.,.,', 'parser.y', 29)
845
+ def _reduce_10(val, _values, result)
846
+ result = Date.new(*val.flatten).day_precision!
847
+ result
848
+ end
849
+ .,.,
850
+
851
+ module_eval(<<'.,.,', 'parser.y', 32)
852
+ def _reduce_11(val, _values, result)
853
+ result = -val[1]
854
+ result
855
+ end
856
+ .,.,
857
+
858
+ module_eval(<<'.,.,', 'parser.y', 36)
859
+ def _reduce_12(val, _values, result)
860
+ result = DateTime.new(val[0].year, val[0].month, val[0].day, *val[2])
861
+
862
+ result
863
+ end
864
+ .,.,
865
+
866
+ # reduce 13 omitted
867
+
868
+ module_eval(<<'.,.,', 'parser.y', 40)
869
+ def _reduce_14(val, _values, result)
870
+ result = val.flatten
871
+ result
872
+ end
873
+ .,.,
874
+
875
+ module_eval(<<'.,.,', 'parser.y', 42)
876
+ def _reduce_15(val, _values, result)
877
+ result = val.values_at(0, 2, 4)
878
+ result
879
+ end
880
+ .,.,
881
+
882
+ # reduce 16 omitted
883
+
884
+ module_eval(<<'.,.,', 'parser.y', 45)
885
+ def _reduce_17(val, _values, result)
886
+ result = [24, 0, 0]
887
+ result
888
+ end
889
+ .,.,
890
+
891
+ module_eval(<<'.,.,', 'parser.y', 47)
892
+ def _reduce_18(val, _values, result)
893
+ result = 0
894
+ result
895
+ end
896
+ .,.,
897
+
898
+ module_eval(<<'.,.,', 'parser.y', 48)
899
+ def _reduce_19(val, _values, result)
900
+ result = -1 * val[1]
901
+ result
902
+ end
903
+ .,.,
904
+
905
+ module_eval(<<'.,.,', 'parser.y', 49)
906
+ def _reduce_20(val, _values, result)
907
+ result = val[1]
908
+ result
909
+ end
910
+ .,.,
911
+
912
+ # reduce 21 omitted
913
+
914
+ module_eval(<<'.,.,', 'parser.y', 53)
915
+ def _reduce_22(val, _values, result)
916
+ result = 0
917
+ result
918
+ end
919
+ .,.,
920
+
921
+ module_eval(<<'.,.,', 'parser.y', 57)
922
+ def _reduce_23(val, _values, result)
923
+ result = Rational(val[0] * 60 + val[2], 1440)
924
+ result
925
+ end
926
+ .,.,
927
+
928
+ module_eval(<<'.,.,', 'parser.y', 58)
929
+ def _reduce_24(val, _values, result)
930
+ result = Rational(840, 1440)
931
+ result
932
+ end
933
+ .,.,
934
+
935
+ module_eval(<<'.,.,', 'parser.y', 59)
936
+ def _reduce_25(val, _values, result)
937
+ result = Rational(val[3], 1440)
938
+ result
939
+ end
940
+ .,.,
941
+
942
+ module_eval(<<'.,.,', 'parser.y', 63)
943
+ def _reduce_26(val, _values, result)
944
+ result = val.zip([1000,100,10,1]).reduce(0) { |s,(a,b)| s += a * b }
945
+
946
+ result
947
+ end
948
+ .,.,
949
+
950
+ # reduce 27 omitted
951
+
952
+ # reduce 28 omitted
953
+
954
+ module_eval(<<'.,.,', 'parser.y', 69)
955
+ def _reduce_29(val, _values, result)
956
+ result = [val[0], val[2]]
957
+ result
958
+ end
959
+ .,.,
960
+
961
+ module_eval(<<'.,.,', 'parser.y', 76)
962
+ def _reduce_30(val, _values, result)
963
+ result = val[0] << val[2]
964
+ if result[2] > 31 || (result[2] > 30 && [2,4,6,9,11].include?(result[1])) || (result[2] > 29 && result[1] == 2)
965
+ raise ArgumentError, "invalid date (invalid days #{result[2]} for month #{result[1]})"
966
+ end
967
+
968
+ result
969
+ end
970
+ .,.,
971
+
972
+ # reduce 31 omitted
973
+
974
+ # reduce 32 omitted
975
+
976
+ # reduce 33 omitted
977
+
978
+ # reduce 34 omitted
979
+
980
+ # reduce 35 omitted
981
+
982
+ # reduce 36 omitted
983
+
984
+ # reduce 37 omitted
985
+
986
+ module_eval(<<'.,.,', 'parser.y', 99)
987
+ def _reduce_38(val, _values, result)
988
+ result = Date.new(val[0][0]).year_precision!
989
+ result.unspecified.year[2,2] = val[0][1]
990
+
991
+ result
992
+ end
993
+ .,.,
994
+
995
+ # reduce 39 omitted
996
+
997
+ # reduce 40 omitted
998
+
999
+ # reduce 41 omitted
1000
+
1001
+ module_eval(<<'.,.,', 'parser.y', 110)
1002
+ def _reduce_42(val, _values, result)
1003
+ result = [val[0,3].zip([1000,100,10]).reduce(0) { |s,(a,b)| s += a * b }, [false,true]]
1004
+
1005
+ result
1006
+ end
1007
+ .,.,
1008
+
1009
+ module_eval(<<'.,.,', 'parser.y', 114)
1010
+ def _reduce_43(val, _values, result)
1011
+ result = [val[0,2].zip([1000,100]).reduce(0) { |s,(a,b)| s += a * b }, [true, true]]
1012
+
1013
+ result
1014
+ end
1015
+ .,.,
1016
+
1017
+ module_eval(<<'.,.,', 'parser.y', 118)
1018
+ def _reduce_44(val, _values, result)
1019
+ result = Date.new(val[0]).unspecified!(:month)
1020
+ result.precision = :month
1021
+
1022
+ result
1023
+ end
1024
+ .,.,
1025
+
1026
+ module_eval(<<'.,.,', 'parser.y', 123)
1027
+ def _reduce_45(val, _values, result)
1028
+ result = Date.new(*val[0]).unspecified!(:day)
1029
+
1030
+ result
1031
+ end
1032
+ .,.,
1033
+
1034
+ module_eval(<<'.,.,', 'parser.y', 127)
1035
+ def _reduce_46(val, _values, result)
1036
+ result = Date.new(val[0]).unspecified!([:day,:month])
1037
+
1038
+ result
1039
+ end
1040
+ .,.,
1041
+
1042
+ module_eval(<<'.,.,', 'parser.y', 132)
1043
+ def _reduce_47(val, _values, result)
1044
+ result = Interval.new(val[0], val[2])
1045
+
1046
+ result
1047
+ end
1048
+ .,.,
1049
+
1050
+ # reduce 48 omitted
1051
+
1052
+ # reduce 49 omitted
1053
+
1054
+ # reduce 50 omitted
1055
+
1056
+ # reduce 51 omitted
1057
+
1058
+ # reduce 52 omitted
1059
+
1060
+ # reduce 53 omitted
1061
+
1062
+ # reduce 54 omitted
1063
+
1064
+ module_eval(<<'.,.,', 'parser.y', 143)
1065
+ def _reduce_55(val, _values, result)
1066
+ result = Date.new(val[1])
1067
+ result.precision = :year
1068
+
1069
+ result
1070
+ end
1071
+ .,.,
1072
+
1073
+ module_eval(<<'.,.,', 'parser.y', 148)
1074
+ def _reduce_56(val, _values, result)
1075
+ result = Date.new(-1 * val[2])
1076
+ result.precision = :year
1077
+
1078
+ result
1079
+ end
1080
+ .,.,
1081
+
1082
+ module_eval(<<'.,.,', 'parser.y', 155)
1083
+ def _reduce_57(val, _values, result)
1084
+ result = val.zip([10000,1000,100,10,1]).reduce(0) { |s,(a,b)| s += a * b }
1085
+
1086
+ result
1087
+ end
1088
+ .,.,
1089
+
1090
+ module_eval(<<'.,.,', 'parser.y', 157)
1091
+ def _reduce_58(val, _values, result)
1092
+ result = 10 * val[0] + val[1]
1093
+ result
1094
+ end
1095
+ .,.,
1096
+
1097
+ module_eval(<<'.,.,', 'parser.y', 162)
1098
+ def _reduce_59(val, _values, result)
1099
+ result = Season.new(val[0], val[2])
1100
+ val[3].each { |ua| result.send(ua) }
1101
+
1102
+ result
1103
+ end
1104
+ .,.,
1105
+
1106
+ module_eval(<<'.,.,', 'parser.y', 166)
1107
+ def _reduce_60(val, _values, result)
1108
+ result = 21
1109
+ result
1110
+ end
1111
+ .,.,
1112
+
1113
+ module_eval(<<'.,.,', 'parser.y', 167)
1114
+ def _reduce_61(val, _values, result)
1115
+ result = 22
1116
+ result
1117
+ end
1118
+ .,.,
1119
+
1120
+ module_eval(<<'.,.,', 'parser.y', 168)
1121
+ def _reduce_62(val, _values, result)
1122
+ result = 23
1123
+ result
1124
+ end
1125
+ .,.,
1126
+
1127
+ module_eval(<<'.,.,', 'parser.y', 169)
1128
+ def _reduce_63(val, _values, result)
1129
+ result = 24
1130
+ result
1131
+ end
1132
+ .,.,
1133
+
1134
+ # reduce 64 omitted
1135
+
1136
+ # reduce 65 omitted
1137
+
1138
+ # reduce 66 omitted
1139
+
1140
+ # reduce 67 omitted
1141
+
1142
+ # reduce 68 omitted
1143
+
1144
+ # reduce 69 omitted
1145
+
1146
+ # reduce 70 omitted
1147
+
1148
+ # reduce 71 omitted
1149
+
1150
+ module_eval(<<'.,.,', 'parser.y', 187)
1151
+ def _reduce_72(val, _values, result)
1152
+ result = val[0]; result.qualifier = val[1]
1153
+ result
1154
+ end
1155
+ .,.,
1156
+
1157
+ module_eval(<<'.,.,', 'parser.y', 193)
1158
+ def _reduce_73(val, _values, result)
1159
+ result = Date.new(val[0].year * 10 ** val[2]).year_precision!
1160
+
1161
+ result
1162
+ end
1163
+ .,.,
1164
+
1165
+ module_eval(<<'.,.,', 'parser.y', 197)
1166
+ def _reduce_74(val, _values, result)
1167
+ result = Date.new(val[1] * 10 ** val[3]).year_precision!
1168
+
1169
+ result
1170
+ end
1171
+ .,.,
1172
+
1173
+ module_eval(<<'.,.,', 'parser.y', 201)
1174
+ def _reduce_75(val, _values, result)
1175
+ result = Date.new(-1 * val[2] * 10 ** val[4]).year_precision!
1176
+
1177
+ result
1178
+ end
1179
+ .,.,
1180
+
1181
+ module_eval(<<'.,.,', 'parser.y', 206)
1182
+ def _reduce_76(val, _values, result)
1183
+ result = val[0]; result.calendar = val[1]
1184
+ result
1185
+ end
1186
+ .,.,
1187
+
1188
+ module_eval(<<'.,.,', 'parser.y', 212)
1189
+ def _reduce_77(val, _values, result)
1190
+ d = val[0,3].zip([1000,100,10]).reduce(0) { |s,(a,b)| s += a * b }
1191
+ result = EDTF::Decade.new(d)
1192
+
1193
+ result
1194
+ end
1195
+ .,.,
1196
+
1197
+ module_eval(<<'.,.,', 'parser.y', 217)
1198
+ def _reduce_78(val, _values, result)
1199
+ d = val[0,2].zip([1000,100]).reduce(0) { |s,(a,b)| s += a * b }
1200
+ result = EDTF::Century.new(d)
1201
+
1202
+ result
1203
+ end
1204
+ .,.,
1205
+
1206
+ module_eval(<<'.,.,', 'parser.y', 223)
1207
+ def _reduce_79(val, _values, result)
1208
+ result = val[1].choice!
1209
+ result
1210
+ end
1211
+ .,.,
1212
+
1213
+ module_eval(<<'.,.,', 'parser.y', 225)
1214
+ def _reduce_80(val, _values, result)
1215
+ result = val[1]
1216
+ result
1217
+ end
1218
+ .,.,
1219
+
1220
+ module_eval(<<'.,.,', 'parser.y', 227)
1221
+ def _reduce_81(val, _values, result)
1222
+ result = EDTF::Set.new(val[0]).earlier!
1223
+ result
1224
+ end
1225
+ .,.,
1226
+
1227
+ module_eval(<<'.,.,', 'parser.y', 228)
1228
+ def _reduce_82(val, _values, result)
1229
+ result = EDTF::Set.new([val[0]] + val[2] + [val[4]]).earlier!.later!
1230
+ result
1231
+ end
1232
+ .,.,
1233
+
1234
+ module_eval(<<'.,.,', 'parser.y', 229)
1235
+ def _reduce_83(val, _values, result)
1236
+ result = EDTF::Set.new([val[0]] + val[2]).earlier!
1237
+ result
1238
+ end
1239
+ .,.,
1240
+
1241
+ module_eval(<<'.,.,', 'parser.y', 230)
1242
+ def _reduce_84(val, _values, result)
1243
+ result = EDTF::Set.new([val[0]] + [val[2]]).earlier!.later!
1244
+ result
1245
+ end
1246
+ .,.,
1247
+
1248
+ module_eval(<<'.,.,', 'parser.y', 231)
1249
+ def _reduce_85(val, _values, result)
1250
+ result = EDTF::Set.new(val[0] + [val[2]]).later!
1251
+ result
1252
+ end
1253
+ .,.,
1254
+
1255
+ module_eval(<<'.,.,', 'parser.y', 232)
1256
+ def _reduce_86(val, _values, result)
1257
+ result = EDTF::Set.new(*val[0])
1258
+ result
1259
+ end
1260
+ .,.,
1261
+
1262
+ module_eval(<<'.,.,', 'parser.y', 233)
1263
+ def _reduce_87(val, _values, result)
1264
+ result = EDTF::Set.new(val[0]).later!
1265
+ result
1266
+ end
1267
+ .,.,
1268
+
1269
+ module_eval(<<'.,.,', 'parser.y', 236)
1270
+ def _reduce_88(val, _values, result)
1271
+ result = [val[0]].flatten
1272
+ result
1273
+ end
1274
+ .,.,
1275
+
1276
+ module_eval(<<'.,.,', 'parser.y', 237)
1277
+ def _reduce_89(val, _values, result)
1278
+ result = val[0] + [val[2]].flatten
1279
+ result
1280
+ end
1281
+ .,.,
1282
+
1283
+ # reduce 90 omitted
1284
+
1285
+ # reduce 91 omitted
1286
+
1287
+ # reduce 92 omitted
1288
+
1289
+ # reduce 93 omitted
1290
+
1291
+ # reduce 94 omitted
1292
+
1293
+ module_eval(<<'.,.,', 'parser.y', 249)
1294
+ def _reduce_95(val, _values, result)
1295
+ result = val[1]
1296
+ result
1297
+ end
1298
+ .,.,
1299
+
1300
+ module_eval(<<'.,.,', 'parser.y', 251)
1301
+ def _reduce_96(val, _values, result)
1302
+ result = Date.new(*val[0]).year_precision!
1303
+ result
1304
+ end
1305
+ .,.,
1306
+
1307
+ module_eval(<<'.,.,', 'parser.y', 252)
1308
+ def _reduce_97(val, _values, result)
1309
+ result = Date.new(*val[0]).month_precision!
1310
+ result
1311
+ end
1312
+ .,.,
1313
+
1314
+ module_eval(<<'.,.,', 'parser.y', 253)
1315
+ def _reduce_98(val, _values, result)
1316
+ result = Date.new(val[0]).year_precision!
1317
+ result
1318
+ end
1319
+ .,.,
1320
+
1321
+ module_eval(<<'.,.,', 'parser.y', 256)
1322
+ def _reduce_99(val, _values, result)
1323
+ result = (Date.new(val[0]).day_precision! .. Date.new(val[2]).day_precision!)
1324
+ result
1325
+ end
1326
+ .,.,
1327
+
1328
+ module_eval(<<'.,.,', 'parser.y', 257)
1329
+ def _reduce_100(val, _values, result)
1330
+ result = (Date.new(val[0]).month_precision! .. Date.new(val[2]).month_precision!)
1331
+ result
1332
+ end
1333
+ .,.,
1334
+
1335
+ module_eval(<<'.,.,', 'parser.y', 258)
1336
+ def _reduce_101(val, _values, result)
1337
+ result = (Date.new(val[0]).year_precision! .. Date.new(val[2]).year_precision!)
1338
+ result
1339
+ end
1340
+ .,.,
1341
+
1342
+ module_eval(<<'.,.,', 'parser.y', 264)
1343
+ def _reduce_102(val, _values, result)
1344
+ result = Date.new(val[0][0], val[2], val[4])
1345
+ result.unspecified.year[2,2] = val[0][1]
1346
+
1347
+ result
1348
+ end
1349
+ .,.,
1350
+
1351
+ module_eval(<<'.,.,', 'parser.y', 269)
1352
+ def _reduce_103(val, _values, result)
1353
+ result = Date.new(val[0][0], 1, val[5])
1354
+ result.unspecified.year[2,2] = val[0][1]
1355
+ result.unspecified!(:month)
1356
+
1357
+ result
1358
+ end
1359
+ .,.,
1360
+
1361
+ module_eval(<<'.,.,', 'parser.y', 275)
1362
+ def _reduce_104(val, _values, result)
1363
+ result = Date.new(val[0][0], 1, 1)
1364
+ result.unspecified.year[2,2] = val[0][1]
1365
+ result.unspecified!([:month, :day])
1366
+
1367
+ result
1368
+ end
1369
+ .,.,
1370
+
1371
+ module_eval(<<'.,.,', 'parser.y', 281)
1372
+ def _reduce_105(val, _values, result)
1373
+ result = Date.new(val[0][0], val[2], 1)
1374
+ result.unspecified.year[2,2] = val[0][1]
1375
+ result.unspecified!(:day)
1376
+
1377
+ result
1378
+ end
1379
+ .,.,
1380
+
1381
+ module_eval(<<'.,.,', 'parser.y', 287)
1382
+ def _reduce_106(val, _values, result)
1383
+ result = Date.new(val[0], 1, val[5])
1384
+ result.unspecified!(:month)
1385
+
1386
+ result
1387
+ end
1388
+ .,.,
1389
+
1390
+ # reduce 107 omitted
1391
+
1392
+ module_eval(<<'.,.,', 'parser.y', 294)
1393
+ def _reduce_108(val, _values, result)
1394
+ result = uoa(val[1], val[3])
1395
+ result
1396
+ end
1397
+ .,.,
1398
+
1399
+ module_eval(<<'.,.,', 'parser.y', 297)
1400
+ def _reduce_109(val, _values, result)
1401
+ result = val[0].year_precision!
1402
+ result
1403
+ end
1404
+ .,.,
1405
+
1406
+ module_eval(<<'.,.,', 'parser.y', 298)
1407
+ def _reduce_110(val, _values, result)
1408
+ result = val[0][0].month_precision!
1409
+ result
1410
+ end
1411
+ .,.,
1412
+
1413
+ module_eval(<<'.,.,', 'parser.y', 299)
1414
+ def _reduce_111(val, _values, result)
1415
+ result = val[0].day_precision!
1416
+ result
1417
+ end
1418
+ .,.,
1419
+
1420
+ module_eval(<<'.,.,', 'parser.y', 301)
1421
+ def _reduce_112(val, _values, result)
1422
+ result = uoa(Date.new(val[0]), val[1], :year)
1423
+ result
1424
+ end
1425
+ .,.,
1426
+
1427
+ module_eval(<<'.,.,', 'parser.y', 305)
1428
+ def _reduce_113(val, _values, result)
1429
+ result = [uoa(val[0].change(:month => val[2]), val[3], [:month, :year])]
1430
+
1431
+ result
1432
+ end
1433
+ .,.,
1434
+
1435
+ module_eval(<<'.,.,', 'parser.y', 308)
1436
+ def _reduce_114(val, _values, result)
1437
+ result = [uoa(Date.new(val[0], val[2]), val[3], [:year, :month])]
1438
+
1439
+ result
1440
+ end
1441
+ .,.,
1442
+
1443
+ module_eval(<<'.,.,', 'parser.y', 311)
1444
+ def _reduce_115(val, _values, result)
1445
+ result = [uoa(Date.new(val[0], val[2]), val[4], [:month]), true]
1446
+
1447
+ result
1448
+ end
1449
+ .,.,
1450
+
1451
+ module_eval(<<'.,.,', 'parser.y', 314)
1452
+ def _reduce_116(val, _values, result)
1453
+ result = [uoa(val[0].change(:month => val[2]), val[4], [:month]), true]
1454
+
1455
+ result
1456
+ end
1457
+ .,.,
1458
+
1459
+ module_eval(<<'.,.,', 'parser.y', 320)
1460
+ def _reduce_117(val, _values, result)
1461
+ result = uoa(val[0][0].change(:day => val[2]), val[3], val[0][1] ? [:day] : nil)
1462
+
1463
+ result
1464
+ end
1465
+ .,.,
1466
+
1467
+ module_eval(<<'.,.,', 'parser.y', 323)
1468
+ def _reduce_118(val, _values, result)
1469
+ result = uoa(val[0][0].change(:day => val[2]), val[4], [:day])
1470
+
1471
+ result
1472
+ end
1473
+ .,.,
1474
+
1475
+ module_eval(<<'.,.,', 'parser.y', 326)
1476
+ def _reduce_119(val, _values, result)
1477
+ result = uoa(uoa(Date.new(val[0], val[2], val[5]), val[4], :month), val[6], :day)
1478
+
1479
+ result
1480
+ end
1481
+ .,.,
1482
+
1483
+ module_eval(<<'.,.,', 'parser.y', 329)
1484
+ def _reduce_120(val, _values, result)
1485
+ result = uoa(Date.new(val[0][0], val[0][1], val[2]), val[3])
1486
+
1487
+ result
1488
+ end
1489
+ .,.,
1490
+
1491
+ module_eval(<<'.,.,', 'parser.y', 332)
1492
+ def _reduce_121(val, _values, result)
1493
+ result = uoa(Date.new(val[0][0], val[0][1], val[2]), val[4], [:day])
1494
+
1495
+ result
1496
+ end
1497
+ .,.,
1498
+
1499
+ module_eval(<<'.,.,', 'parser.y', 335)
1500
+ def _reduce_122(val, _values, result)
1501
+ result = uoa(Date.new(val[0], val[2], val[4]), val[6], [:month, :day])
1502
+
1503
+ result
1504
+ end
1505
+ .,.,
1506
+
1507
+ module_eval(<<'.,.,', 'parser.y', 338)
1508
+ def _reduce_123(val, _values, result)
1509
+ result = Date.new(val[0], val[2], val[4])
1510
+ result = uoa(result, val[6], [:day])
1511
+ result = uoa(result, val[8], [:month, :day])
1512
+
1513
+ result
1514
+ end
1515
+ .,.,
1516
+
1517
+ module_eval(<<'.,.,', 'parser.y', 343)
1518
+ def _reduce_124(val, _values, result)
1519
+ result = val[0].change(:month => val[2], :day => val[4])
1520
+ result = uoa(result, val[6], [:month, :day])
1521
+
1522
+ result
1523
+ end
1524
+ .,.,
1525
+
1526
+ module_eval(<<'.,.,', 'parser.y', 347)
1527
+ def _reduce_125(val, _values, result)
1528
+ result = val[0].change(:month => val[2], :day => val[4])
1529
+ result = uoa(result, val[6], [:day])
1530
+ result = uoa(result, val[8], [:month, :day])
1531
+
1532
+ result
1533
+ end
1534
+ .,.,
1535
+
1536
+ module_eval(<<'.,.,', 'parser.y', 358)
1537
+ def _reduce_126(val, _values, result)
1538
+ result = []
1539
+ result
1540
+ end
1541
+ .,.,
1542
+
1543
+ # reduce 127 omitted
1544
+
1545
+ module_eval(<<'.,.,', 'parser.y', 362)
1546
+ def _reduce_128(val, _values, result)
1547
+ result = 0
1548
+ result
1549
+ end
1550
+ .,.,
1551
+
1552
+ # reduce 129 omitted
1553
+
1554
+ # reduce 130 omitted
1555
+
1556
+ # reduce 131 omitted
1557
+
1558
+ # reduce 132 omitted
1559
+
1560
+ # reduce 133 omitted
1561
+
1562
+ # reduce 134 omitted
1563
+
1564
+ # reduce 135 omitted
1565
+
1566
+ # reduce 136 omitted
1567
+
1568
+ # reduce 137 omitted
1569
+
1570
+ # reduce 138 omitted
1571
+
1572
+ module_eval(<<'.,.,', 'parser.y', 368)
1573
+ def _reduce_139(val, _values, result)
1574
+ result = val[1]
1575
+ result
1576
+ end
1577
+ .,.,
1578
+
1579
+ module_eval(<<'.,.,', 'parser.y', 369)
1580
+ def _reduce_140(val, _values, result)
1581
+ result = 10
1582
+ result
1583
+ end
1584
+ .,.,
1585
+
1586
+ module_eval(<<'.,.,', 'parser.y', 370)
1587
+ def _reduce_141(val, _values, result)
1588
+ result = 11
1589
+ result
1590
+ end
1591
+ .,.,
1592
+
1593
+ module_eval(<<'.,.,', 'parser.y', 371)
1594
+ def _reduce_142(val, _values, result)
1595
+ result = 12
1596
+ result
1597
+ end
1598
+ .,.,
1599
+
1600
+ # reduce 143 omitted
1601
+
1602
+ module_eval(<<'.,.,', 'parser.y', 375)
1603
+ def _reduce_144(val, _values, result)
1604
+ result = 13
1605
+ result
1606
+ end
1607
+ .,.,
1608
+
1609
+ module_eval(<<'.,.,', 'parser.y', 378)
1610
+ def _reduce_145(val, _values, result)
1611
+ result = val[1]
1612
+ result
1613
+ end
1614
+ .,.,
1615
+
1616
+ module_eval(<<'.,.,', 'parser.y', 379)
1617
+ def _reduce_146(val, _values, result)
1618
+ result = 10 + val[1]
1619
+ result
1620
+ end
1621
+ .,.,
1622
+
1623
+ module_eval(<<'.,.,', 'parser.y', 380)
1624
+ def _reduce_147(val, _values, result)
1625
+ result = 20
1626
+ result
1627
+ end
1628
+ .,.,
1629
+
1630
+ module_eval(<<'.,.,', 'parser.y', 381)
1631
+ def _reduce_148(val, _values, result)
1632
+ result = 21
1633
+ result
1634
+ end
1635
+ .,.,
1636
+
1637
+ module_eval(<<'.,.,', 'parser.y', 382)
1638
+ def _reduce_149(val, _values, result)
1639
+ result = 22
1640
+ result
1641
+ end
1642
+ .,.,
1643
+
1644
+ module_eval(<<'.,.,', 'parser.y', 383)
1645
+ def _reduce_150(val, _values, result)
1646
+ result = 23
1647
+ result
1648
+ end
1649
+ .,.,
1650
+
1651
+ # reduce 151 omitted
1652
+
1653
+ # reduce 152 omitted
1654
+
1655
+ # reduce 153 omitted
1656
+
1657
+ module_eval(<<'.,.,', 'parser.y', 391)
1658
+ def _reduce_154(val, _values, result)
1659
+ result = 24
1660
+ result
1661
+ end
1662
+ .,.,
1663
+
1664
+ module_eval(<<'.,.,', 'parser.y', 392)
1665
+ def _reduce_155(val, _values, result)
1666
+ result = 25
1667
+ result
1668
+ end
1669
+ .,.,
1670
+
1671
+ module_eval(<<'.,.,', 'parser.y', 393)
1672
+ def _reduce_156(val, _values, result)
1673
+ result = 26
1674
+ result
1675
+ end
1676
+ .,.,
1677
+
1678
+ module_eval(<<'.,.,', 'parser.y', 394)
1679
+ def _reduce_157(val, _values, result)
1680
+ result = 27
1681
+ result
1682
+ end
1683
+ .,.,
1684
+
1685
+ module_eval(<<'.,.,', 'parser.y', 395)
1686
+ def _reduce_158(val, _values, result)
1687
+ result = 28
1688
+ result
1689
+ end
1690
+ .,.,
1691
+
1692
+ module_eval(<<'.,.,', 'parser.y', 396)
1693
+ def _reduce_159(val, _values, result)
1694
+ result = 29
1695
+ result
1696
+ end
1697
+ .,.,
1698
+
1699
+ # reduce 160 omitted
1700
+
1701
+ module_eval(<<'.,.,', 'parser.y', 400)
1702
+ def _reduce_161(val, _values, result)
1703
+ result = 30
1704
+ result
1705
+ end
1706
+ .,.,
1707
+
1708
+ # reduce 162 omitted
1709
+
1710
+ module_eval(<<'.,.,', 'parser.y', 404)
1711
+ def _reduce_163(val, _values, result)
1712
+ result = 31
1713
+ result
1714
+ end
1715
+ .,.,
1716
+
1717
+ # reduce 164 omitted
1718
+
1719
+ module_eval(<<'.,.,', 'parser.y', 408)
1720
+ def _reduce_165(val, _values, result)
1721
+ result = 30 + val[1]
1722
+ result
1723
+ end
1724
+ .,.,
1725
+
1726
+ module_eval(<<'.,.,', 'parser.y', 409)
1727
+ def _reduce_166(val, _values, result)
1728
+ result = 40 + val[1]
1729
+ result
1730
+ end
1731
+ .,.,
1732
+
1733
+ module_eval(<<'.,.,', 'parser.y', 410)
1734
+ def _reduce_167(val, _values, result)
1735
+ result = 50 + val[1]
1736
+ result
1737
+ end
1738
+ .,.,
1739
+
1740
+ # reduce 168 omitted
1741
+
1742
+ # reduce 169 omitted
1743
+
1744
+ module_eval(<<'.,.,', 'parser.y', 417)
1745
+ def _reduce_170(val, _values, result)
1746
+ result = val[0]
1747
+ result
1748
+ end
1749
+ .,.,
1750
+
1751
+ module_eval(<<'.,.,', 'parser.y', 418)
1752
+ def _reduce_171(val, _values, result)
1753
+ result = 10 * val[0] + val[1]
1754
+ result
1755
+ end
1756
+ .,.,
1757
+
1758
+ module_eval(<<'.,.,', 'parser.y', 421)
1759
+ def _reduce_172(val, _values, result)
1760
+ result = val.zip([100,10,1]).reduce(0) { |s,(a,b)| s += a * b }
1761
+
1762
+ result
1763
+ end
1764
+ .,.,
1765
+
1766
+ module_eval(<<'.,.,', 'parser.y', 425)
1767
+ def _reduce_173(val, _values, result)
1768
+ result = val.zip([1000,100,10,1]).reduce(0) { |s,(a,b)| s += a * b }
1769
+
1770
+ result
1771
+ end
1772
+ .,.,
1773
+
1774
+ module_eval(<<'.,.,', 'parser.y', 429)
1775
+ def _reduce_174(val, _values, result)
1776
+ result = val[0]
1777
+ result
1778
+ end
1779
+ .,.,
1780
+
1781
+ module_eval(<<'.,.,', 'parser.y', 430)
1782
+ def _reduce_175(val, _values, result)
1783
+ result = 10 * val[0] + val[1]
1784
+ result
1785
+ end
1786
+ .,.,
1787
+
1788
+ def _reduce_none(val, _values, result)
1789
+ val[0]
1790
+ end
1791
+
1792
+ end # class Parser
1793
+ end # module EDTF