aboutsummaryrefslogtreecommitdiffstats
path: root/test/racc/regress/edtf
diff options
context:
space:
mode:
Diffstat (limited to 'test/racc/regress/edtf')
-rw-r--r--test/racc/regress/edtf1794
1 files changed, 1794 insertions, 0 deletions
diff --git a/test/racc/regress/edtf b/test/racc/regress/edtf
new file mode 100644
index 0000000000..3c35a715b5
--- /dev/null
+++ b/test/racc/regress/edtf
@@ -0,0 +1,1794 @@
+#
+# DO NOT MODIFY!!!!
+# This file is automatically generated by Racc 1.4.14
+# from Racc grammer file "".
+#
+
+require 'racc/parser.rb'
+
+require 'strscan'
+
+module EDTF
+ class Parser < Racc::Parser
+
+module_eval(<<'...end edtf.y/module_eval...', 'edtf.y', 468)
+
+ @defaults = {
+ :level => 2,
+ :debug => false
+ }.freeze
+
+ class << self; attr_reader :defaults; end
+
+ attr_reader :options
+
+ def initialize(options = {})
+ @options = Parser.defaults.merge(options)
+ end
+
+ def debug?
+ !!(options[:debug] || ENV['DEBUG'])
+ end
+
+ def parse(input)
+ parse!(input)
+ rescue => e
+ warn e.message if debug?
+ nil
+ end
+
+ def parse!(input)
+ @yydebug = debug?
+ @src = StringScanner.new(input)
+ do_parse
+ end
+
+ def on_error(tid, value, stack)
+ raise ArgumentError,
+ "failed to parse date: unexpected '#{value}' at #{stack.inspect}"
+ end
+
+ def apply_uncertainty(date, uncertainty, scope = nil)
+ uncertainty.each do |u|
+ scope.nil? ? date.send(u) : date.send(u, scope)
+ end
+ date
+ end
+
+ alias uoa apply_uncertainty
+
+ def next_token
+ case
+ when @src.eos?
+ nil
+ # when @src.scan(/\s+/)
+ # ignore whitespace
+ when @src.scan(/\(/)
+ ['(', @src.matched]
+ # when @src.scan(/\)\?~-/)
+ # [:PUA, [:uncertain!, :approximate!]]
+ # when @src.scan(/\)\?-/)
+ # [:PUA, [:uncertain!]]
+ # when @src.scan(/\)~-/)
+ # [:PUA, [:approximate!]]
+ when @src.scan(/\)/)
+ [')', @src.matched]
+ when @src.scan(/\[/)
+ ['[', @src.matched]
+ when @src.scan(/\]/)
+ [']', @src.matched]
+ when @src.scan(/\{/)
+ ['{', @src.matched]
+ when @src.scan(/\}/)
+ ['}', @src.matched]
+ when @src.scan(/T/)
+ [:T, @src.matched]
+ when @src.scan(/Z/)
+ [:Z, @src.matched]
+ when @src.scan(/\?~/)
+ [:UA, [:uncertain!, :approximate!]]
+ when @src.scan(/\?/)
+ [:UA, [:uncertain!]]
+ when @src.scan(/~/)
+ [:UA, [:approximate!]]
+ when @src.scan(/open/i)
+ [:OPEN, :open]
+ when @src.scan(/unkn?own/i) # matches 'unkown' typo too
+ [:UNKNOWN, :unknown]
+ when @src.scan(/u/)
+ [:U, @src.matched]
+ when @src.scan(/x/i)
+ [:X, @src.matched]
+ when @src.scan(/y/)
+ [:LONGYEAR, @src.matched]
+ when @src.scan(/e/)
+ [:E, @src.matched]
+ when @src.scan(/\+/)
+ ['+', @src.matched]
+ when @src.scan(/-\(/)
+ ['-(', @src.matched]
+ when @src.scan(/-/)
+ ['-', @src.matched]
+ when @src.scan(/:/)
+ [':', @src.matched]
+ when @src.scan(/\//)
+ ['/', @src.matched]
+ when @src.scan(/\s*\.\.\s*/)
+ [:DOTS, '..']
+ when @src.scan(/\s*,\s*/)
+ [',', ',']
+ when @src.scan(/\^\w+/)
+ ['^', @src.matched[1..-1]]
+ when @src.scan(/\d/)
+ [@src.matched, @src.matched.to_i]
+ else @src.scan(/./)
+ [:UNMATCHED, @src.rest]
+ end
+ end
+
+
+# -*- racc -*-
+...end edtf.y/module_eval...
+##### State transition tables begin ###
+
+racc_action_table = [
+ 208, 207, 52, 111, 236, 112, 149, 129, 128, 57,
+ 253, 43, 45, 40, 55, 42, 157, 44, 43, 45,
+ 40, -48, 42, 53, 44, 254, 58, 46, 47, 48,
+ 49, 50, 207, 56, 46, 47, 48, 49, 50, 128,
+ 94, 255, 43, 45, 40, 244, 42, 239, 44, 43,
+ 45, 40, 55, 42, 54, 44, 202, 95, 46, 47,
+ 48, 49, 50, 25, 141, 46, 47, 48, 49, 50,
+ 12, 56, 43, 45, 40, 55, 42, 214, 44, 148,
+ 55, 233, 147, 258, 92, 36, 193, 192, 46, 47,
+ 48, 49, 50, 25, 56, 26, 57, 232, 234, 56,
+ 12, 93, 43, 45, 40, 261, 42, 159, 44, 111,
+ 33, 112, 34, 58, 111, 36, 112, 180, 46, 47,
+ 48, 49, 50, 87, 58, 108, 12, 165, 43, 45,
+ 40, 101, 42, 103, 44, 104, 178, 111, 166, 112,
+ 111, 36, 112, 167, 46, 47, 48, 49, 50, 87,
+ 218, 200, 12, 201, 43, 45, 40, 188, 42, 186,
+ 44, 187, 111, 190, 112, 177, 111, 36, 112, 168,
+ 46, 47, 48, 49, 50, 69, 264, 43, 45, 189,
+ 191, 42, 124, 44, 12, 125, 43, 45, 40, 240,
+ 42, 239, 44, 46, 47, 48, 49, 50, 265, 36,
+ 133, 192, 46, 47, 48, 49, 50, 12, 266, 43,
+ 45, 40, 111, 42, 112, 44, 12, 158, 43, 45,
+ 40, 269, 42, 270, 44, 46, 47, 48, 49, 50,
+ 156, 36, 154, 153, 46, 47, 48, 49, 50, 12,
+ 275, 43, 45, 40, 152, 42, 150, 44, 146, 43,
+ 45, 40, 125, 42, 36, 44, 280, 46, 47, 48,
+ 49, 50, 124, 284, 285, 46, 47, 48, 49, 50,
+ 43, 45, 40, 286, 42, 96, 44, 43, 45, 40,
+ -66, 42, -65, 44, 290, 67, 46, 47, 48, 49,
+ 50, 292, 293, 46, 47, 48, 49, 50, 43, 45,
+ 40, 66, 42, 295, 44, 43, 45, 40, 296, 42,
+ 297, 44, 65, 300, 46, 47, 48, 49, 50, 301,
+ 180, 46, 47, 48, 49, 50, 43, 45, 40, 303,
+ 42, 304, 44, 43, 45, 40, 305, 42, 281, 44,
+ 306, 307, 46, 47, 48, 49, 50, 308, 64, 46,
+ 47, 48, 49, 50, 43, 45, 40, -50, 42, 311,
+ 44, 43, 45, 40, 312, 42, 313, 44, 314, 51,
+ 46, 47, 48, 49, 50, 316, 317, 46, 47, 48,
+ 49, 50, 43, 45, 318, 215, 42, 319, 44, 43,
+ 45, 40, 213, 42, 212, 44, 229, 210, 46, 47,
+ 48, 49, 50, 180, 209, 46, 47, 48, 49, 50,
+ 43, 45, 180, nil, 42, nil, 44, 43, 45, 40,
+ nil, 42, nil, 44, nil, nil, 46, 47, 48, 49,
+ 50, nil, nil, 46, 47, 48, 49, 50, 43, 45,
+ 40, nil, 42, nil, 44, 43, 45, 40, nil, 42,
+ nil, 44, nil, nil, 46, 47, 48, 49, 50, nil,
+ nil, 46, 47, 48, 49, 50, 43, 45, 40, nil,
+ 42, nil, 44, 43, 45, 276, nil, 42, nil, 44,
+ nil, nil, 46, 47, 48, 49, 50, nil, nil, 46,
+ 47, 48, 49, 50, 43, 45, 274, nil, 42, nil,
+ 44, 43, 45, 273, nil, 42, nil, 44, nil, nil,
+ 46, 47, 48, 49, 50, nil, nil, 46, 47, 48,
+ 49, 50, 43, 45, 40, nil, 42, nil, 44, 43,
+ 45, 175, nil, 42, nil, 44, nil, nil, 46, 47,
+ 48, 49, 50, nil, nil, 46, 47, 48, 49, 50,
+ 43, 45, 40, nil, 42, nil, 44, 43, 45, 40,
+ nil, 42, nil, 44, nil, nil, 46, 47, 48, 49,
+ 50, nil, nil, 46, 47, 48, 49, 50, 43, 45,
+ nil, nil, 42, nil, 44, 43, 45, nil, nil, 42,
+ nil, 44, nil, nil, 46, 47, 48, 49, 50, nil,
+ nil, 46, 47, 48, 49, 50, 43, 45, 315, nil,
+ 42, nil, 44, 43, 45, 40, nil, 42, nil, 44,
+ nil, nil, 46, 47, 48, 49, 50, nil, nil, 46,
+ 47, 48, 49, 50, 43, 45, nil, nil, 42, nil,
+ 44, 172, 194, 170, nil, 171, nil, 173, nil, nil,
+ 46, 47, 48, 49, 50, nil, nil, 195, 196, 197,
+ 198, 199, 43, 45, 40, nil, 42, nil, 44, 43,
+ 45, 40, nil, 42, nil, 44, nil, nil, 46, 47,
+ 48, 49, 50, nil, nil, 46, 47, 48, 49, 50,
+ 43, 45, 40, nil, 42, nil, 44, 43, 45, 40,
+ nil, 42, nil, 44, nil, nil, 46, 47, 48, 49,
+ 50, nil, nil, 46, 47, 48, 49, 50, 43, 45,
+ nil, nil, 42, nil, 44, 43, 45, 40, nil, 42,
+ nil, 44, nil, nil, 46, 47, 48, 49, 50, 116,
+ nil, 46, 47, 48, 49, 50, 118, 250, 247, 118,
+ 104, 117, 249, 104, 260, 121, nil, 288, nil, 118,
+ 250, 247, 251, 104, 118, 249, 117, 118, 104, 117,
+ 121, 104, nil, 121, nil, 251, 118, 250, 247, nil,
+ 104, 281, 249, 118, 250, 310, nil, 104, nil, 249,
+ nil, 118, 251, 117, nil, 104, nil, 121, 108, 251,
+ 118, 250, 117, 118, 104, 117, 249, 104, 110, 121,
+ 111, nil, 112, 182, 184, nil, 251, 181, 118, 183,
+ 117, 118, 104, 117, 121, 104, 118, 121, 117, 118,
+ 104, 117, 121, 104, 118, 121, 117, nil, 104, nil,
+ 121, 188, 271, 186, 118, 187, 117, 272, 104, 118,
+ 121, 117, nil, 104, nil, 121, 172, 169, 170, 118,
+ 171, 117, 173, 104, 118, 121, 117, nil, 104, nil,
+ 121 ]
+
+racc_action_check = [
+ 127, 127, 5, 93, 163, 93, 73, 63, 63, 73,
+ 169, 127, 127, 127, 89, 127, 89, 127, 63, 63,
+ 63, 5, 63, 5, 63, 178, 73, 127, 127, 127,
+ 127, 127, 224, 89, 63, 63, 63, 63, 63, 151,
+ 38, 189, 224, 224, 224, 167, 224, 167, 224, 151,
+ 151, 151, 9, 151, 9, 151, 123, 38, 224, 224,
+ 224, 224, 224, 67, 67, 151, 151, 151, 151, 151,
+ 67, 9, 67, 67, 67, 134, 67, 134, 67, 72,
+ 72, 161, 72, 202, 37, 67, 116, 115, 67, 67,
+ 67, 67, 67, 0, 134, 0, 10, 161, 161, 72,
+ 0, 37, 0, 0, 0, 213, 0, 91, 0, 124,
+ 0, 124, 0, 10, 56, 0, 56, 109, 0, 0,
+ 0, 0, 0, 33, 91, 214, 33, 98, 33, 33,
+ 33, 52, 33, 52, 33, 52, 108, 214, 98, 214,
+ 92, 33, 92, 98, 33, 33, 33, 33, 33, 34,
+ 147, 121, 34, 121, 34, 34, 34, 112, 34, 112,
+ 34, 112, 147, 113, 147, 107, 157, 34, 157, 99,
+ 34, 34, 34, 34, 34, 26, 218, 26, 26, 113,
+ 113, 26, 220, 26, 154, 222, 154, 154, 154, 166,
+ 154, 166, 154, 26, 26, 26, 26, 26, 225, 154,
+ 66, 230, 154, 154, 154, 154, 154, 87, 232, 87,
+ 87, 87, 66, 87, 66, 87, 265, 90, 265, 265,
+ 265, 236, 265, 238, 265, 87, 87, 87, 87, 87,
+ 88, 265, 79, 78, 265, 265, 265, 265, 265, 153,
+ 245, 153, 153, 153, 77, 153, 74, 153, 71, 205,
+ 205, 205, 60, 205, 153, 205, 253, 153, 153, 153,
+ 153, 153, 59, 256, 257, 205, 205, 205, 205, 205,
+ 150, 150, 150, 260, 150, 51, 150, 12, 12, 12,
+ 24, 12, 23, 12, 264, 22, 150, 150, 150, 150,
+ 150, 267, 268, 12, 12, 12, 12, 12, 13, 13,
+ 13, 18, 13, 271, 13, 263, 263, 263, 273, 263,
+ 274, 263, 17, 280, 13, 13, 13, 13, 13, 281,
+ 283, 263, 263, 263, 263, 263, 262, 262, 262, 284,
+ 262, 285, 262, 36, 36, 36, 288, 36, 290, 36,
+ 292, 293, 262, 262, 262, 262, 262, 295, 16, 36,
+ 36, 36, 36, 36, 251, 251, 251, 14, 251, 300,
+ 251, 62, 62, 62, 304, 62, 307, 62, 308, 1,
+ 251, 251, 251, 251, 251, 311, 312, 62, 62, 62,
+ 62, 62, 64, 64, 313, 144, 64, 316, 64, 68,
+ 68, 68, 133, 68, 132, 68, 158, 129, 64, 64,
+ 64, 64, 64, 160, 128, 68, 68, 68, 68, 68,
+ 69, 69, 162, nil, 69, nil, 69, 70, 70, 70,
+ nil, 70, nil, 70, nil, nil, 69, 69, 69, 69,
+ 69, nil, nil, 70, 70, 70, 70, 70, 250, 250,
+ 250, nil, 250, nil, 250, 249, 249, 249, nil, 249,
+ nil, 249, nil, nil, 250, 250, 250, 250, 250, nil,
+ nil, 249, 249, 249, 249, 249, 75, 75, 75, nil,
+ 75, nil, 75, 247, 247, 247, nil, 247, nil, 247,
+ nil, nil, 75, 75, 75, 75, 75, nil, nil, 247,
+ 247, 247, 247, 247, 244, 244, 244, nil, 244, nil,
+ 244, 240, 240, 240, nil, 240, nil, 240, nil, nil,
+ 244, 244, 244, 244, 244, nil, nil, 240, 240, 240,
+ 240, 240, 217, 217, 217, nil, 217, nil, 217, 103,
+ 103, 103, nil, 103, nil, 103, nil, nil, 217, 217,
+ 217, 217, 217, nil, nil, 103, 103, 103, 103, 103,
+ 104, 104, 104, nil, 104, nil, 104, 216, 216, 216,
+ nil, 216, nil, 216, nil, nil, 104, 104, 104, 104,
+ 104, nil, nil, 216, 216, 216, 216, 216, 215, 215,
+ nil, nil, 215, nil, 215, 111, 111, nil, nil, 111,
+ nil, 111, nil, nil, 215, 215, 215, 215, 215, nil,
+ nil, 111, 111, 111, 111, 111, 310, 310, 310, nil,
+ 310, nil, 310, 149, 149, 149, nil, 149, nil, 149,
+ nil, nil, 310, 310, 310, 310, 310, nil, nil, 149,
+ 149, 149, 149, 149, 117, 117, nil, nil, 117, nil,
+ 117, 118, 118, 118, nil, 118, nil, 118, nil, nil,
+ 117, 117, 117, 117, 117, nil, nil, 118, 118, 118,
+ 118, 118, 126, 126, 126, nil, 126, nil, 126, 130,
+ 130, 130, nil, 130, nil, 130, nil, nil, 126, 126,
+ 126, 126, 126, nil, nil, 130, 130, 130, 130, 130,
+ 143, 143, 143, nil, 143, nil, 143, 145, 145, 145,
+ nil, 145, nil, 145, nil, nil, 143, 143, 143, 143,
+ 143, nil, nil, 145, 145, 145, 145, 145, 146, 146,
+ nil, nil, 146, nil, 146, 148, 148, 148, nil, 148,
+ nil, 148, nil, nil, 146, 146, 146, 146, 146, 57,
+ nil, 148, 148, 148, 148, 148, 168, 168, 168, 57,
+ 168, 57, 168, 57, 212, 57, nil, 261, nil, 275,
+ 275, 275, 168, 275, 212, 275, 212, 261, 212, 261,
+ 212, 261, nil, 261, nil, 275, 270, 270, 270, nil,
+ 270, 254, 270, 297, 297, 297, nil, 297, nil, 297,
+ nil, 254, 270, 254, nil, 254, nil, 254, 54, 297,
+ 296, 296, 296, 95, 296, 95, 296, 95, 54, 95,
+ 54, nil, 54, 110, 110, nil, 296, 110, 94, 110,
+ 94, 58, 94, 58, 94, 58, 191, 58, 191, 190,
+ 191, 190, 191, 190, 255, 190, 255, nil, 255, nil,
+ 255, 239, 239, 239, 125, 239, 125, 239, 125, 234,
+ 125, 234, nil, 234, nil, 234, 101, 101, 101, 233,
+ 101, 233, 101, 233, 159, 233, 159, nil, 159, nil,
+ 159 ]
+
+racc_action_pointer = [
+ 86, 369, nil, nil, nil, 0, nil, nil, nil, 40,
+ 82, nil, 261, 282, 336, nil, 344, 289, 287, nil,
+ nil, nil, 264, 282, 280, nil, 161, nil, nil, nil,
+ nil, nil, nil, 112, 138, nil, 317, 70, 26, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, 275, 115, nil, 792, nil, 96, 733, 805, 248,
+ 238, nil, 345, 2, 366, nil, 194, 56, 373, 394,
+ 401, 244, 68, -5, 235, 450, nil, 219, 205, 204,
+ nil, nil, nil, nil, nil, nil, nil, 193, 203, 2,
+ 187, 93, 122, -15, 802, 787, nil, nil, 124, 154,
+ nil, 840, nil, 513, 534, nil, nil, 153, 130, 105,
+ 797, 569, 141, 149, nil, 75, 80, 618, 625, nil,
+ nil, 133, nil, 26, 91, 828, 646, -5, 398, 392,
+ 653, nil, 380, 386, 63, nil, nil, nil, nil, nil,
+ nil, nil, nil, 674, 381, 681, 702, 144, 709, 597,
+ 254, 33, nil, 225, 170, nil, nil, 148, 384, 848,
+ 391, 67, 400, -26, nil, nil, 171, 27, 730, -5,
+ nil, nil, nil, nil, nil, nil, nil, nil, 11, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 29,
+ 813, 810, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, 71, nil, nil, 233, nil, nil, nil, nil,
+ nil, nil, 748, 91, 119, 562, 541, 506, 170, nil,
+ 168, nil, 171, nil, 26, 170, nil, nil, nil, nil,
+ 189, nil, 196, 843, 833, nil, 209, nil, 208, 825,
+ 485, nil, nil, nil, 478, 225, nil, 457, nil, 429,
+ 422, 338, nil, 238, 775, 818, 233, 234, nil, nil,
+ 267, 751, 310, 289, 270, 202, nil, 261, 262, nil,
+ 760, 288, nil, 293, 295, 743, nil, nil, nil, nil,
+ 295, 313, nil, 308, 317, 319, nil, nil, 330, nil,
+ 332, nil, 328, 329, nil, 329, 784, 767, nil, nil,
+ 344, nil, nil, nil, 334, nil, nil, 336, 350, nil,
+ 590, 357, 364, 372, nil, nil, 369, nil, nil, nil ]
+
+racc_action_default = [
+ -176, -176, -1, -2, -3, -4, -5, -6, -7, -8,
+ -9, -10, -176, -176, -34, -35, -36, -37, -38, -39,
+ -40, -41, -176, -49, -51, -52, -176, -64, -67, -68,
+ -69, -70, -71, -176, -176, -107, -176, -109, -110, -111,
+ -128, -129, -130, -131, -132, -133, -134, -135, -136, -137,
+ -138, -176, -176, -76, -176, -112, -176, -176, -176, -8,
+ -9, -11, -176, -176, -176, -72, -176, -176, -55, -176,
+ -170, -176, -8, -9, -10, -176, -38, -176, -81, -86,
+ -87, -88, -90, -91, -92, -93, -94, -176, -176, -176,
+ -176, -176, -176, -176, -176, -176, 320, -12, -13, -176,
+ -16, -176, -31, -176, -176, -152, -27, -29, -176, -126,
+ -176, -176, -176, -176, -28, -30, -176, -176, -176, -153,
+ -160, -176, -162, -176, -176, -176, -176, -176, -176, -176,
+ -73, -174, -176, -176, -8, -47, -48, -49, -50, -51,
+ -53, -54, -58, -56, -176, -171, -176, -176, -98, -97,
+ -96, -176, -79, -176, -176, -95, -80, -176, -176, -176,
+ -126, -176, -126, -176, -14, -18, -176, -176, -176, -176,
+ -147, -148, -149, -150, -145, -151, -146, -114, -44, -59,
+ -127, -60, -61, -62, -63, -139, -140, -141, -142, -176,
+ -176, -176, -120, -45, -154, -155, -156, -157, -158, -159,
+ -161, -163, -176, -29, -30, -176, -26, -42, -77, -43,
+ -78, -175, -176, -176, -176, -176, -172, -74, -176, -101,
+ -176, -100, -176, -99, -176, -83, -84, -85, -89, -108,
+ -176, -113, -176, -176, -176, -117, -176, -19, -176, -176,
+ -176, -143, -20, -21, -176, -176, -32, -176, -164, -176,
+ -176, -176, -169, -176, -176, -115, -176, -176, -121, -102,
+ -176, -176, -75, -173, -44, -176, -116, -176, -176, -118,
+ -176, -176, -144, -176, -176, -176, -168, -165, -166, -167,
+ -176, -176, -106, -126, -176, -176, -105, -103, -176, -57,
+ -176, -82, -176, -176, -23, -176, -176, -176, -15, -33,
+ -176, -46, -119, -122, -176, -104, -124, -176, -176, -25,
+ -176, -176, -176, -176, -24, -22, -176, -123, -125, -17 ]
+
+racc_goto_table = [
+ 70, 179, 130, 13, 228, 11, 248, 115, 123, 226,
+ 227, 113, 245, 5, 10, 23, 63, 11, 68, 9,
+ 22, 132, 14, 18, 71, 2, 60, 24, 77, 88,
+ 102, 59, 237, 243, 309, 309, 75, 75, 131, 241,
+ 241, 15, 16, 70, 162, 163, 17, 160, 161, 242,
+ 91, 100, 231, 135, 235, 89, 298, 99, 164, 98,
+ 109, 143, 97, 27, 28, 126, 127, 144, 29, 30,
+ 75, 142, 11, 145, 31, 204, 32, 174, 151, 203,
+ 136, 10, 137, 61, 217, 185, 134, 140, 6, 138,
+ 18, 174, 11, 1, 139, 225, 4, 3, 90, 105,
+ 155, 60, 299, nil, nil, nil, 59, 176, 248, 230,
+ nil, nil, nil, 248, 294, 228, nil, nil, nil, nil,
+ 131, 291, nil, nil, nil, nil, nil, nil, nil, 205,
+ 206, nil, nil, 211, 248, 248, nil, nil, nil, nil,
+ 256, 257, nil, nil, nil, nil, 142, nil, 216, nil,
+ nil, nil, nil, 262, 224, 223, 75, 75, nil, nil,
+ nil, nil, 259, 221, 222, nil, nil, 219, 220, 220,
+ nil, nil, nil, nil, nil, 302, nil, nil, nil, nil,
+ nil, nil, nil, 267, 268, nil, nil, nil, nil, 131,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, 282, 283, nil, nil, 206, nil,
+ nil, 287, nil, nil, 185, nil, nil, nil, 185, 263,
+ 211, 174, nil, nil, nil, nil, nil, 206, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, 277, 278, 279, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, 211, 289, nil, 75, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, 174 ]
+
+racc_goto_check = [
+ 43, 45, 52, 23, 58, 11, 66, 26, 26, 57,
+ 57, 24, 16, 5, 10, 40, 23, 11, 42, 9,
+ 38, 24, 30, 34, 53, 2, 10, 41, 54, 54,
+ 28, 9, 19, 19, 22, 22, 23, 23, 43, 25,
+ 25, 31, 32, 43, 26, 26, 33, 24, 24, 20,
+ 10, 18, 45, 39, 45, 9, 17, 15, 14, 13,
+ 44, 42, 12, 46, 47, 23, 23, 53, 48, 49,
+ 23, 23, 11, 23, 50, 26, 51, 43, 23, 24,
+ 5, 10, 40, 7, 52, 43, 9, 38, 6, 30,
+ 34, 43, 11, 1, 41, 56, 4, 3, 61, 65,
+ 5, 10, 29, nil, nil, nil, 9, 23, 66, 26,
+ nil, nil, nil, 66, 16, 58, nil, nil, nil, nil,
+ 43, 57, nil, nil, nil, nil, nil, nil, nil, 23,
+ 23, nil, nil, 23, 66, 66, nil, nil, nil, nil,
+ 26, 26, nil, nil, nil, nil, 23, nil, 23, nil,
+ nil, nil, nil, 52, 23, 11, 23, 23, nil, nil,
+ nil, nil, 26, 10, 10, nil, nil, 9, 9, 9,
+ nil, nil, nil, nil, nil, 45, nil, nil, nil, nil,
+ nil, nil, nil, 26, 26, nil, nil, nil, nil, 43,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, 26, 26, nil, nil, 23, nil,
+ nil, 26, nil, nil, 43, nil, nil, nil, 43, 23,
+ 23, 43, nil, nil, nil, nil, nil, 23, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, 23, 23, 23, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, 23, 23, nil, 23, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, 43 ]
+
+racc_goto_pointer = [
+ nil, 93, 25, 97, 96, 13, 88, 71, nil, 19,
+ 14, 5, 10, 7, -40, 5, -156, -219, -1, -134,
+ -118, nil, -262, 3, -45, -127, -50, nil, -22, -173,
+ 22, 41, 42, 46, 23, nil, nil, nil, 20, -14,
+ 15, 27, -8, -26, 6, -108, 63, 64, 68, 69,
+ 74, 76, -62, -2, -5, nil, -58, -144, -150, nil,
+ nil, 62, nil, nil, nil, 47, -162, nil ]
+
+racc_goto_default = [
+ nil, nil, nil, nil, nil, 84, nil, 7, 8, 72,
+ 73, 74, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, 238, 252, 62, 107, 106, nil, 114, nil, 246,
+ 86, nil, nil, nil, 76, 19, 20, 21, nil, nil,
+ 85, nil, nil, 41, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, 78, 79, 80, 81, 82,
+ 83, 35, 37, 38, 39, 119, 120, 122 ]
+
+racc_reduce_table = [
+ 0, 0, :racc_error,
+ 1, 38, :_reduce_none,
+ 1, 38, :_reduce_none,
+ 1, 38, :_reduce_none,
+ 1, 39, :_reduce_none,
+ 1, 39, :_reduce_none,
+ 1, 42, :_reduce_none,
+ 1, 42, :_reduce_none,
+ 1, 44, :_reduce_8,
+ 1, 44, :_reduce_9,
+ 1, 44, :_reduce_10,
+ 2, 45, :_reduce_11,
+ 3, 43, :_reduce_12,
+ 1, 49, :_reduce_none,
+ 2, 49, :_reduce_14,
+ 5, 50, :_reduce_15,
+ 1, 50, :_reduce_none,
+ 8, 55, :_reduce_17,
+ 1, 51, :_reduce_18,
+ 2, 51, :_reduce_19,
+ 2, 51, :_reduce_20,
+ 1, 57, :_reduce_none,
+ 5, 57, :_reduce_22,
+ 3, 56, :_reduce_23,
+ 5, 56, :_reduce_24,
+ 4, 56, :_reduce_25,
+ 4, 46, :_reduce_26,
+ 1, 61, :_reduce_none,
+ 1, 63, :_reduce_none,
+ 3, 47, :_reduce_29,
+ 3, 48, :_reduce_30,
+ 1, 52, :_reduce_none,
+ 1, 53, :_reduce_none,
+ 1, 54, :_reduce_none,
+ 1, 40, :_reduce_none,
+ 1, 40, :_reduce_none,
+ 1, 40, :_reduce_none,
+ 1, 40, :_reduce_none,
+ 1, 67, :_reduce_38,
+ 1, 67, :_reduce_none,
+ 1, 67, :_reduce_none,
+ 1, 67, :_reduce_none,
+ 4, 71, :_reduce_42,
+ 4, 71, :_reduce_43,
+ 4, 72, :_reduce_44,
+ 4, 73, :_reduce_45,
+ 7, 74, :_reduce_46,
+ 3, 68, :_reduce_47,
+ 1, 75, :_reduce_none,
+ 1, 75, :_reduce_none,
+ 1, 75, :_reduce_none,
+ 1, 75, :_reduce_none,
+ 1, 75, :_reduce_none,
+ 1, 76, :_reduce_none,
+ 1, 76, :_reduce_none,
+ 2, 69, :_reduce_55,
+ 3, 69, :_reduce_56,
+ 5, 79, :_reduce_57,
+ 2, 79, :_reduce_58,
+ 4, 70, :_reduce_59,
+ 2, 81, :_reduce_60,
+ 2, 81, :_reduce_61,
+ 2, 81, :_reduce_62,
+ 2, 81, :_reduce_63,
+ 1, 41, :_reduce_none,
+ 1, 41, :_reduce_none,
+ 1, 41, :_reduce_none,
+ 1, 41, :_reduce_none,
+ 1, 41, :_reduce_none,
+ 1, 41, :_reduce_none,
+ 1, 41, :_reduce_none,
+ 1, 41, :_reduce_none,
+ 2, 83, :_reduce_72,
+ 3, 88, :_reduce_73,
+ 4, 88, :_reduce_74,
+ 5, 88, :_reduce_75,
+ 2, 87, :_reduce_76,
+ 4, 86, :_reduce_77,
+ 4, 86, :_reduce_78,
+ 3, 84, :_reduce_79,
+ 3, 85, :_reduce_80,
+ 1, 91, :_reduce_81,
+ 5, 91, :_reduce_82,
+ 3, 91, :_reduce_83,
+ 3, 91, :_reduce_84,
+ 3, 91, :_reduce_85,
+ 1, 91, :_reduce_86,
+ 1, 91, :_reduce_87,
+ 1, 93, :_reduce_88,
+ 3, 93, :_reduce_89,
+ 1, 95, :_reduce_none,
+ 1, 95, :_reduce_none,
+ 1, 96, :_reduce_none,
+ 1, 96, :_reduce_none,
+ 1, 96, :_reduce_none,
+ 2, 92, :_reduce_95,
+ 2, 94, :_reduce_96,
+ 2, 94, :_reduce_97,
+ 2, 94, :_reduce_98,
+ 3, 97, :_reduce_99,
+ 3, 97, :_reduce_100,
+ 3, 97, :_reduce_101,
+ 5, 78, :_reduce_102,
+ 6, 78, :_reduce_103,
+ 7, 78, :_reduce_104,
+ 6, 78, :_reduce_105,
+ 6, 78, :_reduce_106,
+ 1, 77, :_reduce_none,
+ 4, 77, :_reduce_108,
+ 1, 98, :_reduce_109,
+ 1, 98, :_reduce_110,
+ 1, 98, :_reduce_111,
+ 2, 99, :_reduce_112,
+ 4, 100, :_reduce_113,
+ 4, 100, :_reduce_114,
+ 5, 100, :_reduce_115,
+ 5, 100, :_reduce_116,
+ 4, 101, :_reduce_117,
+ 5, 101, :_reduce_118,
+ 7, 101, :_reduce_119,
+ 4, 101, :_reduce_120,
+ 5, 101, :_reduce_121,
+ 7, 101, :_reduce_122,
+ 9, 101, :_reduce_123,
+ 7, 101, :_reduce_124,
+ 9, 101, :_reduce_125,
+ 0, 82, :_reduce_126,
+ 1, 82, :_reduce_none,
+ 1, 60, :_reduce_128,
+ 1, 60, :_reduce_none,
+ 1, 80, :_reduce_none,
+ 1, 80, :_reduce_none,
+ 1, 80, :_reduce_none,
+ 1, 80, :_reduce_none,
+ 1, 80, :_reduce_none,
+ 1, 80, :_reduce_none,
+ 1, 80, :_reduce_none,
+ 1, 80, :_reduce_none,
+ 1, 80, :_reduce_none,
+ 2, 62, :_reduce_139,
+ 2, 62, :_reduce_140,
+ 2, 62, :_reduce_141,
+ 2, 62, :_reduce_142,
+ 1, 58, :_reduce_none,
+ 2, 58, :_reduce_144,
+ 2, 102, :_reduce_145,
+ 2, 102, :_reduce_146,
+ 2, 102, :_reduce_147,
+ 2, 102, :_reduce_148,
+ 2, 102, :_reduce_149,
+ 2, 102, :_reduce_150,
+ 2, 65, :_reduce_none,
+ 1, 65, :_reduce_none,
+ 1, 103, :_reduce_none,
+ 2, 103, :_reduce_154,
+ 2, 103, :_reduce_155,
+ 2, 103, :_reduce_156,
+ 2, 103, :_reduce_157,
+ 2, 103, :_reduce_158,
+ 2, 103, :_reduce_159,
+ 1, 104, :_reduce_none,
+ 2, 104, :_reduce_161,
+ 1, 64, :_reduce_none,
+ 2, 64, :_reduce_163,
+ 1, 59, :_reduce_none,
+ 2, 59, :_reduce_165,
+ 2, 59, :_reduce_166,
+ 2, 59, :_reduce_167,
+ 2, 66, :_reduce_none,
+ 1, 66, :_reduce_none,
+ 1, 90, :_reduce_170,
+ 2, 90, :_reduce_171,
+ 3, 90, :_reduce_172,
+ 4, 90, :_reduce_173,
+ 1, 89, :_reduce_174,
+ 2, 89, :_reduce_175 ]
+
+racc_reduce_n = 176
+
+racc_shift_n = 320
+
+racc_token_table = {
+ false => 0,
+ :error => 1,
+ :T => 2,
+ :Z => 3,
+ :E => 4,
+ :X => 5,
+ :U => 6,
+ :UNKNOWN => 7,
+ :OPEN => 8,
+ :LONGYEAR => 9,
+ :UNMATCHED => 10,
+ :DOTS => 11,
+ :UA => 12,
+ :PUA => 13,
+ "-" => 14,
+ ":" => 15,
+ "2" => 16,
+ "4" => 17,
+ "0" => 18,
+ "+" => 19,
+ "1" => 20,
+ "/" => 21,
+ "3" => 22,
+ "^" => 23,
+ "[" => 24,
+ "]" => 25,
+ "{" => 26,
+ "}" => 27,
+ "," => 28,
+ "(" => 29,
+ ")" => 30,
+ "-(" => 31,
+ "5" => 32,
+ "6" => 33,
+ "7" => 34,
+ "8" => 35,
+ "9" => 36 }
+
+racc_nt_base = 37
+
+racc_use_result_var = true
+
+Racc_arg = [
+ racc_action_table,
+ racc_action_check,
+ racc_action_default,
+ racc_action_pointer,
+ racc_goto_table,
+ racc_goto_check,
+ racc_goto_default,
+ racc_goto_pointer,
+ racc_nt_base,
+ racc_reduce_table,
+ racc_token_table,
+ racc_shift_n,
+ racc_reduce_n,
+ racc_use_result_var ]
+
+Racc_token_to_s_table = [
+ "$end",
+ "error",
+ "T",
+ "Z",
+ "E",
+ "X",
+ "U",
+ "UNKNOWN",
+ "OPEN",
+ "LONGYEAR",
+ "UNMATCHED",
+ "DOTS",
+ "UA",
+ "PUA",
+ "\"-\"",
+ "\":\"",
+ "\"2\"",
+ "\"4\"",
+ "\"0\"",
+ "\"+\"",
+ "\"1\"",
+ "\"/\"",
+ "\"3\"",
+ "\"^\"",
+ "\"[\"",
+ "\"]\"",
+ "\"{\"",
+ "\"}\"",
+ "\",\"",
+ "\"(\"",
+ "\")\"",
+ "\"-(\"",
+ "\"5\"",
+ "\"6\"",
+ "\"7\"",
+ "\"8\"",
+ "\"9\"",
+ "$start",
+ "edtf",
+ "level_0_expression",
+ "level_1_expression",
+ "level_2_expression",
+ "date",
+ "date_time",
+ "positive_date",
+ "negative_date",
+ "year",
+ "year_month",
+ "year_month_day",
+ "time",
+ "base_time",
+ "zone_offset",
+ "hour",
+ "minute",
+ "second",
+ "midnight",
+ "zone_offset_hour",
+ "positive_zone_offset",
+ "d01_13",
+ "d01_59",
+ "digit",
+ "month",
+ "d01_12",
+ "day",
+ "d01_31",
+ "d00_23",
+ "d00_59",
+ "unspecified",
+ "level_1_interval",
+ "long_year_simple",
+ "season",
+ "unspecified_year",
+ "unspecified_month",
+ "unspecified_day",
+ "unspecified_day_and_month",
+ "level_1_start",
+ "level_1_end",
+ "partial_uncertain_or_approximate",
+ "partial_unspecified",
+ "long_year",
+ "positive_digit",
+ "season_number",
+ "ua",
+ "season_qualified",
+ "choice_list",
+ "inclusive_list",
+ "masked_precision",
+ "date_and_calendar",
+ "long_year_scientific",
+ "integer",
+ "int1_4",
+ "list",
+ "earlier",
+ "list_elements",
+ "later",
+ "list_element",
+ "atomic",
+ "consecutives",
+ "pua_base",
+ "pua_year",
+ "pua_year_month",
+ "pua_year_month_day",
+ "d01_23",
+ "d01_29",
+ "d01_30" ]
+
+Racc_debug_parser = false
+
+##### State transition tables end #####
+
+# reduce 0 omitted
+
+# reduce 1 omitted
+
+# reduce 2 omitted
+
+# reduce 3 omitted
+
+# reduce 4 omitted
+
+# reduce 5 omitted
+
+# reduce 6 omitted
+
+# reduce 7 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 54)
+ def _reduce_8(val, _values, result)
+ result = Date.new(val[0]).year_precision!
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 55)
+ def _reduce_9(val, _values, result)
+ result = Date.new(*val.flatten).month_precision!
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 56)
+ def _reduce_10(val, _values, result)
+ result = Date.new(*val.flatten).day_precision!
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 59)
+ def _reduce_11(val, _values, result)
+ result = -val[1]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 63)
+ def _reduce_12(val, _values, result)
+ result = DateTime.new(val[0].year, val[0].month, val[0].day, *val[2])
+ result.skip_timezone = (val[2].length == 3)
+
+ result
+ end
+.,.,
+
+# reduce 13 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 68)
+ def _reduce_14(val, _values, result)
+ result = val.flatten
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 70)
+ def _reduce_15(val, _values, result)
+ result = val.values_at(0, 2, 4)
+ result
+ end
+.,.,
+
+# reduce 16 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 73)
+ def _reduce_17(val, _values, result)
+ result = [24, 0, 0]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 75)
+ def _reduce_18(val, _values, result)
+ result = 0
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 76)
+ def _reduce_19(val, _values, result)
+ result = -1 * val[1]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 77)
+ def _reduce_20(val, _values, result)
+ result = val[1]
+ result
+ end
+.,.,
+
+# reduce 21 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 81)
+ def _reduce_22(val, _values, result)
+ result = 0
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 85)
+ def _reduce_23(val, _values, result)
+ result = Rational(val[0] * 60 + val[2], 1440)
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 86)
+ def _reduce_24(val, _values, result)
+ result = Rational(840, 1440)
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 87)
+ def _reduce_25(val, _values, result)
+ result = Rational(val[3], 1440)
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 91)
+ def _reduce_26(val, _values, result)
+ result = val.zip([1000,100,10,1]).reduce(0) { |s,(a,b)| s += a * b }
+
+ result
+ end
+.,.,
+
+# reduce 27 omitted
+
+# reduce 28 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 97)
+ def _reduce_29(val, _values, result)
+ result = [val[0], val[2]]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 104)
+ def _reduce_30(val, _values, result)
+ result = val[0] << val[2]
+ if result[2] > 31 || (result[2] > 30 && [2,4,6,9,11].include?(result[1])) || (result[2] > 29 && result[1] == 2)
+ raise ArgumentError, "invalid date (invalid days #{result[2]} for month #{result[1]})"
+ end
+
+ result
+ end
+.,.,
+
+# reduce 31 omitted
+
+# reduce 32 omitted
+
+# reduce 33 omitted
+
+# reduce 34 omitted
+
+# reduce 35 omitted
+
+# reduce 36 omitted
+
+# reduce 37 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 127)
+ def _reduce_38(val, _values, result)
+ result = Date.new(val[0][0]).year_precision!
+ result.unspecified.year[2,2] = val[0][1]
+
+ result
+ end
+.,.,
+
+# reduce 39 omitted
+
+# reduce 40 omitted
+
+# reduce 41 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 138)
+ def _reduce_42(val, _values, result)
+ result = [val[0,3].zip([1000,100,10]).reduce(0) { |s,(a,b)| s += a * b }, [false,true]]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 142)
+ def _reduce_43(val, _values, result)
+ result = [val[0,2].zip([1000,100]).reduce(0) { |s,(a,b)| s += a * b }, [true, true]]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 146)
+ def _reduce_44(val, _values, result)
+ result = Date.new(val[0]).unspecified!(:month)
+ result.precision = :month
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 151)
+ def _reduce_45(val, _values, result)
+ result = Date.new(*val[0]).unspecified!(:day)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 155)
+ def _reduce_46(val, _values, result)
+ result = Date.new(val[0]).unspecified!([:day,:month])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 160)
+ def _reduce_47(val, _values, result)
+ result = Interval.new(val[0], val[2])
+
+ result
+ end
+.,.,
+
+# reduce 48 omitted
+
+# reduce 49 omitted
+
+# reduce 50 omitted
+
+# reduce 51 omitted
+
+# reduce 52 omitted
+
+# reduce 53 omitted
+
+# reduce 54 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 171)
+ def _reduce_55(val, _values, result)
+ result = Date.new(val[1])
+ result.precision = :year
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 176)
+ def _reduce_56(val, _values, result)
+ result = Date.new(-1 * val[2])
+ result.precision = :year
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 183)
+ def _reduce_57(val, _values, result)
+ result = val.zip([10000,1000,100,10,1]).reduce(0) { |s,(a,b)| s += a * b }
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 185)
+ def _reduce_58(val, _values, result)
+ result = 10 * val[0] + val[1]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 190)
+ def _reduce_59(val, _values, result)
+ result = Season.new(val[0], val[2])
+ val[3].each { |ua| result.send(ua) }
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 194)
+ def _reduce_60(val, _values, result)
+ result = 21
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 195)
+ def _reduce_61(val, _values, result)
+ result = 22
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 196)
+ def _reduce_62(val, _values, result)
+ result = 23
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 197)
+ def _reduce_63(val, _values, result)
+ result = 24
+ result
+ end
+.,.,
+
+# reduce 64 omitted
+
+# reduce 65 omitted
+
+# reduce 66 omitted
+
+# reduce 67 omitted
+
+# reduce 68 omitted
+
+# reduce 69 omitted
+
+# reduce 70 omitted
+
+# reduce 71 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 215)
+ def _reduce_72(val, _values, result)
+ result = val[0]; result.qualifier = val[1]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 221)
+ def _reduce_73(val, _values, result)
+ result = Date.new(val[0].year * 10 ** val[2]).year_precision!
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 225)
+ def _reduce_74(val, _values, result)
+ result = Date.new(val[1] * 10 ** val[3]).year_precision!
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 229)
+ def _reduce_75(val, _values, result)
+ result = Date.new(-1 * val[2] * 10 ** val[4]).year_precision!
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 234)
+ def _reduce_76(val, _values, result)
+ result = val[0]; result.calendar = val[1]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 240)
+ def _reduce_77(val, _values, result)
+ d = val[0,3].zip([1000,100,10]).reduce(0) { |s,(a,b)| s += a * b }
+ result = EDTF::Decade.new(d)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 245)
+ def _reduce_78(val, _values, result)
+ d = val[0,2].zip([1000,100]).reduce(0) { |s,(a,b)| s += a * b }
+ result = EDTF::Century.new(d)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 251)
+ def _reduce_79(val, _values, result)
+ result = val[1].choice!
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 253)
+ def _reduce_80(val, _values, result)
+ result = val[1]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 255)
+ def _reduce_81(val, _values, result)
+ result = EDTF::Set.new(val[0]).earlier!
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 256)
+ def _reduce_82(val, _values, result)
+ result = EDTF::Set.new([val[0]] + val[2] + [val[4]]).earlier!.later!
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 257)
+ def _reduce_83(val, _values, result)
+ result = EDTF::Set.new([val[0]] + val[2]).earlier!
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 258)
+ def _reduce_84(val, _values, result)
+ result = EDTF::Set.new([val[0]] + [val[2]]).earlier!.later!
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 259)
+ def _reduce_85(val, _values, result)
+ result = EDTF::Set.new(val[0] + [val[2]]).later!
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 260)
+ def _reduce_86(val, _values, result)
+ result = EDTF::Set.new(*val[0])
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 261)
+ def _reduce_87(val, _values, result)
+ result = EDTF::Set.new(val[0]).later!
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 264)
+ def _reduce_88(val, _values, result)
+ result = [val[0]].flatten
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 265)
+ def _reduce_89(val, _values, result)
+ result = val[0] + [val[2]].flatten
+ result
+ end
+.,.,
+
+# reduce 90 omitted
+
+# reduce 91 omitted
+
+# reduce 92 omitted
+
+# reduce 93 omitted
+
+# reduce 94 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 277)
+ def _reduce_95(val, _values, result)
+ result = val[1]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 279)
+ def _reduce_96(val, _values, result)
+ result = Date.new(*val[0]).year_precision!
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 280)
+ def _reduce_97(val, _values, result)
+ result = Date.new(*val[0]).month_precision!
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 281)
+ def _reduce_98(val, _values, result)
+ result = Date.new(val[0]).year_precision!
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 284)
+ def _reduce_99(val, _values, result)
+ result = (Date.new(val[0]).day_precision! .. Date.new(val[2]).day_precision!)
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 285)
+ def _reduce_100(val, _values, result)
+ result = (Date.new(val[0]).month_precision! .. Date.new(val[2]).month_precision!)
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 286)
+ def _reduce_101(val, _values, result)
+ result = (Date.new(val[0]).year_precision! .. Date.new(val[2]).year_precision!)
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 292)
+ def _reduce_102(val, _values, result)
+ result = Date.new(val[0][0], val[2], val[4])
+ result.unspecified.year[2,2] = val[0][1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 297)
+ def _reduce_103(val, _values, result)
+ result = Date.new(val[0][0], 1, val[5])
+ result.unspecified.year[2,2] = val[0][1]
+ result.unspecified!(:month)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 303)
+ def _reduce_104(val, _values, result)
+ result = Date.new(val[0][0], 1, 1)
+ result.unspecified.year[2,2] = val[0][1]
+ result.unspecified!([:month, :day])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 309)
+ def _reduce_105(val, _values, result)
+ result = Date.new(val[0][0], val[2], 1)
+ result.unspecified.year[2,2] = val[0][1]
+ result.unspecified!(:day)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 315)
+ def _reduce_106(val, _values, result)
+ result = Date.new(val[0], 1, val[5])
+ result.unspecified!(:month)
+
+ result
+ end
+.,.,
+
+# reduce 107 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 322)
+ def _reduce_108(val, _values, result)
+ result = uoa(val[1], val[3])
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 325)
+ def _reduce_109(val, _values, result)
+ result = val[0].year_precision!
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 326)
+ def _reduce_110(val, _values, result)
+ result = val[0][0].month_precision!
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 327)
+ def _reduce_111(val, _values, result)
+ result = val[0].day_precision!
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 329)
+ def _reduce_112(val, _values, result)
+ result = uoa(Date.new(val[0]), val[1], :year)
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 333)
+ def _reduce_113(val, _values, result)
+ result = [uoa(val[0].change(:month => val[2]), val[3], [:month, :year])]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 336)
+ def _reduce_114(val, _values, result)
+ result = [uoa(Date.new(val[0], val[2]), val[3], [:year, :month])]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 339)
+ def _reduce_115(val, _values, result)
+ result = [uoa(Date.new(val[0], val[2]), val[4], [:month]), true]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 342)
+ def _reduce_116(val, _values, result)
+ result = [uoa(val[0].change(:month => val[2]), val[4], [:month]), true]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 348)
+ def _reduce_117(val, _values, result)
+ result = uoa(val[0][0].change(:day => val[2]), val[3], val[0][1] ? [:day] : nil)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 351)
+ def _reduce_118(val, _values, result)
+ result = uoa(val[0][0].change(:day => val[2]), val[4], [:day])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 354)
+ def _reduce_119(val, _values, result)
+ result = uoa(uoa(Date.new(val[0], val[2], val[5]), val[4], :month), val[6], :day)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 357)
+ def _reduce_120(val, _values, result)
+ result = uoa(Date.new(val[0][0], val[0][1], val[2]), val[3])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 360)
+ def _reduce_121(val, _values, result)
+ result = uoa(Date.new(val[0][0], val[0][1], val[2]), val[4], [:day])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 363)
+ def _reduce_122(val, _values, result)
+ result = uoa(Date.new(val[0], val[2], val[4]), val[6], [:month, :day])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 366)
+ def _reduce_123(val, _values, result)
+ result = Date.new(val[0], val[2], val[4])
+ result = uoa(result, val[6], [:day])
+ result = uoa(result, val[8], [:month, :day])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 371)
+ def _reduce_124(val, _values, result)
+ result = val[0].change(:month => val[2], :day => val[4])
+ result = uoa(result, val[6], [:month, :day])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 375)
+ def _reduce_125(val, _values, result)
+ result = val[0].change(:month => val[2], :day => val[4])
+ result = uoa(result, val[6], [:day])
+ result = uoa(result, val[8], [:month, :day])
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 386)
+ def _reduce_126(val, _values, result)
+ result = []
+ result
+ end
+.,.,
+
+# reduce 127 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 390)
+ def _reduce_128(val, _values, result)
+ result = 0
+ result
+ end
+.,.,
+
+# reduce 129 omitted
+
+# reduce 130 omitted
+
+# reduce 131 omitted
+
+# reduce 132 omitted
+
+# reduce 133 omitted
+
+# reduce 134 omitted
+
+# reduce 135 omitted
+
+# reduce 136 omitted
+
+# reduce 137 omitted
+
+# reduce 138 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 396)
+ def _reduce_139(val, _values, result)
+ result = val[1]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 397)
+ def _reduce_140(val, _values, result)
+ result = 10
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 398)
+ def _reduce_141(val, _values, result)
+ result = 11
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 399)
+ def _reduce_142(val, _values, result)
+ result = 12
+ result
+ end
+.,.,
+
+# reduce 143 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 403)
+ def _reduce_144(val, _values, result)
+ result = 13
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 406)
+ def _reduce_145(val, _values, result)
+ result = val[1]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 407)
+ def _reduce_146(val, _values, result)
+ result = 10 + val[1]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 408)
+ def _reduce_147(val, _values, result)
+ result = 20
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 409)
+ def _reduce_148(val, _values, result)
+ result = 21
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 410)
+ def _reduce_149(val, _values, result)
+ result = 22
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 411)
+ def _reduce_150(val, _values, result)
+ result = 23
+ result
+ end
+.,.,
+
+# reduce 151 omitted
+
+# reduce 152 omitted
+
+# reduce 153 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 419)
+ def _reduce_154(val, _values, result)
+ result = 24
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 420)
+ def _reduce_155(val, _values, result)
+ result = 25
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 421)
+ def _reduce_156(val, _values, result)
+ result = 26
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 422)
+ def _reduce_157(val, _values, result)
+ result = 27
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 423)
+ def _reduce_158(val, _values, result)
+ result = 28
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 424)
+ def _reduce_159(val, _values, result)
+ result = 29
+ result
+ end
+.,.,
+
+# reduce 160 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 428)
+ def _reduce_161(val, _values, result)
+ result = 30
+ result
+ end
+.,.,
+
+# reduce 162 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 432)
+ def _reduce_163(val, _values, result)
+ result = 31
+ result
+ end
+.,.,
+
+# reduce 164 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 436)
+ def _reduce_165(val, _values, result)
+ result = 30 + val[1]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 437)
+ def _reduce_166(val, _values, result)
+ result = 40 + val[1]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 438)
+ def _reduce_167(val, _values, result)
+ result = 50 + val[1]
+ result
+ end
+.,.,
+
+# reduce 168 omitted
+
+# reduce 169 omitted
+
+module_eval(<<'.,.,', 'edtf.y', 445)
+ def _reduce_170(val, _values, result)
+ result = val[0]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 446)
+ def _reduce_171(val, _values, result)
+ result = 10 * val[0] + val[1]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 449)
+ def _reduce_172(val, _values, result)
+ result = val.zip([100,10,1]).reduce(0) { |s,(a,b)| s += a * b }
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 453)
+ def _reduce_173(val, _values, result)
+ result = val.zip([1000,100,10,1]).reduce(0) { |s,(a,b)| s += a * b }
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 457)
+ def _reduce_174(val, _values, result)
+ result = val[0]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'edtf.y', 458)
+ def _reduce_175(val, _values, result)
+ result = 10 * val[0] + val[1]
+ result
+ end
+.,.,
+
+def _reduce_none(val, _values, result)
+ val[0]
+end
+
+ end # class Parser
+ end # module EDTF