edtf 4.0.0 → 4.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.
- checksums.yaml +4 -4
- data/README.md +56 -21
- data/lib/edtf/date.rb +15 -4
- data/lib/edtf/interval.rb +4 -4
- data/lib/edtf/parser.rb +173 -114
- data/lib/edtf/parser.y +67 -6
- data/lib/edtf/version.rb +1 -1
- data/lib/edtf.rb +27 -33
- metadata +2 -2
data/lib/edtf/parser.rb
CHANGED
|
@@ -11,16 +11,42 @@ require 'strscan'
|
|
|
11
11
|
module EDTF
|
|
12
12
|
class Parser < Racc::Parser
|
|
13
13
|
|
|
14
|
-
module_eval(<<'...end parser.y/module_eval...', 'parser.y',
|
|
14
|
+
module_eval(<<'...end parser.y/module_eval...', 'parser.y', 489)
|
|
15
15
|
|
|
16
16
|
@defaults = {
|
|
17
17
|
:level => 2,
|
|
18
|
-
:debug => false
|
|
18
|
+
:debug => false,
|
|
19
|
+
:warn => true
|
|
20
|
+
}.freeze
|
|
21
|
+
|
|
22
|
+
# Input that EDTF-Ruby 5.0 parses differently.
|
|
23
|
+
# Legacy syntax will be accepted only in legacy mode;
|
|
24
|
+
# lossy legacy syntax has no ISO 8601-2 equivalent.
|
|
25
|
+
LEGACY = {
|
|
26
|
+
combined_qualifier: '`?~` is legacy syntax, use `%`',
|
|
27
|
+
parentheses: 'parentheses are legacy syntax, ' \
|
|
28
|
+
'EDTF-Ruby 5.0 qualifies parts from the left instead, e.g. `2004-?06-11`',
|
|
29
|
+
open: '`open` is legacy syntax, use `..`',
|
|
30
|
+
unknown: '`unknown` is legacy syntax, leave the interval end empty',
|
|
31
|
+
unspecified: '`u` is legacy syntax, use `X`',
|
|
32
|
+
masked: 'masked precision (`198x`) is legacy syntax, ' \
|
|
33
|
+
'EDTF-Ruby 5.0 reads it as a decade (`198`) or century (`19`)',
|
|
34
|
+
lowercase_y: '`y` is legacy syntax, use `Y`',
|
|
35
|
+
lowercase_e: '`e` is legacy syntax, use `E`',
|
|
36
|
+
negative_zero: '`-0000` is legacy syntax, use `0000`',
|
|
37
|
+
caret: 'calendars and season qualifiers (`^…`) are legacy syntax, ' \
|
|
38
|
+
'EDTF-Ruby 5.0 converts hemispheres to seasons, e.g. `2001-21^southern` ' \
|
|
39
|
+
'to `2001-29`, and drops the rest'
|
|
40
|
+
}.freeze
|
|
41
|
+
|
|
42
|
+
CHANGED = {
|
|
43
|
+
unknown_date: 'EDTF-Ruby 5.0 parses this as a date ' \
|
|
44
|
+
'with an unspecified year instead of EDTF::Unknown'
|
|
19
45
|
}.freeze
|
|
20
46
|
|
|
21
47
|
class << self; attr_reader :defaults; end
|
|
22
48
|
|
|
23
|
-
attr_reader :options
|
|
49
|
+
attr_reader :options, :deprecations
|
|
24
50
|
|
|
25
51
|
def initialize(options = {})
|
|
26
52
|
@options = Parser.defaults.merge(options)
|
|
@@ -40,7 +66,16 @@ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 483)
|
|
|
40
66
|
def parse!(input)
|
|
41
67
|
@yydebug = debug?
|
|
42
68
|
@src = StringScanner.new(input)
|
|
43
|
-
|
|
69
|
+
@deprecations = []
|
|
70
|
+
result = do_parse
|
|
71
|
+
@deprecations.uniq!
|
|
72
|
+
warn_deprecations(input) if options[:warn]
|
|
73
|
+
result
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# Returns true if the last successful parse used legacy syntax.
|
|
77
|
+
def legacy?
|
|
78
|
+
deprecations.any? { |d| LEGACY.key?(d) }
|
|
44
79
|
end
|
|
45
80
|
|
|
46
81
|
def on_error(tid, value, stack)
|
|
@@ -48,6 +83,16 @@ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 483)
|
|
|
48
83
|
"failed to parse date: unexpected '#{value}' at #{stack.inspect}"
|
|
49
84
|
end
|
|
50
85
|
|
|
86
|
+
def deprecate(name)
|
|
87
|
+
@deprecations << name
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def warn_deprecations(input)
|
|
91
|
+
return if deprecations.empty?
|
|
92
|
+
messages = deprecations.map { |d| LEGACY[d] || CHANGED[d] }
|
|
93
|
+
warn "EDTF #{input.inspect}: #{messages.join('; ')}", category: :deprecated
|
|
94
|
+
end
|
|
95
|
+
|
|
51
96
|
def apply_uncertainty(date, uncertainty, scope = nil)
|
|
52
97
|
uncertainty.each do |u|
|
|
53
98
|
scope.nil? ? date.send(u) : date.send(u, scope)
|
|
@@ -64,6 +109,7 @@ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 483)
|
|
|
64
109
|
# when @src.scan(/\s+/)
|
|
65
110
|
# ignore whitespace
|
|
66
111
|
when @src.scan(/\(/)
|
|
112
|
+
deprecate :parentheses
|
|
67
113
|
['(', @src.matched]
|
|
68
114
|
# when @src.scan(/\)\?~-/)
|
|
69
115
|
# [:PUA, [:uncertain!, :approximate!]]
|
|
@@ -86,6 +132,7 @@ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 483)
|
|
|
86
132
|
when @src.scan(/Z/)
|
|
87
133
|
[:Z, @src.matched]
|
|
88
134
|
when @src.scan(/\?~/)
|
|
135
|
+
deprecate :combined_qualifier
|
|
89
136
|
[:UA, [:uncertain!, :approximate!]]
|
|
90
137
|
when @src.scan(/%/)
|
|
91
138
|
[:UA, [:uncertain!, :approximate!]]
|
|
@@ -94,22 +141,29 @@ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 483)
|
|
|
94
141
|
when @src.scan(/~/)
|
|
95
142
|
[:UA, [:approximate!]]
|
|
96
143
|
when @src.scan(/open/i)
|
|
144
|
+
deprecate :open
|
|
97
145
|
[:OPEN, :open]
|
|
98
146
|
when @src.scan(/unkn?own/i) # matches 'unkown' typo too
|
|
147
|
+
deprecate :unknown
|
|
99
148
|
[:UNKNOWN, :unknown]
|
|
100
149
|
when @src.scan(/u/)
|
|
150
|
+
deprecate :unspecified
|
|
101
151
|
[:U, @src.matched]
|
|
102
152
|
when @src.scan(/X/)
|
|
103
153
|
[:U, @src.matched]
|
|
104
154
|
when @src.scan(/x/)
|
|
155
|
+
deprecate :masked
|
|
105
156
|
[:X, @src.matched]
|
|
106
157
|
when @src.scan(/y/i)
|
|
158
|
+
deprecate :lowercase_y if @src.matched == 'y'
|
|
107
159
|
[:LONGYEAR, @src.matched]
|
|
108
160
|
when @src.scan(/e/i)
|
|
161
|
+
deprecate :lowercase_e if @src.matched == 'e'
|
|
109
162
|
[:E, @src.matched]
|
|
110
163
|
when @src.scan(/\+/)
|
|
111
164
|
['+', @src.matched]
|
|
112
165
|
when @src.scan(/-\(/)
|
|
166
|
+
deprecate :parentheses
|
|
113
167
|
['-(', @src.matched]
|
|
114
168
|
when @src.scan(/-/)
|
|
115
169
|
['-', @src.matched]
|
|
@@ -122,6 +176,7 @@ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 483)
|
|
|
122
176
|
when @src.scan(/\s*,\s*/)
|
|
123
177
|
[',', ',']
|
|
124
178
|
when @src.scan(/\^\w+/)
|
|
179
|
+
deprecate :caret
|
|
125
180
|
['^', @src.matched[1..-1]]
|
|
126
181
|
when @src.scan(/\d/)
|
|
127
182
|
[@src.matched, @src.matched.to_i]
|
|
@@ -871,7 +926,7 @@ Racc_token_to_s_table = [
|
|
|
871
926
|
"d01_30" ]
|
|
872
927
|
Ractor.make_shareable(Racc_token_to_s_table) if defined?(Ractor)
|
|
873
928
|
|
|
874
|
-
Racc_debug_parser =
|
|
929
|
+
Racc_debug_parser = false
|
|
875
930
|
|
|
876
931
|
##### State transition tables end #####
|
|
877
932
|
|
|
@@ -995,14 +1050,16 @@ module_eval(<<'.,.,', 'parser.y', 54)
|
|
|
995
1050
|
|
|
996
1051
|
# reduce 23 omitted
|
|
997
1052
|
|
|
998
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1053
|
+
module_eval(<<'.,.,', 'parser.y', 59)
|
|
999
1054
|
def _reduce_24(val, _values, result)
|
|
1000
|
-
|
|
1055
|
+
result = -val[1]
|
|
1056
|
+
deprecate :negative_zero if result.zero?
|
|
1057
|
+
|
|
1001
1058
|
result
|
|
1002
1059
|
end
|
|
1003
1060
|
.,.,
|
|
1004
1061
|
|
|
1005
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1062
|
+
module_eval(<<'.,.,', 'parser.y', 64)
|
|
1006
1063
|
def _reduce_25(val, _values, result)
|
|
1007
1064
|
result = val.zip([1000,100,10,1]).reduce(0) { |s,(a,b)| s += a * b }
|
|
1008
1065
|
|
|
@@ -1014,14 +1071,14 @@ module_eval(<<'.,.,', 'parser.y', 61)
|
|
|
1014
1071
|
|
|
1015
1072
|
# reduce 27 omitted
|
|
1016
1073
|
|
|
1017
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1074
|
+
module_eval(<<'.,.,', 'parser.y', 70)
|
|
1018
1075
|
def _reduce_28(val, _values, result)
|
|
1019
1076
|
result = [val[0], val[2]]
|
|
1020
1077
|
result
|
|
1021
1078
|
end
|
|
1022
1079
|
.,.,
|
|
1023
1080
|
|
|
1024
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1081
|
+
module_eval(<<'.,.,', 'parser.y', 77)
|
|
1025
1082
|
def _reduce_29(val, _values, result)
|
|
1026
1083
|
result = val[0] << val[2]
|
|
1027
1084
|
if result[2] > 31 || (result[2] > 30 && [2,4,6,9,11].include?(result[1])) || (result[2] > 29 && result[1] == 2)
|
|
@@ -1048,14 +1105,16 @@ module_eval(<<'.,.,', 'parser.y', 74)
|
|
|
1048
1105
|
|
|
1049
1106
|
# reduce 37 omitted
|
|
1050
1107
|
|
|
1051
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1108
|
+
module_eval(<<'.,.,', 'parser.y', 97)
|
|
1052
1109
|
def _reduce_38(val, _values, result)
|
|
1053
|
-
|
|
1110
|
+
result = EDTF::Unknown.new
|
|
1111
|
+
deprecate :unknown_date
|
|
1112
|
+
|
|
1054
1113
|
result
|
|
1055
1114
|
end
|
|
1056
1115
|
.,.,
|
|
1057
1116
|
|
|
1058
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1117
|
+
module_eval(<<'.,.,', 'parser.y', 105)
|
|
1059
1118
|
def _reduce_39(val, _values, result)
|
|
1060
1119
|
result = Date.gregorian(val[0][0]).year_precision!
|
|
1061
1120
|
result.unspecified.year[2,2] = val[0][1]
|
|
@@ -1072,7 +1131,7 @@ module_eval(<<'.,.,', 'parser.y', 99)
|
|
|
1072
1131
|
|
|
1073
1132
|
# reduce 43 omitted
|
|
1074
1133
|
|
|
1075
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1134
|
+
module_eval(<<'.,.,', 'parser.y', 116)
|
|
1076
1135
|
def _reduce_44(val, _values, result)
|
|
1077
1136
|
result = val[1]
|
|
1078
1137
|
result[0] = -result[0]
|
|
@@ -1081,7 +1140,7 @@ module_eval(<<'.,.,', 'parser.y', 110)
|
|
|
1081
1140
|
end
|
|
1082
1141
|
.,.,
|
|
1083
1142
|
|
|
1084
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1143
|
+
module_eval(<<'.,.,', 'parser.y', 123)
|
|
1085
1144
|
def _reduce_45(val, _values, result)
|
|
1086
1145
|
result = [val[0,3].zip([1000,100,10]).reduce(0) { |s,(a,b)| s += a * b }, [false,true]]
|
|
1087
1146
|
|
|
@@ -1089,7 +1148,7 @@ module_eval(<<'.,.,', 'parser.y', 117)
|
|
|
1089
1148
|
end
|
|
1090
1149
|
.,.,
|
|
1091
1150
|
|
|
1092
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1151
|
+
module_eval(<<'.,.,', 'parser.y', 127)
|
|
1093
1152
|
def _reduce_46(val, _values, result)
|
|
1094
1153
|
result = [val[0,2].zip([1000,100]).reduce(0) { |s,(a,b)| s += a * b }, [true, true]]
|
|
1095
1154
|
|
|
@@ -1097,7 +1156,7 @@ module_eval(<<'.,.,', 'parser.y', 121)
|
|
|
1097
1156
|
end
|
|
1098
1157
|
.,.,
|
|
1099
1158
|
|
|
1100
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1159
|
+
module_eval(<<'.,.,', 'parser.y', 131)
|
|
1101
1160
|
def _reduce_47(val, _values, result)
|
|
1102
1161
|
result = Date.gregorian(val[0]).unspecified!(:month)
|
|
1103
1162
|
result.precision = :month
|
|
@@ -1106,7 +1165,7 @@ module_eval(<<'.,.,', 'parser.y', 125)
|
|
|
1106
1165
|
end
|
|
1107
1166
|
.,.,
|
|
1108
1167
|
|
|
1109
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1168
|
+
module_eval(<<'.,.,', 'parser.y', 136)
|
|
1110
1169
|
def _reduce_48(val, _values, result)
|
|
1111
1170
|
result = Date.gregorian(*val[0]).unspecified!(:day)
|
|
1112
1171
|
|
|
@@ -1114,7 +1173,7 @@ module_eval(<<'.,.,', 'parser.y', 130)
|
|
|
1114
1173
|
end
|
|
1115
1174
|
.,.,
|
|
1116
1175
|
|
|
1117
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1176
|
+
module_eval(<<'.,.,', 'parser.y', 140)
|
|
1118
1177
|
def _reduce_49(val, _values, result)
|
|
1119
1178
|
result = Date.gregorian(val[0]).unspecified!([:day,:month])
|
|
1120
1179
|
|
|
@@ -1128,7 +1187,7 @@ module_eval(<<'.,.,', 'parser.y', 134)
|
|
|
1128
1187
|
|
|
1129
1188
|
# reduce 52 omitted
|
|
1130
1189
|
|
|
1131
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1190
|
+
module_eval(<<'.,.,', 'parser.y', 146)
|
|
1132
1191
|
def _reduce_53(val, _values, result)
|
|
1133
1192
|
result = Interval.new(val[0], val[2])
|
|
1134
1193
|
|
|
@@ -1140,7 +1199,7 @@ module_eval(<<'.,.,', 'parser.y', 140)
|
|
|
1140
1199
|
|
|
1141
1200
|
# reduce 55 omitted
|
|
1142
1201
|
|
|
1143
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1202
|
+
module_eval(<<'.,.,', 'parser.y', 152)
|
|
1144
1203
|
def _reduce_56(val, _values, result)
|
|
1145
1204
|
result = Interval.new(:open, val[2])
|
|
1146
1205
|
|
|
@@ -1148,7 +1207,7 @@ module_eval(<<'.,.,', 'parser.y', 146)
|
|
|
1148
1207
|
end
|
|
1149
1208
|
.,.,
|
|
1150
1209
|
|
|
1151
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1210
|
+
module_eval(<<'.,.,', 'parser.y', 156)
|
|
1152
1211
|
def _reduce_57(val, _values, result)
|
|
1153
1212
|
result = Interval.new(val[0], :open)
|
|
1154
1213
|
|
|
@@ -1168,7 +1227,7 @@ module_eval(<<'.,.,', 'parser.y', 150)
|
|
|
1168
1227
|
|
|
1169
1228
|
# reduce 63 omitted
|
|
1170
1229
|
|
|
1171
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1230
|
+
module_eval(<<'.,.,', 'parser.y', 164)
|
|
1172
1231
|
def _reduce_64(val, _values, result)
|
|
1173
1232
|
result = Interval.new(:unknown, val[1])
|
|
1174
1233
|
|
|
@@ -1176,7 +1235,7 @@ module_eval(<<'.,.,', 'parser.y', 158)
|
|
|
1176
1235
|
end
|
|
1177
1236
|
.,.,
|
|
1178
1237
|
|
|
1179
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1238
|
+
module_eval(<<'.,.,', 'parser.y', 168)
|
|
1180
1239
|
def _reduce_65(val, _values, result)
|
|
1181
1240
|
result = Interval.new(val[0], :unknown)
|
|
1182
1241
|
|
|
@@ -1184,7 +1243,7 @@ module_eval(<<'.,.,', 'parser.y', 162)
|
|
|
1184
1243
|
end
|
|
1185
1244
|
.,.,
|
|
1186
1245
|
|
|
1187
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1246
|
+
module_eval(<<'.,.,', 'parser.y', 172)
|
|
1188
1247
|
def _reduce_66(val, _values, result)
|
|
1189
1248
|
result = Interval.new(:unknown, val[2])
|
|
1190
1249
|
|
|
@@ -1192,7 +1251,7 @@ module_eval(<<'.,.,', 'parser.y', 166)
|
|
|
1192
1251
|
end
|
|
1193
1252
|
.,.,
|
|
1194
1253
|
|
|
1195
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1254
|
+
module_eval(<<'.,.,', 'parser.y', 176)
|
|
1196
1255
|
def _reduce_67(val, _values, result)
|
|
1197
1256
|
result = Interval.new(val[0], :unknown)
|
|
1198
1257
|
|
|
@@ -1210,7 +1269,7 @@ module_eval(<<'.,.,', 'parser.y', 170)
|
|
|
1210
1269
|
|
|
1211
1270
|
# reduce 72 omitted
|
|
1212
1271
|
|
|
1213
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1272
|
+
module_eval(<<'.,.,', 'parser.y', 187)
|
|
1214
1273
|
def _reduce_73(val, _values, result)
|
|
1215
1274
|
result = Date.gregorian(val[1])
|
|
1216
1275
|
result.precision = :year
|
|
@@ -1219,7 +1278,7 @@ module_eval(<<'.,.,', 'parser.y', 181)
|
|
|
1219
1278
|
end
|
|
1220
1279
|
.,.,
|
|
1221
1280
|
|
|
1222
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1281
|
+
module_eval(<<'.,.,', 'parser.y', 192)
|
|
1223
1282
|
def _reduce_74(val, _values, result)
|
|
1224
1283
|
result = Date.gregorian(-1 * val[2])
|
|
1225
1284
|
result.precision = :year
|
|
@@ -1228,7 +1287,7 @@ module_eval(<<'.,.,', 'parser.y', 186)
|
|
|
1228
1287
|
end
|
|
1229
1288
|
.,.,
|
|
1230
1289
|
|
|
1231
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1290
|
+
module_eval(<<'.,.,', 'parser.y', 199)
|
|
1232
1291
|
def _reduce_75(val, _values, result)
|
|
1233
1292
|
result = val.zip([10000,1000,100,10,1]).reduce(0) { |s,(a,b)| s += a * b }
|
|
1234
1293
|
|
|
@@ -1236,14 +1295,14 @@ module_eval(<<'.,.,', 'parser.y', 193)
|
|
|
1236
1295
|
end
|
|
1237
1296
|
.,.,
|
|
1238
1297
|
|
|
1239
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1298
|
+
module_eval(<<'.,.,', 'parser.y', 201)
|
|
1240
1299
|
def _reduce_76(val, _values, result)
|
|
1241
1300
|
result = 10 * val[0] + val[1]
|
|
1242
1301
|
result
|
|
1243
1302
|
end
|
|
1244
1303
|
.,.,
|
|
1245
1304
|
|
|
1246
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1305
|
+
module_eval(<<'.,.,', 'parser.y', 206)
|
|
1247
1306
|
def _reduce_77(val, _values, result)
|
|
1248
1307
|
result = Season.new(val[0], val[2])
|
|
1249
1308
|
val[3].each { |ua| result.send(ua) }
|
|
@@ -1252,28 +1311,28 @@ module_eval(<<'.,.,', 'parser.y', 200)
|
|
|
1252
1311
|
end
|
|
1253
1312
|
.,.,
|
|
1254
1313
|
|
|
1255
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1314
|
+
module_eval(<<'.,.,', 'parser.y', 210)
|
|
1256
1315
|
def _reduce_78(val, _values, result)
|
|
1257
1316
|
result = 21
|
|
1258
1317
|
result
|
|
1259
1318
|
end
|
|
1260
1319
|
.,.,
|
|
1261
1320
|
|
|
1262
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1321
|
+
module_eval(<<'.,.,', 'parser.y', 211)
|
|
1263
1322
|
def _reduce_79(val, _values, result)
|
|
1264
1323
|
result = 22
|
|
1265
1324
|
result
|
|
1266
1325
|
end
|
|
1267
1326
|
.,.,
|
|
1268
1327
|
|
|
1269
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1328
|
+
module_eval(<<'.,.,', 'parser.y', 212)
|
|
1270
1329
|
def _reduce_80(val, _values, result)
|
|
1271
1330
|
result = 23
|
|
1272
1331
|
result
|
|
1273
1332
|
end
|
|
1274
1333
|
.,.,
|
|
1275
1334
|
|
|
1276
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1335
|
+
module_eval(<<'.,.,', 'parser.y', 213)
|
|
1277
1336
|
def _reduce_81(val, _values, result)
|
|
1278
1337
|
result = 24
|
|
1279
1338
|
result
|
|
@@ -1296,14 +1355,14 @@ module_eval(<<'.,.,', 'parser.y', 207)
|
|
|
1296
1355
|
|
|
1297
1356
|
# reduce 89 omitted
|
|
1298
1357
|
|
|
1299
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1358
|
+
module_eval(<<'.,.,', 'parser.y', 231)
|
|
1300
1359
|
def _reduce_90(val, _values, result)
|
|
1301
1360
|
result = val[0]; result.qualifier = val[1]
|
|
1302
1361
|
result
|
|
1303
1362
|
end
|
|
1304
1363
|
.,.,
|
|
1305
1364
|
|
|
1306
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1365
|
+
module_eval(<<'.,.,', 'parser.y', 237)
|
|
1307
1366
|
def _reduce_91(val, _values, result)
|
|
1308
1367
|
result = Date.gregorian(val[0].year * 10 ** val[2]).year_precision!
|
|
1309
1368
|
|
|
@@ -1311,7 +1370,7 @@ module_eval(<<'.,.,', 'parser.y', 231)
|
|
|
1311
1370
|
end
|
|
1312
1371
|
.,.,
|
|
1313
1372
|
|
|
1314
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1373
|
+
module_eval(<<'.,.,', 'parser.y', 241)
|
|
1315
1374
|
def _reduce_92(val, _values, result)
|
|
1316
1375
|
result = Date.gregorian(val[1] * 10 ** val[3]).year_precision!
|
|
1317
1376
|
|
|
@@ -1319,7 +1378,7 @@ module_eval(<<'.,.,', 'parser.y', 235)
|
|
|
1319
1378
|
end
|
|
1320
1379
|
.,.,
|
|
1321
1380
|
|
|
1322
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1381
|
+
module_eval(<<'.,.,', 'parser.y', 245)
|
|
1323
1382
|
def _reduce_93(val, _values, result)
|
|
1324
1383
|
result = Date.gregorian(-1 * val[2] * 10 ** val[4]).year_precision!
|
|
1325
1384
|
|
|
@@ -1327,14 +1386,14 @@ module_eval(<<'.,.,', 'parser.y', 239)
|
|
|
1327
1386
|
end
|
|
1328
1387
|
.,.,
|
|
1329
1388
|
|
|
1330
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1389
|
+
module_eval(<<'.,.,', 'parser.y', 250)
|
|
1331
1390
|
def _reduce_94(val, _values, result)
|
|
1332
1391
|
result = val[0]; result.calendar = val[1]
|
|
1333
1392
|
result
|
|
1334
1393
|
end
|
|
1335
1394
|
.,.,
|
|
1336
1395
|
|
|
1337
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1396
|
+
module_eval(<<'.,.,', 'parser.y', 256)
|
|
1338
1397
|
def _reduce_95(val, _values, result)
|
|
1339
1398
|
d = val[0,3].zip([1000,100,10]).reduce(0) { |s,(a,b)| s += a * b }
|
|
1340
1399
|
result = EDTF::Decade.new(d)
|
|
@@ -1343,7 +1402,7 @@ module_eval(<<'.,.,', 'parser.y', 250)
|
|
|
1343
1402
|
end
|
|
1344
1403
|
.,.,
|
|
1345
1404
|
|
|
1346
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1405
|
+
module_eval(<<'.,.,', 'parser.y', 261)
|
|
1347
1406
|
def _reduce_96(val, _values, result)
|
|
1348
1407
|
d = val[0,2].zip([1000,100]).reduce(0) { |s,(a,b)| s += a * b }
|
|
1349
1408
|
result = EDTF::Century.new(d)
|
|
@@ -1352,77 +1411,77 @@ module_eval(<<'.,.,', 'parser.y', 255)
|
|
|
1352
1411
|
end
|
|
1353
1412
|
.,.,
|
|
1354
1413
|
|
|
1355
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1414
|
+
module_eval(<<'.,.,', 'parser.y', 267)
|
|
1356
1415
|
def _reduce_97(val, _values, result)
|
|
1357
1416
|
result = val[1].choice!
|
|
1358
1417
|
result
|
|
1359
1418
|
end
|
|
1360
1419
|
.,.,
|
|
1361
1420
|
|
|
1362
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1421
|
+
module_eval(<<'.,.,', 'parser.y', 269)
|
|
1363
1422
|
def _reduce_98(val, _values, result)
|
|
1364
1423
|
result = val[1]
|
|
1365
1424
|
result
|
|
1366
1425
|
end
|
|
1367
1426
|
.,.,
|
|
1368
1427
|
|
|
1369
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1428
|
+
module_eval(<<'.,.,', 'parser.y', 271)
|
|
1370
1429
|
def _reduce_99(val, _values, result)
|
|
1371
1430
|
result = EDTF::Set.new(val[0]).earlier!
|
|
1372
1431
|
result
|
|
1373
1432
|
end
|
|
1374
1433
|
.,.,
|
|
1375
1434
|
|
|
1376
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1435
|
+
module_eval(<<'.,.,', 'parser.y', 272)
|
|
1377
1436
|
def _reduce_100(val, _values, result)
|
|
1378
1437
|
result = EDTF::Set.new([val[0]] + val[2] + [val[4]]).earlier!.later!
|
|
1379
1438
|
result
|
|
1380
1439
|
end
|
|
1381
1440
|
.,.,
|
|
1382
1441
|
|
|
1383
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1442
|
+
module_eval(<<'.,.,', 'parser.y', 273)
|
|
1384
1443
|
def _reduce_101(val, _values, result)
|
|
1385
1444
|
result = EDTF::Set.new([val[0]] + val[2]).earlier!
|
|
1386
1445
|
result
|
|
1387
1446
|
end
|
|
1388
1447
|
.,.,
|
|
1389
1448
|
|
|
1390
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1449
|
+
module_eval(<<'.,.,', 'parser.y', 274)
|
|
1391
1450
|
def _reduce_102(val, _values, result)
|
|
1392
1451
|
result = EDTF::Set.new([val[0]] + [val[2]]).earlier!.later!
|
|
1393
1452
|
result
|
|
1394
1453
|
end
|
|
1395
1454
|
.,.,
|
|
1396
1455
|
|
|
1397
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1456
|
+
module_eval(<<'.,.,', 'parser.y', 275)
|
|
1398
1457
|
def _reduce_103(val, _values, result)
|
|
1399
1458
|
result = EDTF::Set.new(val[0] + [val[2]]).later!
|
|
1400
1459
|
result
|
|
1401
1460
|
end
|
|
1402
1461
|
.,.,
|
|
1403
1462
|
|
|
1404
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1463
|
+
module_eval(<<'.,.,', 'parser.y', 276)
|
|
1405
1464
|
def _reduce_104(val, _values, result)
|
|
1406
1465
|
result = EDTF::Set.new(*val[0])
|
|
1407
1466
|
result
|
|
1408
1467
|
end
|
|
1409
1468
|
.,.,
|
|
1410
1469
|
|
|
1411
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1470
|
+
module_eval(<<'.,.,', 'parser.y', 277)
|
|
1412
1471
|
def _reduce_105(val, _values, result)
|
|
1413
1472
|
result = EDTF::Set.new(val[0]).later!
|
|
1414
1473
|
result
|
|
1415
1474
|
end
|
|
1416
1475
|
.,.,
|
|
1417
1476
|
|
|
1418
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1477
|
+
module_eval(<<'.,.,', 'parser.y', 280)
|
|
1419
1478
|
def _reduce_106(val, _values, result)
|
|
1420
1479
|
result = [val[0]].flatten
|
|
1421
1480
|
result
|
|
1422
1481
|
end
|
|
1423
1482
|
.,.,
|
|
1424
1483
|
|
|
1425
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1484
|
+
module_eval(<<'.,.,', 'parser.y', 281)
|
|
1426
1485
|
def _reduce_107(val, _values, result)
|
|
1427
1486
|
result = val[0] + [val[2]].flatten
|
|
1428
1487
|
result
|
|
@@ -1439,56 +1498,56 @@ module_eval(<<'.,.,', 'parser.y', 275)
|
|
|
1439
1498
|
|
|
1440
1499
|
# reduce 112 omitted
|
|
1441
1500
|
|
|
1442
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1501
|
+
module_eval(<<'.,.,', 'parser.y', 293)
|
|
1443
1502
|
def _reduce_113(val, _values, result)
|
|
1444
1503
|
result = val[1]
|
|
1445
1504
|
result
|
|
1446
1505
|
end
|
|
1447
1506
|
.,.,
|
|
1448
1507
|
|
|
1449
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1508
|
+
module_eval(<<'.,.,', 'parser.y', 295)
|
|
1450
1509
|
def _reduce_114(val, _values, result)
|
|
1451
1510
|
result = Date.gregorian(*val[0]).day_precision!
|
|
1452
1511
|
result
|
|
1453
1512
|
end
|
|
1454
1513
|
.,.,
|
|
1455
1514
|
|
|
1456
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1515
|
+
module_eval(<<'.,.,', 'parser.y', 296)
|
|
1457
1516
|
def _reduce_115(val, _values, result)
|
|
1458
1517
|
result = Date.gregorian(*val[0]).month_precision!
|
|
1459
1518
|
result
|
|
1460
1519
|
end
|
|
1461
1520
|
.,.,
|
|
1462
1521
|
|
|
1463
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1522
|
+
module_eval(<<'.,.,', 'parser.y', 297)
|
|
1464
1523
|
def _reduce_116(val, _values, result)
|
|
1465
1524
|
result = Date.gregorian(val[0]).year_precision!
|
|
1466
1525
|
result
|
|
1467
1526
|
end
|
|
1468
1527
|
.,.,
|
|
1469
1528
|
|
|
1470
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1529
|
+
module_eval(<<'.,.,', 'parser.y', 300)
|
|
1471
1530
|
def _reduce_117(val, _values, result)
|
|
1472
1531
|
result = (Date.gregorian(*val[0]).day_precision! .. Date.gregorian(*val[2]).day_precision!)
|
|
1473
1532
|
result
|
|
1474
1533
|
end
|
|
1475
1534
|
.,.,
|
|
1476
1535
|
|
|
1477
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1536
|
+
module_eval(<<'.,.,', 'parser.y', 301)
|
|
1478
1537
|
def _reduce_118(val, _values, result)
|
|
1479
1538
|
result = (Date.gregorian(*val[0]).month_precision! .. Date.gregorian(*val[2]).month_precision!)
|
|
1480
1539
|
result
|
|
1481
1540
|
end
|
|
1482
1541
|
.,.,
|
|
1483
1542
|
|
|
1484
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1543
|
+
module_eval(<<'.,.,', 'parser.y', 302)
|
|
1485
1544
|
def _reduce_119(val, _values, result)
|
|
1486
1545
|
result = (Date.gregorian(val[0]).year_precision! .. Date.gregorian(val[2]).year_precision!)
|
|
1487
1546
|
result
|
|
1488
1547
|
end
|
|
1489
1548
|
.,.,
|
|
1490
1549
|
|
|
1491
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1550
|
+
module_eval(<<'.,.,', 'parser.y', 308)
|
|
1492
1551
|
def _reduce_120(val, _values, result)
|
|
1493
1552
|
result = Date.gregorian(val[0][0], val[2], val[4])
|
|
1494
1553
|
result.unspecified.year[2,2] = val[0][1]
|
|
@@ -1497,7 +1556,7 @@ module_eval(<<'.,.,', 'parser.y', 302)
|
|
|
1497
1556
|
end
|
|
1498
1557
|
.,.,
|
|
1499
1558
|
|
|
1500
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1559
|
+
module_eval(<<'.,.,', 'parser.y', 313)
|
|
1501
1560
|
def _reduce_121(val, _values, result)
|
|
1502
1561
|
result = Date.gregorian(val[0][0], val[2], 1)
|
|
1503
1562
|
result.month_precision!
|
|
@@ -1507,7 +1566,7 @@ module_eval(<<'.,.,', 'parser.y', 307)
|
|
|
1507
1566
|
end
|
|
1508
1567
|
.,.,
|
|
1509
1568
|
|
|
1510
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1569
|
+
module_eval(<<'.,.,', 'parser.y', 319)
|
|
1511
1570
|
def _reduce_122(val, _values, result)
|
|
1512
1571
|
result = Date.gregorian(val[0][0], 1, val[5])
|
|
1513
1572
|
result.unspecified.year[2,2] = val[0][1]
|
|
@@ -1517,7 +1576,7 @@ module_eval(<<'.,.,', 'parser.y', 313)
|
|
|
1517
1576
|
end
|
|
1518
1577
|
.,.,
|
|
1519
1578
|
|
|
1520
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1579
|
+
module_eval(<<'.,.,', 'parser.y', 325)
|
|
1521
1580
|
def _reduce_123(val, _values, result)
|
|
1522
1581
|
result = Date.gregorian(val[0][0], 1, 1)
|
|
1523
1582
|
result.unspecified.year[2,2] = val[0][1]
|
|
@@ -1527,7 +1586,7 @@ module_eval(<<'.,.,', 'parser.y', 319)
|
|
|
1527
1586
|
end
|
|
1528
1587
|
.,.,
|
|
1529
1588
|
|
|
1530
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1589
|
+
module_eval(<<'.,.,', 'parser.y', 331)
|
|
1531
1590
|
def _reduce_124(val, _values, result)
|
|
1532
1591
|
result = Date.gregorian(val[0][0], val[2], 1)
|
|
1533
1592
|
result.unspecified.year[2,2] = val[0][1]
|
|
@@ -1537,7 +1596,7 @@ module_eval(<<'.,.,', 'parser.y', 325)
|
|
|
1537
1596
|
end
|
|
1538
1597
|
.,.,
|
|
1539
1598
|
|
|
1540
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1599
|
+
module_eval(<<'.,.,', 'parser.y', 337)
|
|
1541
1600
|
def _reduce_125(val, _values, result)
|
|
1542
1601
|
result = Date.gregorian(val[0], 1, val[5])
|
|
1543
1602
|
result.unspecified!(:month)
|
|
@@ -1548,42 +1607,42 @@ module_eval(<<'.,.,', 'parser.y', 331)
|
|
|
1548
1607
|
|
|
1549
1608
|
# reduce 126 omitted
|
|
1550
1609
|
|
|
1551
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1610
|
+
module_eval(<<'.,.,', 'parser.y', 343)
|
|
1552
1611
|
def _reduce_127(val, _values, result)
|
|
1553
1612
|
result = uoa(val[1], val[3])
|
|
1554
1613
|
result
|
|
1555
1614
|
end
|
|
1556
1615
|
.,.,
|
|
1557
1616
|
|
|
1558
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1617
|
+
module_eval(<<'.,.,', 'parser.y', 346)
|
|
1559
1618
|
def _reduce_128(val, _values, result)
|
|
1560
1619
|
result = val[0].year_precision!
|
|
1561
1620
|
result
|
|
1562
1621
|
end
|
|
1563
1622
|
.,.,
|
|
1564
1623
|
|
|
1565
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1624
|
+
module_eval(<<'.,.,', 'parser.y', 347)
|
|
1566
1625
|
def _reduce_129(val, _values, result)
|
|
1567
1626
|
result = val[0][0].month_precision!
|
|
1568
1627
|
result
|
|
1569
1628
|
end
|
|
1570
1629
|
.,.,
|
|
1571
1630
|
|
|
1572
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1631
|
+
module_eval(<<'.,.,', 'parser.y', 348)
|
|
1573
1632
|
def _reduce_130(val, _values, result)
|
|
1574
1633
|
result = val[0].day_precision!
|
|
1575
1634
|
result
|
|
1576
1635
|
end
|
|
1577
1636
|
.,.,
|
|
1578
1637
|
|
|
1579
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1638
|
+
module_eval(<<'.,.,', 'parser.y', 350)
|
|
1580
1639
|
def _reduce_131(val, _values, result)
|
|
1581
1640
|
result = uoa(Date.gregorian(val[0]), val[1], :year)
|
|
1582
1641
|
result
|
|
1583
1642
|
end
|
|
1584
1643
|
.,.,
|
|
1585
1644
|
|
|
1586
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1645
|
+
module_eval(<<'.,.,', 'parser.y', 354)
|
|
1587
1646
|
def _reduce_132(val, _values, result)
|
|
1588
1647
|
result = [uoa(val[0].change(:month => val[2]), val[3], [:month, :year])]
|
|
1589
1648
|
|
|
@@ -1591,7 +1650,7 @@ module_eval(<<'.,.,', 'parser.y', 348)
|
|
|
1591
1650
|
end
|
|
1592
1651
|
.,.,
|
|
1593
1652
|
|
|
1594
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1653
|
+
module_eval(<<'.,.,', 'parser.y', 357)
|
|
1595
1654
|
def _reduce_133(val, _values, result)
|
|
1596
1655
|
result = [uoa(Date.gregorian(val[0], val[2]), val[3], [:year, :month])]
|
|
1597
1656
|
|
|
@@ -1599,7 +1658,7 @@ module_eval(<<'.,.,', 'parser.y', 351)
|
|
|
1599
1658
|
end
|
|
1600
1659
|
.,.,
|
|
1601
1660
|
|
|
1602
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1661
|
+
module_eval(<<'.,.,', 'parser.y', 360)
|
|
1603
1662
|
def _reduce_134(val, _values, result)
|
|
1604
1663
|
result = [uoa(Date.gregorian(val[0], val[2]), val[4], [:month]), true]
|
|
1605
1664
|
|
|
@@ -1607,7 +1666,7 @@ module_eval(<<'.,.,', 'parser.y', 354)
|
|
|
1607
1666
|
end
|
|
1608
1667
|
.,.,
|
|
1609
1668
|
|
|
1610
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1669
|
+
module_eval(<<'.,.,', 'parser.y', 363)
|
|
1611
1670
|
def _reduce_135(val, _values, result)
|
|
1612
1671
|
result = [uoa(val[0].change(:month => val[2]), val[4], [:month]), true]
|
|
1613
1672
|
|
|
@@ -1615,7 +1674,7 @@ module_eval(<<'.,.,', 'parser.y', 357)
|
|
|
1615
1674
|
end
|
|
1616
1675
|
.,.,
|
|
1617
1676
|
|
|
1618
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1677
|
+
module_eval(<<'.,.,', 'parser.y', 369)
|
|
1619
1678
|
def _reduce_136(val, _values, result)
|
|
1620
1679
|
result = uoa(val[0][0].change(:day => val[2]), val[3], val[0][1] ? [:day] : nil)
|
|
1621
1680
|
|
|
@@ -1623,7 +1682,7 @@ module_eval(<<'.,.,', 'parser.y', 363)
|
|
|
1623
1682
|
end
|
|
1624
1683
|
.,.,
|
|
1625
1684
|
|
|
1626
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1685
|
+
module_eval(<<'.,.,', 'parser.y', 372)
|
|
1627
1686
|
def _reduce_137(val, _values, result)
|
|
1628
1687
|
result = uoa(val[0][0].change(:day => val[2]), val[4], [:day])
|
|
1629
1688
|
|
|
@@ -1631,7 +1690,7 @@ module_eval(<<'.,.,', 'parser.y', 366)
|
|
|
1631
1690
|
end
|
|
1632
1691
|
.,.,
|
|
1633
1692
|
|
|
1634
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1693
|
+
module_eval(<<'.,.,', 'parser.y', 375)
|
|
1635
1694
|
def _reduce_138(val, _values, result)
|
|
1636
1695
|
result = uoa(uoa(Date.gregorian(val[0], val[2], val[5]), val[4], :month), val[6], :day)
|
|
1637
1696
|
|
|
@@ -1639,7 +1698,7 @@ module_eval(<<'.,.,', 'parser.y', 369)
|
|
|
1639
1698
|
end
|
|
1640
1699
|
.,.,
|
|
1641
1700
|
|
|
1642
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1701
|
+
module_eval(<<'.,.,', 'parser.y', 378)
|
|
1643
1702
|
def _reduce_139(val, _values, result)
|
|
1644
1703
|
result = uoa(Date.gregorian(val[0][0], val[0][1], val[2]), val[3])
|
|
1645
1704
|
|
|
@@ -1647,7 +1706,7 @@ module_eval(<<'.,.,', 'parser.y', 372)
|
|
|
1647
1706
|
end
|
|
1648
1707
|
.,.,
|
|
1649
1708
|
|
|
1650
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1709
|
+
module_eval(<<'.,.,', 'parser.y', 381)
|
|
1651
1710
|
def _reduce_140(val, _values, result)
|
|
1652
1711
|
result = uoa(Date.gregorian(val[0][0], val[0][1], val[2]), val[4], [:day])
|
|
1653
1712
|
|
|
@@ -1655,7 +1714,7 @@ module_eval(<<'.,.,', 'parser.y', 375)
|
|
|
1655
1714
|
end
|
|
1656
1715
|
.,.,
|
|
1657
1716
|
|
|
1658
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1717
|
+
module_eval(<<'.,.,', 'parser.y', 384)
|
|
1659
1718
|
def _reduce_141(val, _values, result)
|
|
1660
1719
|
result = uoa(Date.gregorian(val[0], val[2], val[4]), val[6], [:month, :day])
|
|
1661
1720
|
|
|
@@ -1663,7 +1722,7 @@ module_eval(<<'.,.,', 'parser.y', 378)
|
|
|
1663
1722
|
end
|
|
1664
1723
|
.,.,
|
|
1665
1724
|
|
|
1666
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1725
|
+
module_eval(<<'.,.,', 'parser.y', 387)
|
|
1667
1726
|
def _reduce_142(val, _values, result)
|
|
1668
1727
|
result = Date.gregorian(val[0], val[2], val[4])
|
|
1669
1728
|
result = uoa(result, val[6], [:day])
|
|
@@ -1673,7 +1732,7 @@ module_eval(<<'.,.,', 'parser.y', 381)
|
|
|
1673
1732
|
end
|
|
1674
1733
|
.,.,
|
|
1675
1734
|
|
|
1676
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1735
|
+
module_eval(<<'.,.,', 'parser.y', 392)
|
|
1677
1736
|
def _reduce_143(val, _values, result)
|
|
1678
1737
|
result = val[0].change(:month => val[2], :day => val[4])
|
|
1679
1738
|
result = uoa(result, val[6], [:month, :day])
|
|
@@ -1682,7 +1741,7 @@ module_eval(<<'.,.,', 'parser.y', 386)
|
|
|
1682
1741
|
end
|
|
1683
1742
|
.,.,
|
|
1684
1743
|
|
|
1685
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1744
|
+
module_eval(<<'.,.,', 'parser.y', 396)
|
|
1686
1745
|
def _reduce_144(val, _values, result)
|
|
1687
1746
|
result = val[0].change(:month => val[2], :day => val[4])
|
|
1688
1747
|
result = uoa(result, val[6], [:day])
|
|
@@ -1692,7 +1751,7 @@ module_eval(<<'.,.,', 'parser.y', 390)
|
|
|
1692
1751
|
end
|
|
1693
1752
|
.,.,
|
|
1694
1753
|
|
|
1695
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1754
|
+
module_eval(<<'.,.,', 'parser.y', 407)
|
|
1696
1755
|
def _reduce_145(val, _values, result)
|
|
1697
1756
|
result = []
|
|
1698
1757
|
result
|
|
@@ -1701,7 +1760,7 @@ module_eval(<<'.,.,', 'parser.y', 401)
|
|
|
1701
1760
|
|
|
1702
1761
|
# reduce 146 omitted
|
|
1703
1762
|
|
|
1704
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1763
|
+
module_eval(<<'.,.,', 'parser.y', 411)
|
|
1705
1764
|
def _reduce_147(val, _values, result)
|
|
1706
1765
|
result = 0
|
|
1707
1766
|
result
|
|
@@ -1728,28 +1787,28 @@ module_eval(<<'.,.,', 'parser.y', 405)
|
|
|
1728
1787
|
|
|
1729
1788
|
# reduce 157 omitted
|
|
1730
1789
|
|
|
1731
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1790
|
+
module_eval(<<'.,.,', 'parser.y', 417)
|
|
1732
1791
|
def _reduce_158(val, _values, result)
|
|
1733
1792
|
result = val[1]
|
|
1734
1793
|
result
|
|
1735
1794
|
end
|
|
1736
1795
|
.,.,
|
|
1737
1796
|
|
|
1738
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1797
|
+
module_eval(<<'.,.,', 'parser.y', 418)
|
|
1739
1798
|
def _reduce_159(val, _values, result)
|
|
1740
1799
|
result = 10
|
|
1741
1800
|
result
|
|
1742
1801
|
end
|
|
1743
1802
|
.,.,
|
|
1744
1803
|
|
|
1745
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1804
|
+
module_eval(<<'.,.,', 'parser.y', 419)
|
|
1746
1805
|
def _reduce_160(val, _values, result)
|
|
1747
1806
|
result = 11
|
|
1748
1807
|
result
|
|
1749
1808
|
end
|
|
1750
1809
|
.,.,
|
|
1751
1810
|
|
|
1752
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1811
|
+
module_eval(<<'.,.,', 'parser.y', 420)
|
|
1753
1812
|
def _reduce_161(val, _values, result)
|
|
1754
1813
|
result = 12
|
|
1755
1814
|
result
|
|
@@ -1758,49 +1817,49 @@ module_eval(<<'.,.,', 'parser.y', 414)
|
|
|
1758
1817
|
|
|
1759
1818
|
# reduce 162 omitted
|
|
1760
1819
|
|
|
1761
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1820
|
+
module_eval(<<'.,.,', 'parser.y', 424)
|
|
1762
1821
|
def _reduce_163(val, _values, result)
|
|
1763
1822
|
result = 13
|
|
1764
1823
|
result
|
|
1765
1824
|
end
|
|
1766
1825
|
.,.,
|
|
1767
1826
|
|
|
1768
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1827
|
+
module_eval(<<'.,.,', 'parser.y', 427)
|
|
1769
1828
|
def _reduce_164(val, _values, result)
|
|
1770
1829
|
result = val[1]
|
|
1771
1830
|
result
|
|
1772
1831
|
end
|
|
1773
1832
|
.,.,
|
|
1774
1833
|
|
|
1775
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1834
|
+
module_eval(<<'.,.,', 'parser.y', 428)
|
|
1776
1835
|
def _reduce_165(val, _values, result)
|
|
1777
1836
|
result = 10 + val[1]
|
|
1778
1837
|
result
|
|
1779
1838
|
end
|
|
1780
1839
|
.,.,
|
|
1781
1840
|
|
|
1782
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1841
|
+
module_eval(<<'.,.,', 'parser.y', 429)
|
|
1783
1842
|
def _reduce_166(val, _values, result)
|
|
1784
1843
|
result = 20
|
|
1785
1844
|
result
|
|
1786
1845
|
end
|
|
1787
1846
|
.,.,
|
|
1788
1847
|
|
|
1789
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1848
|
+
module_eval(<<'.,.,', 'parser.y', 430)
|
|
1790
1849
|
def _reduce_167(val, _values, result)
|
|
1791
1850
|
result = 21
|
|
1792
1851
|
result
|
|
1793
1852
|
end
|
|
1794
1853
|
.,.,
|
|
1795
1854
|
|
|
1796
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1855
|
+
module_eval(<<'.,.,', 'parser.y', 431)
|
|
1797
1856
|
def _reduce_168(val, _values, result)
|
|
1798
1857
|
result = 22
|
|
1799
1858
|
result
|
|
1800
1859
|
end
|
|
1801
1860
|
.,.,
|
|
1802
1861
|
|
|
1803
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1862
|
+
module_eval(<<'.,.,', 'parser.y', 432)
|
|
1804
1863
|
def _reduce_169(val, _values, result)
|
|
1805
1864
|
result = 23
|
|
1806
1865
|
result
|
|
@@ -1813,42 +1872,42 @@ module_eval(<<'.,.,', 'parser.y', 426)
|
|
|
1813
1872
|
|
|
1814
1873
|
# reduce 172 omitted
|
|
1815
1874
|
|
|
1816
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1875
|
+
module_eval(<<'.,.,', 'parser.y', 440)
|
|
1817
1876
|
def _reduce_173(val, _values, result)
|
|
1818
1877
|
result = 24
|
|
1819
1878
|
result
|
|
1820
1879
|
end
|
|
1821
1880
|
.,.,
|
|
1822
1881
|
|
|
1823
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1882
|
+
module_eval(<<'.,.,', 'parser.y', 441)
|
|
1824
1883
|
def _reduce_174(val, _values, result)
|
|
1825
1884
|
result = 25
|
|
1826
1885
|
result
|
|
1827
1886
|
end
|
|
1828
1887
|
.,.,
|
|
1829
1888
|
|
|
1830
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1889
|
+
module_eval(<<'.,.,', 'parser.y', 442)
|
|
1831
1890
|
def _reduce_175(val, _values, result)
|
|
1832
1891
|
result = 26
|
|
1833
1892
|
result
|
|
1834
1893
|
end
|
|
1835
1894
|
.,.,
|
|
1836
1895
|
|
|
1837
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1896
|
+
module_eval(<<'.,.,', 'parser.y', 443)
|
|
1838
1897
|
def _reduce_176(val, _values, result)
|
|
1839
1898
|
result = 27
|
|
1840
1899
|
result
|
|
1841
1900
|
end
|
|
1842
1901
|
.,.,
|
|
1843
1902
|
|
|
1844
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1903
|
+
module_eval(<<'.,.,', 'parser.y', 444)
|
|
1845
1904
|
def _reduce_177(val, _values, result)
|
|
1846
1905
|
result = 28
|
|
1847
1906
|
result
|
|
1848
1907
|
end
|
|
1849
1908
|
.,.,
|
|
1850
1909
|
|
|
1851
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1910
|
+
module_eval(<<'.,.,', 'parser.y', 445)
|
|
1852
1911
|
def _reduce_178(val, _values, result)
|
|
1853
1912
|
result = 29
|
|
1854
1913
|
result
|
|
@@ -1857,7 +1916,7 @@ module_eval(<<'.,.,', 'parser.y', 439)
|
|
|
1857
1916
|
|
|
1858
1917
|
# reduce 179 omitted
|
|
1859
1918
|
|
|
1860
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1919
|
+
module_eval(<<'.,.,', 'parser.y', 449)
|
|
1861
1920
|
def _reduce_180(val, _values, result)
|
|
1862
1921
|
result = 30
|
|
1863
1922
|
result
|
|
@@ -1866,7 +1925,7 @@ module_eval(<<'.,.,', 'parser.y', 443)
|
|
|
1866
1925
|
|
|
1867
1926
|
# reduce 181 omitted
|
|
1868
1927
|
|
|
1869
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1928
|
+
module_eval(<<'.,.,', 'parser.y', 453)
|
|
1870
1929
|
def _reduce_182(val, _values, result)
|
|
1871
1930
|
result = 31
|
|
1872
1931
|
result
|
|
@@ -1875,21 +1934,21 @@ module_eval(<<'.,.,', 'parser.y', 447)
|
|
|
1875
1934
|
|
|
1876
1935
|
# reduce 183 omitted
|
|
1877
1936
|
|
|
1878
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1937
|
+
module_eval(<<'.,.,', 'parser.y', 457)
|
|
1879
1938
|
def _reduce_184(val, _values, result)
|
|
1880
1939
|
result = 30 + val[1]
|
|
1881
1940
|
result
|
|
1882
1941
|
end
|
|
1883
1942
|
.,.,
|
|
1884
1943
|
|
|
1885
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1944
|
+
module_eval(<<'.,.,', 'parser.y', 458)
|
|
1886
1945
|
def _reduce_185(val, _values, result)
|
|
1887
1946
|
result = 40 + val[1]
|
|
1888
1947
|
result
|
|
1889
1948
|
end
|
|
1890
1949
|
.,.,
|
|
1891
1950
|
|
|
1892
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1951
|
+
module_eval(<<'.,.,', 'parser.y', 459)
|
|
1893
1952
|
def _reduce_186(val, _values, result)
|
|
1894
1953
|
result = 50 + val[1]
|
|
1895
1954
|
result
|
|
@@ -1900,21 +1959,21 @@ module_eval(<<'.,.,', 'parser.y', 453)
|
|
|
1900
1959
|
|
|
1901
1960
|
# reduce 188 omitted
|
|
1902
1961
|
|
|
1903
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1962
|
+
module_eval(<<'.,.,', 'parser.y', 466)
|
|
1904
1963
|
def _reduce_189(val, _values, result)
|
|
1905
1964
|
result = val[0]
|
|
1906
1965
|
result
|
|
1907
1966
|
end
|
|
1908
1967
|
.,.,
|
|
1909
1968
|
|
|
1910
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1969
|
+
module_eval(<<'.,.,', 'parser.y', 467)
|
|
1911
1970
|
def _reduce_190(val, _values, result)
|
|
1912
1971
|
result = 10 * val[0] + val[1]
|
|
1913
1972
|
result
|
|
1914
1973
|
end
|
|
1915
1974
|
.,.,
|
|
1916
1975
|
|
|
1917
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1976
|
+
module_eval(<<'.,.,', 'parser.y', 470)
|
|
1918
1977
|
def _reduce_191(val, _values, result)
|
|
1919
1978
|
result = val.zip([100,10,1]).reduce(0) { |s,(a,b)| s += a * b }
|
|
1920
1979
|
|
|
@@ -1922,7 +1981,7 @@ module_eval(<<'.,.,', 'parser.y', 464)
|
|
|
1922
1981
|
end
|
|
1923
1982
|
.,.,
|
|
1924
1983
|
|
|
1925
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1984
|
+
module_eval(<<'.,.,', 'parser.y', 474)
|
|
1926
1985
|
def _reduce_192(val, _values, result)
|
|
1927
1986
|
result = val.zip([1000,100,10,1]).reduce(0) { |s,(a,b)| s += a * b }
|
|
1928
1987
|
|
|
@@ -1930,14 +1989,14 @@ module_eval(<<'.,.,', 'parser.y', 468)
|
|
|
1930
1989
|
end
|
|
1931
1990
|
.,.,
|
|
1932
1991
|
|
|
1933
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1992
|
+
module_eval(<<'.,.,', 'parser.y', 478)
|
|
1934
1993
|
def _reduce_193(val, _values, result)
|
|
1935
1994
|
result = val[0]
|
|
1936
1995
|
result
|
|
1937
1996
|
end
|
|
1938
1997
|
.,.,
|
|
1939
1998
|
|
|
1940
|
-
module_eval(<<'.,.,', 'parser.y',
|
|
1999
|
+
module_eval(<<'.,.,', 'parser.y', 479)
|
|
1941
2000
|
def _reduce_194(val, _values, result)
|
|
1942
2001
|
result = 10 * val[0] + val[1]
|
|
1943
2002
|
result
|