# # DO NOT MODIFY!!!! # This file is automatically generated by Racc 1.4.16 # from Racc grammar file "". # require 'racc/parser.rb' module CSSPool module CSS class Parser < Racc::Parser module_eval(<<'...end csspool.y/module_eval...', 'csspool.y', 670) def numeric thing thing = thing.gsub(/[^\d.]/, '') Integer(thing) rescue Float(thing) end def interpret_identifier s interpret_escapes s end def interpret_uri s interpret_escapes s.match(/^url\((.*)\)$/mui)[1].strip.match(/^(['"]?)((?:\\.|.)*)\1$/mu)[2] end def interpret_string_no_quote s interpret_escapes s.match(/^(.*)\)$/mu)[1].strip.match(/^(['"]?)((?:\\.|.)*)\1$/mu)[2] end def interpret_string s interpret_escapes s.match(/^(['"])((?:\\.|.)*)\1$/mu)[2] end def interpret_escapes s token_exp = /\\(?:([0-9a-fA-F]{1,6}(?:\r\n|\s)?)|(.))/mu return s.gsub(token_exp) do |escape_sequence| if !$1.nil? code = $1.chomp.to_i 16 code = 0xFFFD if code > 0x10FFFF next [code].pack('U') end next '' if $2 == "\n" next $2 end end # override racc's on_error so we can have context in our error messages def on_error(t, val, vstack) errcontext = (@ss.pre_match[-10..-1] || @ss.pre_match) + @ss.matched + @ss.post_match[0..9] line_number = @ss.pre_match.lines.count raise ParseError, sprintf("parse error on value %s (%s) " + "on line %s around \"%s\"", val.inspect, token_to_str(t) || '?', line_number, errcontext) end def before_pos(val) # don't include leading whitespace return current_pos - val.last.length + val.last[/\A\s*/].size end def after_pos(val) # don't include trailing whitespace return current_pos - val.last[/\s*\z/].size end # charpos will work with multibyte strings but is not available until ruby 2 def current_pos @ss.respond_to?('charpos') ? @ss.charpos : @ss.pos end ...end csspool.y/module_eval... ##### State transition tables begin ### racc_action_table = [ 9, 10, 137, 83, 37, 31, 55, 139, 59, 39, 45, 47, 45, 47, 85, 9, 10, 55, 129, 37, 31, 103, 84, 130, 39, 45, 47, 157, 158, 108, 113, 20, 113, 56, 37, 114, 23, 114, 163, 39, 45, 47, 104, 27, 56, 11, 20, 346, 48, 25, 48, 23, 224, 29, 138, 319, 38, 46, 27, 46, 11, 108, 113, 48, 25, 9, 10, 114, 29, 37, 31, 38, 46, 242, 39, 45, 47, 115, 48, 115, 9, 10, 319, 163, 37, 31, 38, 46, 339, 39, 45, 47, 351, 306, 245, 223, 20, 108, 113, 37, 31, 23, 118, 114, 39, 45, 47, 244, 27, 115, 11, 20, 344, 48, 25, 243, 23, 313, 29, 340, 314, 38, 46, 27, 345, 11, 20, 55, 48, 25, 155, 23, 163, 29, 37, 64, 38, 46, 27, 39, 45, 47, 231, 48, 25, 115, 103, 232, 29, -89, 229, 38, 46, 203, 56, 230, 123, 250, 37, 319, 251, 20, 357, 39, 45, 47, 23, 104, 75, 204, 124, 125, 188, 27, 59, 322, 45, 47, 48, 25, 187, 3, 359, 29, 74, 73, 38, 46, 83, 126, 198, 49, 190, 197, 192, 191, 193, 194, 195, 85, 37, 31, 48, 108, 113, 39, 45, 47, 107, 114, 38, 46, 53, 105, 48, 103, 153, 170, 151, 98, 116, 181, 186, 46, 185, 196, 120, 20, 108, 113, 45, 47, 23, 215, 114, 298, 104, 297, 188, 27, 59, 201, 45, 47, 48, 25, 187, 121, 252, 29, 151, 115, 38, 46, 83, 128, 198, 202, 190, 197, 192, 191, 193, 194, 195, 85, 37, 31, 48, 131, 77, 39, 45, 47, 45, 47, 115, 46, 203, 37, 48, 136, 148, 170, 39, 45, 47, 181, 186, 46, 185, 196, 92, 20, 204, 37, 31, -28, 23, 87, 39, 45, 47, 156, 201, 27, 160, 163, 94, 75, 48, 25, 48, 164, 296, 29, 295, 83, 38, 46, 202, 46, 20, 48, 165, 74, 73, 23, 85, 166, 167, 38, 46, 188, 27, 59, 84, 168, 169, 48, 25, 187, 199, 294, 29, 293, 200, 38, 46, 83, 292, 198, 291, 190, 197, 192, 191, 193, 194, 195, 85, 37, 31, 92, 37, 31, 39, 45, 47, 39, 45, 47, 289, 163, 290, 113, 210, -33, 170, 288, 114, 287, 181, 186, 212, 185, 196, 92, 20, -33, 216, 37, 217, 23, 218, 219, 39, 45, 47, 108, 27, 108, 225, 94, 226, 48, 25, 188, 48, 59, 29, 258, 233, 38, 46, 187, 38, 46, 260, 150, 152, 151, 115, 83, 129, 198, 259, 190, 197, 192, 191, 193, 194, 195, 85, 48, 234, 163, 255, 256, 155, 263, 169, 38, 46, 264, 188, 168, 59, 265, 266, 92, 170, 92, 187, 92, 181, 186, 92, 185, 196, 184, 83, 278, 198, 279, 190, 197, 192, 191, 193, 194, 195, 85, 37, 31, 281, 286, 229, 39, 45, 47, 198, 231, 190, 197, 192, 191, 193, 194, 195, 170, 163, 300, 301, 181, 186, 302, 185, 196, 303, 20, 37, 306, 307, 255, 23, 39, 45, 47, 75, 163, 188, 27, 59, 185, 168, 312, 48, 25, 187, 317, 319, 29, 323, 324, 38, 46, 83, 325, 198, 326, 190, 197, 192, 191, 193, 194, 195, 85, 327, 328, 329, 330, 331, 332, 48, 333, 334, 306, 188, 163, 59, 338, 38, 46, nil, 170, 187, nil, nil, 181, 186, nil, 185, 196, 83, nil, 198, nil, 190, 197, 192, 191, 193, 194, 195, 85, 37, 31, nil, nil, nil, 39, 45, 47, nil, nil, 188, nil, 59, 285, nil, nil, nil, 170, 187, nil, nil, 181, 186, nil, 185, 196, 83, 141, 198, nil, 190, 197, 192, 191, 193, 194, 195, 85, nil, nil, nil, 143, nil, nil, 48, 241, 235, 236, 237, nil, nil, nil, 38, 46, nil, 170, nil, nil, 145, 181, 186, nil, 185, 196, nil, 144, nil, 146, nil, 147, nil, 142, 238, 239, 240, 272, nil, 83, nil, 198, nil, 190, 197, 192, 191, 193, 194, 195, 272, nil, 83, nil, 198, nil, 190, 197, 192, 191, 193, 194, 195, 272, nil, 83, nil, 198, nil, 190, 197, 192, 191, 193, 194, 195, 272, nil, 83, nil, 198, nil, 190, 197, 192, 191, 193, 194, 195, 272, nil, 83, nil, 198, nil, 190, 197, 192, 191, 193, 194, 195, 272, nil, 83, nil, 198, nil, 190, 197, 192, 191, 193, 194, 195 ] racc_action_check = [ 2, 2, 47, 22, 2, 2, 11, 47, 11, 2, 2, 2, 41, 41, 22, 5, 5, 10, 38, 5, 5, 217, 22, 38, 5, 5, 5, 70, 70, 221, 221, 2, 210, 11, 144, 221, 2, 210, 312, 144, 144, 144, 217, 2, 10, 2, 5, 316, 2, 2, 41, 5, 112, 2, 47, 320, 2, 2, 5, 41, 5, 110, 110, 5, 5, 6, 6, 110, 5, 6, 6, 5, 5, 142, 6, 6, 6, 221, 144, 210, 7, 7, 321, 335, 7, 7, 144, 144, 309, 7, 7, 7, 337, 338, 143, 112, 6, 30, 30, 15, 15, 6, 30, 30, 15, 15, 15, 143, 6, 110, 6, 7, 315, 6, 6, 142, 7, 269, 6, 309, 269, 6, 6, 7, 315, 7, 15, 58, 7, 7, 58, 15, 340, 7, 19, 19, 7, 7, 15, 19, 19, 19, 131, 15, 15, 30, 99, 131, 15, 99, 128, 15, 15, 91, 58, 128, 34, 149, 302, 349, 149, 19, 350, 302, 302, 302, 19, 99, 157, 91, 34, 34, 286, 19, 286, 286, 42, 42, 19, 19, 286, 1, 358, 19, 157, 157, 19, 19, 286, 34, 286, 3, 286, 286, 286, 286, 286, 286, 286, 286, 13, 13, 302, 28, 28, 13, 13, 13, 28, 28, 302, 302, 9, 27, 42, 26, 57, 286, 57, 26, 29, 286, 286, 42, 286, 286, 32, 13, 100, 100, 43, 43, 13, 100, 100, 240, 26, 240, 285, 13, 285, 206, 44, 44, 13, 13, 285, 33, 154, 13, 154, 28, 13, 13, 285, 37, 285, 206, 285, 285, 285, 285, 285, 285, 285, 285, 21, 21, 43, 39, 21, 21, 21, 21, 35, 35, 100, 43, 207, 122, 44, 46, 53, 285, 122, 122, 122, 285, 285, 44, 285, 285, 25, 21, 207, 24, 24, 20, 21, 24, 24, 24, 24, 67, 90, 21, 71, 75, 25, 20, 21, 21, 35, 76, 239, 21, 239, 166, 21, 21, 90, 35, 24, 122, 78, 20, 20, 24, 166, 79, 80, 122, 122, 353, 24, 353, 166, 81, 82, 24, 24, 353, 86, 238, 24, 238, 88, 24, 24, 353, 237, 353, 237, 353, 353, 353, 353, 353, 353, 353, 353, 14, 14, 94, 31, 31, 14, 14, 14, 31, 31, 31, 236, 270, 236, 92, 92, 270, 353, 235, 92, 235, 353, 353, 97, 353, 353, 92, 14, 270, 101, 121, 102, 14, 105, 106, 121, 121, 121, 108, 14, 109, 114, 92, 117, 14, 14, 171, 31, 171, 14, 171, 137, 14, 14, 171, 31, 31, 171, 54, 54, 54, 92, 171, 138, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 121, 139, 147, 161, 162, 172, 175, 176, 121, 121, 177, 83, 179, 83, 183, 185, 201, 171, 202, 83, 203, 171, 171, 204, 171, 171, 83, 83, 208, 83, 209, 83, 83, 83, 83, 83, 83, 83, 83, 12, 12, 214, 224, 233, 12, 12, 12, 189, 234, 189, 189, 189, 189, 189, 189, 189, 83, 243, 245, 246, 83, 83, 247, 83, 83, 248, 12, 146, 249, 251, 254, 12, 146, 146, 146, 255, 256, 261, 12, 261, 266, 267, 268, 12, 12, 261, 280, 284, 12, 287, 288, 12, 12, 261, 289, 261, 290, 261, 261, 261, 261, 261, 261, 261, 261, 291, 292, 293, 294, 295, 296, 146, 297, 298, 299, 322, 304, 322, 306, 146, 146, nil, 261, 322, nil, nil, 261, 261, nil, 261, 261, 322, nil, 322, nil, 322, 322, 322, 322, 322, 322, 322, 322, 64, 64, nil, nil, nil, 64, 64, 64, nil, nil, 223, nil, 223, 223, nil, nil, nil, 322, 223, nil, nil, 322, 322, nil, 322, 322, 223, 48, 223, nil, 223, 223, 223, 223, 223, 223, 223, 223, nil, nil, nil, 48, nil, nil, 64, 140, 140, 140, 140, nil, nil, nil, 64, 64, nil, 223, nil, nil, 48, 223, 223, nil, 223, 223, nil, 48, nil, 48, nil, 48, nil, 48, 140, 140, 140, 272, nil, 272, nil, 272, nil, 272, 272, 272, 272, 272, 272, 272, 313, nil, 313, nil, 313, nil, 313, 313, 313, 313, 313, 313, 313, 314, nil, 314, nil, 314, nil, 314, 314, 314, 314, 314, 314, 314, 344, nil, 344, nil, 344, nil, 344, 344, 344, 344, 344, 344, 344, 345, nil, 345, nil, 345, nil, 345, 345, 345, 345, 345, 345, 345, 186, nil, 186, nil, 186, nil, 186, 186, 186, 186, 186, 186, 186 ] racc_action_pointer = [ nil, 181, -2, 191, nil, 13, 63, 78, nil, 208, 13, 2, 468, 194, 355, 93, nil, nil, nil, 128, 291, 260, -17, nil, 289, 274, 209, 207, 198, 211, 92, 358, 217, 239, 149, 262, nil, 197, 12, 211, nil, 0, 164, 218, 230, nil, 275, -4, 599, nil, nil, nil, nil, 277, 414, nil, nil, 211, 123, nil, nil, nil, nil, nil, 572, nil, nil, 293, nil, nil, 19, 300, nil, nil, nil, 300, 303, nil, 315, 321, 323, 330, 331, 442, nil, nil, 332, nil, 337, nil, 268, 117, 369, nil, 345, nil, nil, 374, nil, 140, 223, 381, 384, nil, nil, 385, 385, nil, 394, 396, 56, nil, 45, nil, 396, nil, nil, 394, nil, nil, nil, 385, 273, nil, nil, nil, nil, nil, 144, nil, nil, 136, nil, nil, nil, nil, nil, 354, 418, 378, 609, nil, 67, 88, 28, nil, 496, 430, nil, 152, nil, nil, nil, nil, 243, nil, nil, 150, nil, nil, nil, 402, 433, nil, nil, nil, 297, nil, nil, nil, nil, 403, 433, nil, nil, 434, 435, 438, nil, 440, nil, nil, nil, 430, nil, 442, 700, nil, nil, 460, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 433, 435, 437, 440, nil, 205, 242, 444, 446, 26, nil, nil, nil, 466, nil, nil, 15, nil, nil, nil, 24, nil, 584, 427, nil, nil, nil, nil, nil, nil, nil, nil, 472, 477, 375, 368, 346, 339, 310, 231, nil, nil, 485, nil, 474, 475, 489, 481, 497, nil, 498, nil, nil, 469, 492, 504, nil, nil, nil, nil, 508, nil, nil, nil, nil, 459, 509, 498, 95, 366, nil, 635, nil, nil, nil, nil, nil, nil, nil, 502, nil, nil, nil, 490, 234, 168, 510, 511, 515, 517, 526, 527, 528, 529, 530, 531, 533, 534, 543, nil, nil, 152, nil, 544, nil, 545, nil, nil, 69, nil, nil, 31, 648, 661, 101, 28, nil, nil, nil, 23, 50, 546, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 76, nil, 73, 87, nil, 125, nil, nil, nil, 674, 687, nil, nil, nil, 127, 143, nil, nil, 329, nil, nil, nil, nil, 163, nil ] racc_action_default = [ -1, -229, -10, -229, -2, -6, -7, -8, -9, -229, -229, -229, -41, -42, -43, -44, -45, -46, -47, -33, -23, -229, -229, -55, -229, -229, -89, -229, -229, -229, -229, -229, -229, -103, -105, -111, -112, -115, -229, -120, -119, -124, -125, -126, -127, -132, -229, -229, -229, 360, -3, -4, -5, -229, -229, -15, -16, -229, -229, -228, -37, -38, -39, -40, -32, -48, -49, -229, -99, -21, -229, -229, -35, -26, -27, -33, -229, -53, -229, -57, -58, -59, -60, -229, -198, -214, -229, -62, -229, -64, -65, -66, -229, -71, -229, -73, -74, -229, -82, -85, -229, -229, -91, -92, -93, -229, -229, -95, -160, -165, -166, -167, -229, -174, -229, -176, -96, -229, -98, -100, -101, -229, -229, -106, -107, -108, -109, -110, -229, -117, -121, -229, -128, -129, -130, -131, -133, -115, -229, -229, -229, -147, -229, -229, -229, -152, -229, -33, -11, -229, -13, -14, -20, -18, -229, -227, -50, -28, -51, -35, -29, -25, -229, -32, -52, -54, -229, -197, -194, -213, -36, -182, -183, -184, -185, -186, -187, -188, -189, -190, -191, -192, -193, -229, -196, -200, -229, -212, -216, -229, -218, -219, -220, -221, -222, -223, -224, -225, -226, -61, -63, -229, -229, -229, -229, -67, -68, -69, -229, -229, -229, -72, -81, -84, -229, -87, -88, -89, -83, -94, -161, -164, -163, -229, -229, -175, -97, -102, -104, -116, -123, -118, -122, -229, -229, -229, -229, -229, -229, -229, -229, -146, -148, -33, -149, -229, -229, -114, -229, -156, -12, -229, -17, -22, -24, -229, -33, -56, -177, -178, -179, -229, -181, -215, -211, -195, -229, -209, -229, -202, -205, -208, -229, -217, -76, -78, -75, -77, -70, -79, -229, -86, -90, -162, -173, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, -156, -150, -151, -229, -153, -33, -157, -158, -19, -34, -229, -180, -199, -33, -229, -229, -229, -229, -80, -168, -172, -173, -173, -229, -134, -135, -136, -137, -138, -139, -140, -141, -142, -143, -144, -145, -33, -113, -229, -229, -30, -33, -201, -203, -204, -229, -229, -210, -169, -170, -173, -229, -154, -159, -229, -206, -207, -171, -155, -229, -31 ] racc_goto_table = [ 81, 248, 183, 68, 106, 91, 117, 271, 78, 246, 273, 247, 82, 69, 209, 161, 97, 90, 268, 304, 89, 119, 54, 57, 354, 355, 318, 60, 61, 62, 63, 220, 221, 58, 65, 127, 76, 282, 70, 86, 227, 132, 133, 134, 135, 4, 228, 208, 50, 51, 52, 122, 159, 308, 119, 140, 67, 352, 66, 162, 1, 261, 347, 348, 2, 311, 88, 149, nil, 335, 154, nil, 207, nil, 211, nil, 214, nil, nil, nil, nil, nil, nil, nil, 206, nil, 222, 205, nil, 213, 262, 356, nil, 271, nil, nil, nil, nil, nil, nil, nil, nil, 254, nil, 316, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 249, 280, nil, 271, 271, nil, nil, nil, nil, nil, nil, 284, nil, 81, 342, 343, nil, nil, nil, 253, nil, 257, nil, nil, nil, 82, 336, nil, nil, nil, nil, nil, nil, 267, 271, 271, 247, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 310, 274, 275, 276, 277, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 283, nil, nil, nil, nil, nil, nil, 320, 321, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 299, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 309, 349, nil, nil, nil, nil, nil, nil, nil, nil, 267, nil, nil, nil, 315, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 358, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 337, nil, nil, 267, 267, nil, nil, nil, 341, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 350, nil, nil, 267, 267, 353 ] racc_goto_check = [ 35, 62, 18, 17, 51, 41, 51, 77, 32, 58, 77, 58, 36, 12, 46, 15, 48, 40, 82, 68, 39, 55, 8, 8, 84, 84, 73, 7, 7, 7, 7, 70, 70, 10, 7, 61, 7, 52, 11, 7, 56, 61, 61, 61, 61, 2, 57, 42, 2, 2, 2, 59, 14, 16, 55, 63, 27, 69, 28, 17, 1, 74, 73, 73, 3, 81, 38, 9, nil, 68, 8, nil, 41, nil, 41, nil, 51, nil, nil, nil, nil, nil, nil, nil, 40, nil, 51, 39, nil, 48, 18, 73, nil, 77, nil, nil, nil, nil, nil, nil, nil, nil, 15, nil, 82, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 17, 46, nil, 77, 77, nil, nil, nil, nil, nil, nil, 18, nil, 35, 82, 82, nil, nil, nil, 12, nil, 32, nil, nil, nil, 36, 62, nil, nil, nil, nil, nil, nil, 35, 77, 77, 58, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 18, 41, 41, 41, 41, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 51, nil, nil, nil, nil, nil, nil, 18, 18, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 17, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 17, 18, nil, nil, nil, nil, nil, nil, nil, nil, 35, nil, nil, nil, 17, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 18, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 17, nil, nil, 35, 35, nil, nil, nil, 17, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 17, nil, nil, 35, 35, 17 ] racc_goto_pointer = [ nil, 60, 43, 64, nil, nil, nil, 15, 12, 13, 22, 18, -7, nil, -19, -57, -202, -16, -81, nil, nil, nil, nil, nil, nil, nil, nil, 37, 39, nil, nil, nil, -14, nil, nil, -22, -10, nil, 41, -5, -8, -20, -45, nil, nil, nil, -78, nil, -10, nil, nil, -24, -180, nil, nil, -10, -81, -76, -135, 17, nil, 0, -145, 8, nil, nil, nil, nil, -230, -281, -77, nil, nil, -258, -110, nil, nil, -179, nil, nil, nil, -201, -168, nil, -320, nil ] racc_goto_default = [ nil, nil, nil, nil, 5, 6, 7, 8, nil, nil, 172, nil, nil, 71, nil, nil, 72, nil, nil, 180, 12, 13, 14, 15, 16, 17, 18, nil, nil, 19, 21, 22, nil, 79, 80, 179, 176, 24, nil, nil, nil, nil, nil, 93, 95, 96, 111, 26, nil, 99, 100, nil, 101, 102, 28, 30, 32, 33, 34, nil, 35, 36, nil, 40, 41, 42, 43, 44, nil, 305, 110, 109, 112, nil, nil, 171, 173, 174, 175, 177, 178, 182, nil, 269, 270, 189 ] racc_reduce_table = [ 0, 0, :racc_error, 0, 63, :_reduce_1, 2, 61, :_reduce_2, 2, 62, :_reduce_none, 2, 62, :_reduce_none, 2, 62, :_reduce_none, 1, 62, :_reduce_none, 1, 62, :_reduce_none, 1, 62, :_reduce_none, 1, 62, :_reduce_none, 0, 62, :_reduce_none, 3, 64, :_reduce_11, 4, 65, :_reduce_12, 3, 65, :_reduce_13, 2, 68, :_reduce_none, 1, 68, :_reduce_15, 1, 68, :_reduce_16, 4, 66, :_reduce_17, 3, 66, :_reduce_18, 3, 69, :_reduce_19, 1, 69, :_reduce_20, 1, 71, :_reduce_21, 3, 71, :_reduce_22, 0, 71, :_reduce_23, 3, 72, :_reduce_24, 2, 72, :_reduce_25, 1, 73, :_reduce_26, 1, 73, :_reduce_27, 0, 73, :_reduce_28, 1, 74, :_reduce_29, 5, 76, :_reduce_30, 8, 76, :_reduce_31, 1, 77, :_reduce_32, 0, 77, :_reduce_33, 3, 75, :_reduce_34, 0, 75, :_reduce_35, 1, 79, :_reduce_36, 2, 67, :_reduce_none, 2, 67, :_reduce_none, 2, 67, :_reduce_none, 2, 67, :_reduce_none, 1, 67, :_reduce_none, 1, 67, :_reduce_none, 1, 67, :_reduce_none, 1, 67, :_reduce_none, 1, 81, :_reduce_none, 1, 81, :_reduce_none, 1, 81, :_reduce_none, 1, 87, :_reduce_none, 1, 87, :_reduce_none, 3, 84, :_reduce_50, 3, 89, :_reduce_51, 3, 85, :_reduce_52, 2, 85, :_reduce_53, 3, 90, :_reduce_54, 1, 91, :_reduce_55, 3, 92, :_reduce_56, 1, 92, :_reduce_57, 1, 93, :_reduce_none, 1, 93, :_reduce_none, 1, 93, :_reduce_none, 3, 86, :_reduce_61, 2, 86, :_reduce_62, 3, 97, :_reduce_63, 1, 98, :_reduce_64, 1, 98, :_reduce_65, 1, 98, :_reduce_66, 1, 102, :_reduce_67, 1, 102, :_reduce_68, 1, 102, :_reduce_69, 3, 101, :_reduce_70, 1, 101, :_reduce_71, 2, 99, :_reduce_72, 1, 100, :_reduce_none, 1, 100, :_reduce_none, 3, 104, :_reduce_75, 3, 104, :_reduce_76, 3, 105, :_reduce_77, 3, 105, :_reduce_78, 3, 103, :_reduce_79, 4, 103, :_reduce_80, 3, 82, :_reduce_none, 2, 82, :_reduce_none, 3, 107, :_reduce_83, 2, 108, :_reduce_none, 1, 108, :_reduce_none, 3, 109, :_reduce_86, 2, 109, :_reduce_87, 2, 110, :_reduce_88, 0, 112, :_reduce_none, 3, 112, :_reduce_90, 1, 112, :_reduce_none, 1, 113, :_reduce_none, 1, 113, :_reduce_93, 3, 83, :_reduce_94, 2, 83, :_reduce_95, 2, 114, :_reduce_96, 3, 80, :_reduce_97, 2, 80, :_reduce_98, 1, 88, :_reduce_99, 2, 115, :_reduce_100, 2, 115, :_reduce_101, 3, 116, :_reduce_102, 1, 116, :_reduce_103, 3, 117, :_reduce_104, 1, 117, :_reduce_none, 1, 119, :_reduce_106, 1, 119, :_reduce_107, 1, 119, :_reduce_108, 1, 119, :_reduce_109, 2, 118, :_reduce_110, 1, 118, :_reduce_111, 1, 118, :_reduce_112, 3, 122, :_reduce_113, 1, 122, :_reduce_none, 1, 123, :_reduce_115, 3, 123, :_reduce_116, 2, 123, :_reduce_117, 3, 123, :_reduce_118, 1, 120, :_reduce_119, 1, 120, :_reduce_120, 2, 120, :_reduce_121, 3, 120, :_reduce_122, 3, 120, :_reduce_123, 1, 121, :_reduce_124, 1, 121, :_reduce_125, 1, 121, :_reduce_126, 1, 121, :_reduce_127, 2, 121, :_reduce_128, 2, 121, :_reduce_129, 2, 121, :_reduce_130, 2, 121, :_reduce_131, 1, 124, :_reduce_132, 2, 125, :_reduce_133, 5, 126, :_reduce_134, 5, 126, :_reduce_135, 5, 126, :_reduce_136, 5, 126, :_reduce_137, 5, 126, :_reduce_138, 5, 126, :_reduce_139, 5, 126, :_reduce_140, 5, 126, :_reduce_141, 5, 126, :_reduce_142, 5, 126, :_reduce_143, 5, 126, :_reduce_144, 5, 126, :_reduce_145, 3, 126, :_reduce_146, 2, 127, :_reduce_147, 3, 127, :_reduce_148, 3, 127, :_reduce_149, 4, 127, :_reduce_150, 4, 127, :_reduce_151, 2, 127, :_reduce_152, 4, 127, :_reduce_153, 6, 127, :_reduce_154, 7, 127, :_reduce_155, 0, 128, :_reduce_none, 1, 128, :_reduce_none, 1, 129, :_reduce_none, 3, 129, :_reduce_none, 1, 130, :_reduce_none, 2, 130, :_reduce_none, 3, 111, :_reduce_none, 2, 111, :_reduce_none, 2, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 111, :_reduce_none, 1, 131, :_reduce_167, 4, 106, :_reduce_168, 5, 106, :_reduce_169, 5, 106, :_reduce_170, 6, 106, :_reduce_171, 1, 133, :_reduce_172, 0, 133, :_reduce_173, 1, 132, :_reduce_174, 2, 132, :_reduce_175, 1, 132, :_reduce_176, 1, 134, :_reduce_none, 1, 134, :_reduce_none, 1, 134, :_reduce_none, 3, 78, :_reduce_180, 2, 78, :_reduce_181, 1, 78, :_reduce_182, 1, 135, :_reduce_none, 1, 135, :_reduce_none, 1, 135, :_reduce_none, 1, 135, :_reduce_none, 1, 135, :_reduce_none, 1, 135, :_reduce_none, 1, 135, :_reduce_none, 1, 135, :_reduce_none, 1, 135, :_reduce_none, 1, 135, :_reduce_none, 1, 135, :_reduce_none, 2, 95, :_reduce_194, 3, 95, :_reduce_195, 2, 95, :_reduce_196, 2, 94, :_reduce_197, 1, 94, :_reduce_198, 3, 141, :_reduce_none, 1, 141, :_reduce_none, 4, 140, :_reduce_201, 1, 142, :_reduce_none, 3, 142, :_reduce_203, 3, 142, :_reduce_204, 1, 143, :_reduce_none, 4, 143, :_reduce_206, 4, 143, :_reduce_207, 1, 144, :_reduce_208, 1, 144, :_reduce_209, 3, 144, :_reduce_210, 2, 139, :_reduce_211, 1, 139, :_reduce_212, 2, 96, :_reduce_213, 1, 96, :_reduce_214, 2, 138, :_reduce_215, 1, 138, :_reduce_216, 2, 137, :_reduce_217, 1, 137, :_reduce_218, 1, 137, :_reduce_219, 1, 137, :_reduce_220, 1, 137, :_reduce_221, 1, 137, :_reduce_222, 1, 137, :_reduce_223, 1, 136, :_reduce_224, 1, 145, :_reduce_225, 1, 145, :_reduce_226, 2, 70, :_reduce_227, 1, 70, :_reduce_228 ] racc_reduce_n = 229 racc_shift_n = 360 racc_token_table = { false => 0, :error => 1, :CHARSET_SYM => 2, :IMPORT_SYM => 3, :STRING => 4, :SEMI => 5, :IDENT => 6, :S => 7, :COMMA => 8, :LBRACE => 9, :RBRACE => 10, :STAR => 11, :HASH => 12, :LSQUARE => 13, :RSQUARE => 14, :EQUAL => 15, :INCLUDES => 16, :DASHMATCH => 17, :LPAREN => 18, :RPAREN => 19, :FUNCTION => 20, :GREATER => 21, :PLUS => 22, :SLASH => 23, :NUMBER => 24, :MINUS => 25, :LENGTH => 26, :PERCENTAGE => 27, :ANGLE => 28, :TIME => 29, :FREQ => 30, :URI => 31, :IMPORTANT_SYM => 32, :MEDIA_SYM => 33, :NOT => 34, :ONLY => 35, :AND => 36, :NTH_PSEUDO_CLASS => 37, :DOCUMENT_QUERY_SYM => 38, :FUNCTION_NO_QUOTE => 39, :TILDE => 40, :PREFIXMATCH => 41, :SUFFIXMATCH => 42, :SUBSTRINGMATCH => 43, :NOT_PSEUDO_CLASS => 44, :KEYFRAMES_SYM => 45, :MATCHES_PSEUDO_CLASS => 46, :NAMESPACE_SYM => 47, :MOZ_PSEUDO_ELEMENT => 48, :RESOLUTION => 49, :COLON => 50, :SUPPORTS_SYM => 51, :OR => 52, :VARIABLE_NAME => 53, :CALC_SYM => 54, :FONTFACE_SYM => 55, :UNICODE_RANGE => 56, :RATIO => 57, "|" => 58, "." => 59 } racc_nt_base = 60 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", "CHARSET_SYM", "IMPORT_SYM", "STRING", "SEMI", "IDENT", "S", "COMMA", "LBRACE", "RBRACE", "STAR", "HASH", "LSQUARE", "RSQUARE", "EQUAL", "INCLUDES", "DASHMATCH", "LPAREN", "RPAREN", "FUNCTION", "GREATER", "PLUS", "SLASH", "NUMBER", "MINUS", "LENGTH", "PERCENTAGE", "ANGLE", "TIME", "FREQ", "URI", "IMPORTANT_SYM", "MEDIA_SYM", "NOT", "ONLY", "AND", "NTH_PSEUDO_CLASS", "DOCUMENT_QUERY_SYM", "FUNCTION_NO_QUOTE", "TILDE", "PREFIXMATCH", "SUFFIXMATCH", "SUBSTRINGMATCH", "NOT_PSEUDO_CLASS", "KEYFRAMES_SYM", "MATCHES_PSEUDO_CLASS", "NAMESPACE_SYM", "MOZ_PSEUDO_ELEMENT", "RESOLUTION", "COLON", "SUPPORTS_SYM", "OR", "VARIABLE_NAME", "CALC_SYM", "FONTFACE_SYM", "UNICODE_RANGE", "RATIO", "\"|\"", "\".\"", "$start", "document", "stylesheet", "@1", "charset", "import", "namespace", "body", "import_location", "medium", "ident", "media_query_list", "media_query", "optional_only_or_not", "media_type", "optional_and_exprs", "media_expr", "optional_space", "expr", "resolution", "ruleset", "conditional_rule", "keyframes_rule", "fontface_rule", "media", "document_query", "supports", "body_in_media", "empty_ruleset", "start_media", "start_document_query", "start_document_query_pos", "url_match_fns", "url_match_fn", "function_no_quote", "function", "uri", "start_supports", "supports_condition_root", "supports_negation", "supports_conjunction_or_disjunction", "supports_condition_in_parens", "supports_condition", "supports_declaration_condition", "supports_conjunction", "supports_disjunction", "declaration_internal", "start_keyframes_rule", "keyframes_blocks", "keyframes_block", "start_keyframes_block", "declarations", "keyframes_selectors", "keyframes_selector", "start_fontface_rule", "start_selector", "selectors", "selector", "simple_selector", "combinator", "element_name", "hcap", "simple_selectors", "ident_with_namespace", "hash", "class", "attrib", "pseudo", "any_number_of_idents", "multiple_idents", "one_or_more_semis", "declaration", "property", "prio", "operator", "term", "ratio", "numeric", "string", "hexcolor", "calc", "uranges", "calc_sum", "calc_product", "calc_value", "unary_operator" ] Racc_debug_parser = false ##### State transition tables end ##### # reduce 0 omitted module_eval(<<'.,.,', 'csspool.y', 26) def _reduce_1(val, _values, result) @handler.start_document result end .,., module_eval(<<'.,.,', 'csspool.y', 28) def _reduce_2(val, _values, result) @handler.end_document result end .,., # reduce 3 omitted # reduce 4 omitted # reduce 5 omitted # reduce 6 omitted # reduce 7 omitted # reduce 8 omitted # reduce 9 omitted # reduce 10 omitted module_eval(<<'.,.,', 'csspool.y', 41) def _reduce_11(val, _values, result) @handler.charset interpret_string(val[1]), {} result end .,., module_eval(<<'.,.,', 'csspool.y', 45) def _reduce_12(val, _values, result) @handler.import_style val[2], val[1] result end .,., module_eval(<<'.,.,', 'csspool.y', 48) def _reduce_13(val, _values, result) @handler.import_style [], val[1] result end .,., # reduce 14 omitted module_eval(<<'.,.,', 'csspool.y', 53) def _reduce_15(val, _values, result) result = Terms::String.new interpret_string val.first result end .,., module_eval(<<'.,.,', 'csspool.y', 54) def _reduce_16(val, _values, result) result = Terms::URI.new interpret_uri val.first result end .,., module_eval(<<'.,.,', 'csspool.y', 58) def _reduce_17(val, _values, result) @handler.namespace val[1], val[2] result end .,., module_eval(<<'.,.,', 'csspool.y', 61) def _reduce_18(val, _values, result) @handler.namespace nil, val[1] result end .,., module_eval(<<'.,.,', 'csspool.y', 66) def _reduce_19(val, _values, result) result = val[0] << MediaType.new(val[2]) result end .,., module_eval(<<'.,.,', 'csspool.y', 69) def _reduce_20(val, _values, result) result = [MediaType.new(val[0])] result end .,., module_eval(<<'.,.,', 'csspool.y', 73) def _reduce_21(val, _values, result) result = MediaQueryList.new([ val[0] ]) result end .,., module_eval(<<'.,.,', 'csspool.y', 74) def _reduce_22(val, _values, result) result = val[0] << val[2] result end .,., module_eval(<<'.,.,', 'csspool.y', 75) def _reduce_23(val, _values, result) result = MediaQueryList.new result end .,., module_eval(<<'.,.,', 'csspool.y', 78) def _reduce_24(val, _values, result) result = MediaQuery.new(val[0], val[1], val[2]) result end .,., module_eval(<<'.,.,', 'csspool.y', 79) def _reduce_25(val, _values, result) result = MediaQuery.new(nil, val[0], val[1]) result end .,., module_eval(<<'.,.,', 'csspool.y', 82) def _reduce_26(val, _values, result) result = :only result end .,., module_eval(<<'.,.,', 'csspool.y', 83) def _reduce_27(val, _values, result) result = :not result end .,., module_eval(<<'.,.,', 'csspool.y', 84) def _reduce_28(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'csspool.y', 87) def _reduce_29(val, _values, result) result = MediaType.new(val[0]) result end .,., module_eval(<<'.,.,', 'csspool.y', 90) def _reduce_30(val, _values, result) result = MediaType.new(val[2]) result end .,., module_eval(<<'.,.,', 'csspool.y', 91) def _reduce_31(val, _values, result) result = MediaFeature.new(val[2], val[6][0]) result end .,., module_eval(<<'.,.,', 'csspool.y', 94) def _reduce_32(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'csspool.y', 95) def _reduce_33(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'csspool.y', 98) def _reduce_34(val, _values, result) result = val[0] << val[2] result end .,., module_eval(<<'.,.,', 'csspool.y', 99) def _reduce_35(val, _values, result) result = [] result end .,., module_eval(<<'.,.,', 'csspool.y', 103) def _reduce_36(val, _values, result) unit = val.first.gsub(/[\s\d.]/, '') number = numeric(val.first) result = Terms::Resolution.new(number, unit) result end .,., # reduce 37 omitted # reduce 38 omitted # reduce 39 omitted # reduce 40 omitted # reduce 41 omitted # reduce 42 omitted # reduce 43 omitted # reduce 44 omitted # reduce 45 omitted # reduce 46 omitted # reduce 47 omitted # reduce 48 omitted # reduce 49 omitted module_eval(<<'.,.,', 'csspool.y', 128) def _reduce_50(val, _values, result) @handler.end_media val.first result end .,., module_eval(<<'.,.,', 'csspool.y', 132) def _reduce_51(val, _values, result) result = val[1] @handler.start_media result result end .,., module_eval(<<'.,.,', 'csspool.y', 137) def _reduce_52(val, _values, result) @handler.end_document_query(before_pos(val), after_pos(val)) result end .,., module_eval(<<'.,.,', 'csspool.y', 138) def _reduce_53(val, _values, result) @handler.end_document_query(before_pos(val), after_pos(val)) result end .,., module_eval(<<'.,.,', 'csspool.y', 142) def _reduce_54(val, _values, result) @handler.start_document_query(val[1], after_pos(val)) result end .,., module_eval(<<'.,.,', 'csspool.y', 147) def _reduce_55(val, _values, result) @handler.node_start_pos = before_pos(val) result end .,., module_eval(<<'.,.,', 'csspool.y', 152) def _reduce_56(val, _values, result) result = [val[0], val[2]].flatten result end .,., module_eval(<<'.,.,', 'csspool.y', 155) def _reduce_57(val, _values, result) result = val result end .,., # reduce 58 omitted # reduce 59 omitted # reduce 60 omitted module_eval(<<'.,.,', 'csspool.y', 164) def _reduce_61(val, _values, result) @handler.end_supports result end .,., module_eval(<<'.,.,', 'csspool.y', 165) def _reduce_62(val, _values, result) @handler.end_supports result end .,., module_eval(<<'.,.,', 'csspool.y', 169) def _reduce_63(val, _values, result) @handler.start_supports val[1] result end .,., module_eval(<<'.,.,', 'csspool.y', 173) def _reduce_64(val, _values, result) result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 174) def _reduce_65(val, _values, result) result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 175) def _reduce_66(val, _values, result) result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 178) def _reduce_67(val, _values, result) result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 179) def _reduce_68(val, _values, result) result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 180) def _reduce_69(val, _values, result) result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 183) def _reduce_70(val, _values, result) result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 184) def _reduce_71(val, _values, result) result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 187) def _reduce_72(val, _values, result) result = val.join('') result end .,., # reduce 73 omitted # reduce 74 omitted module_eval(<<'.,.,', 'csspool.y', 194) def _reduce_75(val, _values, result) result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 195) def _reduce_76(val, _values, result) result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 198) def _reduce_77(val, _values, result) result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 199) def _reduce_78(val, _values, result) result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 202) def _reduce_79(val, _values, result) result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 203) def _reduce_80(val, _values, result) result = val.join('') result end .,., # reduce 81 omitted # reduce 82 omitted module_eval(<<'.,.,', 'csspool.y', 211) def _reduce_83(val, _values, result) @handler.start_keyframes_rule val[1] result end .,., # reduce 84 omitted # reduce 85 omitted module_eval(<<'.,.,', 'csspool.y', 219) def _reduce_86(val, _values, result) @handler.end_keyframes_block result end .,., module_eval(<<'.,.,', 'csspool.y', 220) def _reduce_87(val, _values, result) @handler.end_keyframes_block result end .,., module_eval(<<'.,.,', 'csspool.y', 224) def _reduce_88(val, _values, result) @handler.start_keyframes_block val[0] result end .,., # reduce 89 omitted module_eval(<<'.,.,', 'csspool.y', 229) def _reduce_90(val, _values, result) result = val[0] + ', ' + val[2] result end .,., # reduce 91 omitted # reduce 92 omitted module_eval(<<'.,.,', 'csspool.y', 235) def _reduce_93(val, _values, result) result = val[0].strip result end .,., module_eval(<<'.,.,', 'csspool.y', 238) def _reduce_94(val, _values, result) @handler.end_fontface_rule result end .,., module_eval(<<'.,.,', 'csspool.y', 239) def _reduce_95(val, _values, result) @handler.end_fontface_rule result end .,., module_eval(<<'.,.,', 'csspool.y', 243) def _reduce_96(val, _values, result) @handler.start_fontface_rule result end .,., module_eval(<<'.,.,', 'csspool.y', 248) def _reduce_97(val, _values, result) @handler.end_selector val.first result end .,., module_eval(<<'.,.,', 'csspool.y', 251) def _reduce_98(val, _values, result) @handler.end_selector val.first result end .,., module_eval(<<'.,.,', 'csspool.y', 256) def _reduce_99(val, _values, result) start = @handler.start_selector([]) @handler.end_selector(start) result end .,., module_eval(<<'.,.,', 'csspool.y', 261) def _reduce_100(val, _values, result) result = val.last result end .,., module_eval(<<'.,.,', 'csspool.y', 263) def _reduce_101(val, _values, result) @handler.start_selector val.first result end .,., module_eval(<<'.,.,', 'csspool.y', 269) def _reduce_102(val, _values, result) sel = Selector.new(val.first, {}) result = [sel].concat(val[2]) result end .,., module_eval(<<'.,.,', 'csspool.y', 274) def _reduce_103(val, _values, result) result = [Selector.new(val.first, {})] result end .,., module_eval(<<'.,.,', 'csspool.y', 280) def _reduce_104(val, _values, result) val.flatten! val[2].combinator = val.delete_at 1 result = val result end .,., # reduce 105 omitted module_eval(<<'.,.,', 'csspool.y', 287) def _reduce_106(val, _values, result) result = :s result end .,., module_eval(<<'.,.,', 'csspool.y', 288) def _reduce_107(val, _values, result) result = :> result end .,., module_eval(<<'.,.,', 'csspool.y', 289) def _reduce_108(val, _values, result) result = :+ result end .,., module_eval(<<'.,.,', 'csspool.y', 290) def _reduce_109(val, _values, result) result = :~ result end .,., module_eval(<<'.,.,', 'csspool.y', 294) def _reduce_110(val, _values, result) selector = val.first selector.additional_selectors = val.last result = [selector] result end .,., module_eval(<<'.,.,', 'csspool.y', 298) def _reduce_111(val, _values, result) result = val result end .,., module_eval(<<'.,.,', 'csspool.y', 301) def _reduce_112(val, _values, result) ss = Selectors::Simple.new nil, nil ss.additional_selectors = val.flatten result = [ss] result end .,., module_eval(<<'.,.,', 'csspool.y', 307) def _reduce_113(val, _values, result) result = [val[0], val[2]].flatten result end .,., # reduce 114 omitted module_eval(<<'.,.,', 'csspool.y', 311) def _reduce_115(val, _values, result) result = [interpret_identifier(val[0]), nil] result end .,., module_eval(<<'.,.,', 'csspool.y', 312) def _reduce_116(val, _values, result) result = [interpret_identifier(val[2]), interpret_identifier(val[0])] result end .,., module_eval(<<'.,.,', 'csspool.y', 313) def _reduce_117(val, _values, result) result = [interpret_identifier(val[1]), nil] result end .,., module_eval(<<'.,.,', 'csspool.y', 314) def _reduce_118(val, _values, result) result = [interpret_identifier(val[2]), '*'] result end .,., module_eval(<<'.,.,', 'csspool.y', 317) def _reduce_119(val, _values, result) result = Selectors::Type.new val.first[0], nil, val.first[1] result end .,., module_eval(<<'.,.,', 'csspool.y', 318) def _reduce_120(val, _values, result) result = Selectors::Universal.new val.first result end .,., module_eval(<<'.,.,', 'csspool.y', 319) def _reduce_121(val, _values, result) result = Selectors::Universal.new val[1] result end .,., module_eval(<<'.,.,', 'csspool.y', 320) def _reduce_122(val, _values, result) result = Selectors::Universal.new val[2], nil, val[0] result end .,., module_eval(<<'.,.,', 'csspool.y', 321) def _reduce_123(val, _values, result) result = Selectors::Universal.new val[2], nil, interpret_identifier(val[0]) result end .,., module_eval(<<'.,.,', 'csspool.y', 324) def _reduce_124(val, _values, result) result = val result end .,., module_eval(<<'.,.,', 'csspool.y', 325) def _reduce_125(val, _values, result) result = val result end .,., module_eval(<<'.,.,', 'csspool.y', 326) def _reduce_126(val, _values, result) result = val result end .,., module_eval(<<'.,.,', 'csspool.y', 327) def _reduce_127(val, _values, result) result = val result end .,., module_eval(<<'.,.,', 'csspool.y', 328) def _reduce_128(val, _values, result) result = val.flatten result end .,., module_eval(<<'.,.,', 'csspool.y', 329) def _reduce_129(val, _values, result) result = val.flatten result end .,., module_eval(<<'.,.,', 'csspool.y', 330) def _reduce_130(val, _values, result) result = val.flatten result end .,., module_eval(<<'.,.,', 'csspool.y', 331) def _reduce_131(val, _values, result) result = val.flatten result end .,., module_eval(<<'.,.,', 'csspool.y', 335) def _reduce_132(val, _values, result) result = Selectors::Id.new interpret_identifier val.first.sub(/^#/, '') result end .,., module_eval(<<'.,.,', 'csspool.y', 339) def _reduce_133(val, _values, result) result = Selectors::Class.new interpret_identifier val.last result end .,., module_eval(<<'.,.,', 'csspool.y', 344) def _reduce_134(val, _values, result) result = Selectors::Attribute.new( val[1][0], interpret_identifier(val[3]), Selectors::Attribute::EQUALS, val[1][1] ) result end .,., module_eval(<<'.,.,', 'csspool.y', 352) def _reduce_135(val, _values, result) result = Selectors::Attribute.new( val[1][0], interpret_string(val[3]), Selectors::Attribute::EQUALS, val[1][1] ) result end .,., module_eval(<<'.,.,', 'csspool.y', 360) def _reduce_136(val, _values, result) result = Selectors::Attribute.new( val[1][0], interpret_string(val[3]), Selectors::Attribute::INCLUDES, val[1][1] ) result end .,., module_eval(<<'.,.,', 'csspool.y', 368) def _reduce_137(val, _values, result) result = Selectors::Attribute.new( val[1][0], interpret_identifier(val[3]), Selectors::Attribute::INCLUDES, val[1][1] ) result end .,., module_eval(<<'.,.,', 'csspool.y', 376) def _reduce_138(val, _values, result) result = Selectors::Attribute.new( val[1][0], interpret_identifier(val[3]), Selectors::Attribute::DASHMATCH, val[1][1] ) result end .,., module_eval(<<'.,.,', 'csspool.y', 384) def _reduce_139(val, _values, result) result = Selectors::Attribute.new( val[1][0], interpret_string(val[3]), Selectors::Attribute::DASHMATCH, val[1][1] ) result end .,., module_eval(<<'.,.,', 'csspool.y', 392) def _reduce_140(val, _values, result) result = Selectors::Attribute.new( val[1][0], interpret_identifier(val[3]), Selectors::Attribute::PREFIXMATCH, val[1][1] ) result end .,., module_eval(<<'.,.,', 'csspool.y', 400) def _reduce_141(val, _values, result) result = Selectors::Attribute.new( val[1][0], interpret_string(val[3]), Selectors::Attribute::PREFIXMATCH, val[1][1] ) result end .,., module_eval(<<'.,.,', 'csspool.y', 408) def _reduce_142(val, _values, result) result = Selectors::Attribute.new( val[1][0], interpret_identifier(val[3]), Selectors::Attribute::SUFFIXMATCH, val[1][1] ) result end .,., module_eval(<<'.,.,', 'csspool.y', 416) def _reduce_143(val, _values, result) result = Selectors::Attribute.new( val[1][0], interpret_string(val[3]), Selectors::Attribute::SUFFIXMATCH, val[1][1] ) result end .,., module_eval(<<'.,.,', 'csspool.y', 424) def _reduce_144(val, _values, result) result = Selectors::Attribute.new( val[1][0], interpret_identifier(val[3]), Selectors::Attribute::SUBSTRINGMATCH, val[1][1] ) result end .,., module_eval(<<'.,.,', 'csspool.y', 432) def _reduce_145(val, _values, result) result = Selectors::Attribute.new( val[1][0], interpret_string(val[3]), Selectors::Attribute::SUBSTRINGMATCH, val[1][1] ) result end .,., module_eval(<<'.,.,', 'csspool.y', 440) def _reduce_146(val, _values, result) result = Selectors::Attribute.new( val[1][0], nil, Selectors::Attribute::SET, val[1][1] ) result end .,., module_eval(<<'.,.,', 'csspool.y', 450) def _reduce_147(val, _values, result) result = Selectors::pseudo interpret_identifier(val[1]) result end .,., module_eval(<<'.,.,', 'csspool.y', 453) def _reduce_148(val, _values, result) result = Selectors::PseudoElement.new( interpret_identifier(val[2]) ) result end .,., module_eval(<<'.,.,', 'csspool.y', 458) def _reduce_149(val, _values, result) result = Selectors::PseudoClass.new( interpret_identifier(val[1].sub(/\($/, '')), '' ) result end .,., module_eval(<<'.,.,', 'csspool.y', 464) def _reduce_150(val, _values, result) result = Selectors::PseudoClass.new( interpret_identifier(val[1].sub(/\($/, '')), interpret_identifier(val[2]) ) result end .,., module_eval(<<'.,.,', 'csspool.y', 470) def _reduce_151(val, _values, result) result = Selectors::PseudoClass.new( 'not', val[2].first.to_s ) result end .,., module_eval(<<'.,.,', 'csspool.y', 476) def _reduce_152(val, _values, result) result = Selectors::PseudoClass.new( interpret_identifier(val[1].sub(/\(.*/, '')), interpret_identifier(val[1].sub(/.*\(/, '').sub(/\).*/, '')) ) result end .,., module_eval(<<'.,.,', 'csspool.y', 482) def _reduce_153(val, _values, result) result = Selectors::PseudoClass.new( val[1].split('(').first.strip, val[2].join(', ') ) result end .,., module_eval(<<'.,.,', 'csspool.y', 488) def _reduce_154(val, _values, result) result = Selectors::PseudoElement.new( interpret_identifier(val[1].sub(/\($/, '')) ) result end .,., module_eval(<<'.,.,', 'csspool.y', 493) def _reduce_155(val, _values, result) result = Selectors::PseudoElement.new( interpret_identifier(val[2].sub(/\($/, '')) ) result end .,., # reduce 156 omitted # reduce 157 omitted # reduce 158 omitted # reduce 159 omitted # reduce 160 omitted # reduce 161 omitted # reduce 162 omitted # reduce 163 omitted # reduce 164 omitted # reduce 165 omitted # reduce 166 omitted module_eval(<<'.,.,', 'csspool.y', 519) def _reduce_167(val, _values, result) @handler.property val.first result end .,., module_eval(<<'.,.,', 'csspool.y', 523) def _reduce_168(val, _values, result) result = Declaration.new(val.first, val[2], val[3]) result end .,., module_eval(<<'.,.,', 'csspool.y', 525) def _reduce_169(val, _values, result) result = Declaration.new(val.first, val[3], val[4]) result end .,., module_eval(<<'.,.,', 'csspool.y', 527) def _reduce_170(val, _values, result) result = Declaration.new(val.first, val[3], val[4]) result end .,., module_eval(<<'.,.,', 'csspool.y', 529) def _reduce_171(val, _values, result) result = Declaration.new(val.first, val[4], val[5]) result end .,., module_eval(<<'.,.,', 'csspool.y', 532) def _reduce_172(val, _values, result) result = true result end .,., module_eval(<<'.,.,', 'csspool.y', 533) def _reduce_173(val, _values, result) result = false result end .,., module_eval(<<'.,.,', 'csspool.y', 536) def _reduce_174(val, _values, result) result = interpret_identifier val[0] result end .,., module_eval(<<'.,.,', 'csspool.y', 537) def _reduce_175(val, _values, result) result = interpret_identifier val.join result end .,., module_eval(<<'.,.,', 'csspool.y', 538) def _reduce_176(val, _values, result) result = interpret_identifier val[0] result end .,., # reduce 177 omitted # reduce 178 omitted # reduce 179 omitted module_eval(<<'.,.,', 'csspool.y', 547) def _reduce_180(val, _values, result) result = [val.first, val.last].flatten val.last.first.operator = val[1] result end .,., module_eval(<<'.,.,', 'csspool.y', 550) def _reduce_181(val, _values, result) result = val.flatten result end .,., module_eval(<<'.,.,', 'csspool.y', 551) def _reduce_182(val, _values, result) result = val result end .,., # reduce 183 omitted # reduce 184 omitted # reduce 185 omitted # reduce 186 omitted # reduce 187 omitted # reduce 188 omitted # reduce 189 omitted # reduce 190 omitted # reduce 191 omitted # reduce 192 omitted # reduce 193 omitted module_eval(<<'.,.,', 'csspool.y', 567) def _reduce_194(val, _values, result) result = val.first result end .,., module_eval(<<'.,.,', 'csspool.y', 569) def _reduce_195(val, _values, result) name = interpret_identifier val.first.sub(/\($/, '') if name == 'rgb' result = Terms::Rgb.new(*val[1]) else result = Terms::Function.new name, val[1] end result end .,., module_eval(<<'.,.,', 'csspool.y', 577) def _reduce_196(val, _values, result) name = interpret_identifier val.first.sub(/\($/, '') result = Terms::Function.new name result end .,., module_eval(<<'.,.,', 'csspool.y', 582) def _reduce_197(val, _values, result) result = val.first result end .,., module_eval(<<'.,.,', 'csspool.y', 584) def _reduce_198(val, _values, result) parts = val.first.split('(') name = interpret_identifier parts.first result = Terms::Function.new(name, [Terms::String.new(interpret_string_no_quote(parts.last))]) result end .,., # reduce 199 omitted # reduce 200 omitted module_eval(<<'.,.,', 'csspool.y', 595) def _reduce_201(val, _values, result) result = Terms::Math.new(val.first.split('(').first, val[1]) result end .,., # reduce 202 omitted module_eval(<<'.,.,', 'csspool.y', 601) def _reduce_203(val, _values, result) val.insert(1, ' '); result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 602) def _reduce_204(val, _values, result) val.insert(1, ' '); result = val.join('') result end .,., # reduce 205 omitted module_eval(<<'.,.,', 'csspool.y', 606) def _reduce_206(val, _values, result) result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 607) def _reduce_207(val, _values, result) result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 610) def _reduce_208(val, _values, result) result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 611) def _reduce_209(val, _values, result) result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 612) def _reduce_210(val, _values, result) result = val.join('') result end .,., module_eval(<<'.,.,', 'csspool.y', 615) def _reduce_211(val, _values, result) result = val.first result end .,., module_eval(<<'.,.,', 'csspool.y', 616) def _reduce_212(val, _values, result) result = Terms::Hash.new val.first.sub(/^#/, '') result end .,., module_eval(<<'.,.,', 'csspool.y', 619) def _reduce_213(val, _values, result) result = val.first result end .,., module_eval(<<'.,.,', 'csspool.y', 620) def _reduce_214(val, _values, result) result = Terms::URI.new interpret_uri val.first result end .,., module_eval(<<'.,.,', 'csspool.y', 623) def _reduce_215(val, _values, result) result = val.first result end .,., module_eval(<<'.,.,', 'csspool.y', 624) def _reduce_216(val, _values, result) result = Terms::String.new interpret_string val.first result end .,., module_eval(<<'.,.,', 'csspool.y', 628) def _reduce_217(val, _values, result) result = val[1] val[1].unary_operator = val.first result end .,., module_eval(<<'.,.,', 'csspool.y', 632) def _reduce_218(val, _values, result) result = Terms::Number.new numeric val.first result end .,., module_eval(<<'.,.,', 'csspool.y', 635) def _reduce_219(val, _values, result) result = Terms::Number.new numeric(val.first), nil, '%' result end .,., module_eval(<<'.,.,', 'csspool.y', 638) def _reduce_220(val, _values, result) unit = val.first.gsub(/[\s\d.]/, '') result = Terms::Number.new numeric(val.first), nil, unit result end .,., module_eval(<<'.,.,', 'csspool.y', 642) def _reduce_221(val, _values, result) unit = val.first.gsub(/[\s\d.]/, '') result = Terms::Number.new numeric(val.first), nil, unit result end .,., module_eval(<<'.,.,', 'csspool.y', 646) def _reduce_222(val, _values, result) unit = val.first.gsub(/[\s\d.]/, '') result = Terms::Number.new numeric(val.first), nil, unit result end .,., module_eval(<<'.,.,', 'csspool.y', 650) def _reduce_223(val, _values, result) unit = val.first.gsub(/[\s\d.]/, '') result = Terms::Number.new numeric(val.first), nil, unit result end .,., module_eval(<<'.,.,', 'csspool.y', 656) def _reduce_224(val, _values, result) result = Terms::Ratio.new(val[0], val[1]) result end .,., module_eval(<<'.,.,', 'csspool.y', 660) def _reduce_225(val, _values, result) result = :minus result end .,., module_eval(<<'.,.,', 'csspool.y', 661) def _reduce_226(val, _values, result) result = :plus result end .,., module_eval(<<'.,.,', 'csspool.y', 664) def _reduce_227(val, _values, result) result = val.first result end .,., module_eval(<<'.,.,', 'csspool.y', 665) def _reduce_228(val, _values, result) result = Terms::Ident.new interpret_identifier val.first result end .,., def _reduce_none(val, _values, result) val[0] end end # class Parser end # module CSS end # module CSSPool