edtf 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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