# # DO NOT MODIFY!!!! # This file is automatically generated by Racc 1.4.12 # from Racc grammer file "". # require 'racc/parser.rb' require 'strscan' require 'ddbcli/ddb-binary' require 'set' module DynamoDB class Parser < Racc::Parser module_eval(<<'...end ddb-parser.y/module_eval...', 'ddb-parser.y', 685) KEYWORDS = %w( ADD ALL ALTER AND ASC BEGINS_WITH BETWEEN BINARY CHANGE CREATE CONTAINS COUNT DELETE DEL DESCRIBE DESC DROP FROM GET GLOBAL HASH HAVING INCLUDE INDEX INSERT INTO IN IS KEYS_ONLY LIKE LIMIT NEW_AND_OLD_IMAGES NEW_IMAGE NEXT NOT NUMBER OLD_IMAGE ORDER RANGE READ REGIONS SELECT SET SHOW STATUS STREAM STRING TABLES TABLE UPDATE VALUES WHERE WRITE USE ) KEYWORD_REGEXP = Regexp.compile("(?:#{KEYWORDS.join '|'})\\b", Regexp::IGNORECASE) def initialize(obj) src = obj.is_a?(IO) ? obj.read : obj.to_s @ss = StringScanner.new(src) end @@structs = {} def struct(name, attrs = {}) unless (clazz = @@structs[name]) clazz = attrs.empty? ? Struct.new(name.to_s) : Struct.new(name.to_s, *attrs.keys) @@structs[name] = clazz end obj = clazz.new attrs.each do |key, val| obj.send("#{key}=", val) end return obj end private :struct def scan tok = nil @prev_tokens = [] until @ss.eos? if (tok = @ss.scan /\s+/) # nothing to do elsif (tok = @ss.scan /(?:>>|<>|!=|>=|<=|>|<|=)/) sym = { '>>' => :GTGT, '<>' => :NE, '!=' => :NE, '>=' => :GE, '<=' => :LE, '>' => :GT, '<' => :LT, '=' => :EQ, }.fetch(tok) yield [sym, tok] elsif (tok = @ss.check KEYWORD_REGEXP) and @ss.rest.slice(tok.length) !~ /\A\w/ tok = @ss.scan KEYWORD_REGEXP yield [tok.upcase.to_sym, tok] elsif (tok = @ss.check /NULL/i) and @ss.rest.slice(tok.length) !~ /\A\w/ tok = @ss.scan /NULL/i yield [:NULL, nil] elsif (tok = @ss.scan /`(?:[^`]|``)*`/) yield [:IDENTIFIER, tok.slice(1...-1).gsub(/``/, '`')] elsif (tok = @ss.scan /x'(?:[^']|'')*'/) #' hex = tok.slice(2...-1).gsub(/''/, "'") bin = DynamoDB::Binary.new([hex].pack('H*')) yield [:BINARY_VALUE, bin] elsif (tok = @ss.scan /x"(?:[^"]|"")*"/) #" hex = tok.slice(2...-1).gsub(/""/, '"') bin = DynamoDB::Binary.new([hex].pack('H*')) yield [:BINARY_VALUE, bin] elsif (tok = @ss.scan /'(?:[^']|'')*'/) #' yield [:STRING_VALUE, tok.slice(1...-1).gsub(/''/, "'")] elsif (tok = @ss.scan /"(?:[^"]|"")*"/) #" yield [:STRING_VALUE, tok.slice(1...-1).gsub(/""/, '"')] elsif (tok = @ss.scan /\d+(?:\.\d+)?/) yield [:NUMBER_VALUE, (tok =~ /\./ ? tok.to_f : tok.to_i)] elsif (tok = @ss.scan /[,\(\)\*\/\[\]\{\}:]/) yield [tok, tok] elsif (tok = @ss.scan /\|(?:.*)/) yield [:RUBY_SCRIPT, tok.slice(1..-1)] elsif (tok = @ss.scan /\|(?:.*)/) yield [:RUBY_SCRIPT, tok.slice(1..-1)] elsif (tok = @ss.scan /\!(?:.*)/) yield [:SHELL_SCRIPT, tok.slice(1..-1)] elsif (tok = @ss.scan %r|[-.0-9a-z_]*|i) if ['true', 'false'].include?(tok) yield [:BOOL, 'true' == tok] else yield [:IDENTIFIER, tok] end else raise_error(tok, @prev_tokens, @ss) end @prev_tokens << tok end yield [false, ''] end private :scan def raise_error(error_value, prev_tokens, scanner) errmsg = ["__#{error_value}__"] if prev_tokens and not prev_tokens.empty? toks = prev_tokens.reverse[0, 5].reverse toks.unshift('...') if prev_tokens.length > toks.length errmsg.unshift(toks.join.strip) end if scanner and not (rest = (scanner.rest || '').strip).empty? str = rest[0, 16] str += '...' if rest.length > str.length errmsg << str end raise Racc::ParseError, ('parse error on value: %s' % errmsg.join(' ')) end private :raise_error def parse yyparse self, :scan end def on_error(error_token_id, error_value, value_stack) raise_error(error_value, @prev_tokens, @ss) end def self.parse(obj) self.new(obj).parse end ...end ddb-parser.y/module_eval... ##### State transition tables begin ### racc_action_table = [ 197, 197, 83, 285, 57, 243, 238, 197, 238, 287, 351, 106, 83, 55, 237, 123, 237, 197, 199, 199, 323, 55, 192, 192, 212, 199, 197, 197, 120, 192, 213, 58, 55, 196, 196, 199, 27, 60, 242, 192, 196, 322, 59, 120, 199, 199, 284, 53, 192, 192, 196, 82, 84, 85, 286, 53, 139, 193, 193, 196, 196, 82, 84, 85, 193, 76, 53, 101, 149, 102, 194, 194, 195, 195, 193, 198, 198, 194, 231, 195, 244, 234, 198, 193, 193, 197, 197, 194, 106, 195, 302, 301, 198, 197, 197, 55, 194, 194, 195, 195, 148, 198, 198, 199, 199, 156, 148, 192, 192, 320, 317, 199, 199, 197, 197, 192, 192, 156, 196, 196, 52, 138, 51, 120, 173, 391, 196, 196, 50, 53, 254, 199, 199, 116, 392, 192, 192, 174, 175, 360, 72, 214, 193, 193, 356, 215, 196, 196, 359, 361, 193, 193, 250, 357, 197, 194, 194, 195, 195, 155, 198, 198, 156, 194, 194, 195, 195, 72, 198, 198, 193, 193, 199, 197, 197, 371, 192, 372, 278, 251, 252, 253, 255, 194, 194, 195, 195, 196, 198, 198, 100, 199, 199, 313, 160, 192, 192, 320, 317, 43, 3, 4, 101, 254, 102, 18, 196, 196, 44, 173, 23, 193, 97, 21, 173, 98, 99, 161, 24, 22, 100, 100, 174, 175, 194, 250, 195, 174, 175, 198, 193, 193, 101, 101, 102, 102, 101, 101, 102, 102, 25, 26, 27, 194, 194, 195, 195, 28, 198, 198, 173, 258, 251, 252, 253, 255, 257, 259, 262, 263, 264, 173, 105, 174, 175, 29, 162, 30, 360, 31, 360, 104, 32, 290, 174, 175, 380, 359, 361, 359, 361, 292, 291, 294, 101, 357, 102, 34, 35, 36, 293, 37, 295, 38, 39, 137, 40, 41, 163, 165, 166, 167, 168, 371, 169, 372, 320, 317, 170, 171, 135, 134, 180, 181, 182, 156, 184, 185, 116, 133, 132, 131, 202, 203, 206, 66, 208, 106, 209, 210, 211, 129, 100, 126, 218, 122, 100, 222, 225, 226, 227, 66, 229, 230, 120, 72, 116, 66, 66, 155, 113, 249, 112, 265, 111, 267, 268, 269, 270, 271, 110, 272, 274, 206, 276, 109, 280, 141, 282, 156, 108, 107, 288, 289, 106, 94, 91, 206, 92, 199, 91, 142, 303, 305, 307, 308, 309, 310, 311, 89, 66, 88, 249, 225, 87, 86, 327, 180, 156, 66, 79, 78, 77, 74, 335, 336, 337, 338, 339, 340, 73, 343, 72, 345, 346, 347, 70, 349, 350, 141, 222, 66, 69, 355, 68, 67, 362, 144, 364, 365, 366, 66, 64, 63, 62, 61, 374, 375, 376, 377, 378, 66, 48, 381, 382, 384, 47, 143, 46, 307, 389, 390, 45, 347, 393, 394, 213, 215, 395, 42, 33, 274 ] racc_action_check = [ 355, 149, 86, 232, 29, 199, 287, 194, 195, 235, 326, 117, 57, 111, 287, 89, 195, 351, 355, 149, 274, 28, 355, 149, 169, 194, 203, 256, 117, 194, 169, 29, 51, 355, 149, 351, 89, 30, 199, 351, 194, 274, 30, 113, 203, 256, 232, 111, 203, 256, 351, 86, 86, 86, 235, 28, 106, 355, 149, 203, 256, 57, 57, 57, 194, 51, 51, 96, 116, 96, 355, 149, 355, 149, 351, 355, 149, 194, 194, 194, 199, 195, 194, 203, 256, 258, 357, 351, 152, 351, 259, 259, 351, 278, 285, 27, 203, 256, 203, 256, 151, 203, 256, 258, 357, 152, 114, 258, 357, 376, 376, 278, 285, 288, 289, 278, 285, 151, 258, 357, 27, 105, 27, 114, 307, 383, 278, 285, 27, 27, 225, 288, 289, 118, 383, 288, 289, 307, 307, 343, 119, 170, 258, 357, 341, 170, 288, 289, 343, 343, 278, 285, 225, 341, 305, 258, 357, 258, 357, 120, 258, 357, 122, 278, 285, 278, 285, 123, 278, 285, 288, 289, 305, 338, 277, 358, 305, 358, 225, 225, 225, 225, 225, 288, 289, 288, 289, 305, 288, 289, 138, 338, 277, 272, 129, 338, 277, 272, 272, 22, 0, 0, 138, 206, 138, 0, 338, 277, 22, 137, 0, 305, 69, 0, 377, 69, 69, 131, 0, 0, 171, 69, 137, 137, 305, 206, 305, 377, 377, 305, 338, 277, 171, 69, 171, 69, 176, 217, 176, 217, 0, 0, 0, 338, 277, 338, 277, 0, 338, 277, 375, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 313, 70, 375, 375, 0, 132, 0, 394, 0, 393, 70, 0, 239, 313, 313, 369, 394, 394, 393, 393, 240, 239, 241, 209, 369, 209, 2, 2, 2, 240, 2, 241, 18, 18, 104, 18, 18, 133, 133, 133, 133, 133, 397, 134, 397, 347, 347, 135, 136, 102, 101, 140, 141, 142, 143, 144, 145, 148, 100, 99, 98, 153, 155, 156, 157, 158, 159, 160, 161, 162, 97, 95, 91, 172, 88, 178, 179, 180, 181, 182, 183, 184, 185, 87, 81, 80, 200, 201, 202, 79, 204, 78, 208, 77, 210, 212, 213, 214, 215, 76, 218, 221, 222, 223, 75, 226, 227, 229, 230, 74, 73, 237, 238, 71, 68, 67, 249, 66, 257, 65, 108, 264, 265, 267, 268, 269, 270, 271, 61, 273, 60, 275, 276, 59, 58, 280, 281, 282, 283, 56, 54, 52, 50, 291, 293, 295, 299, 302, 304, 49, 306, 46, 308, 310, 312, 45, 317, 320, 107, 328, 329, 42, 340, 41, 39, 344, 110, 348, 349, 350, 38, 37, 36, 33, 31, 361, 362, 364, 365, 366, 368, 26, 371, 372, 374, 25, 109, 24, 378, 381, 382, 23, 386, 387, 388, 389, 390, 392, 21, 1, 352 ] racc_action_pointer = [ 198, 460, 285, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 285, nil, nil, 450, 186, 443, 439, 433, 429, 82, 8, -9, -3, 363, nil, 434, nil, nil, 428, 427, 366, 415, nil, 415, 409, nil, nil, 403, 399, nil, nil, 365, 380, 19, 354, nil, 368, nil, 355, -7, 382, 381, 346, 376, nil, nil, nil, 366, 340, 362, 362, 196, 248, 341, nil, 358, 323, 320, 337, 316, 339, 337, 333, 332, nil, nil, nil, nil, -17, 294, 322, -8, nil, 328, nil, nil, nil, 307, 30, 314, 304, 303, 293, 285, 284, nil, 282, 108, 43, 398, 357, 434, 380, 0, nil, -7, 73, nil, 42, -22, 120, 127, 146, nil, 112, 154, nil, nil, nil, nil, nil, 176, nil, 199, 248, 271, 266, 270, 285, 187, 165, nil, 262, 295, 269, 265, 292, 272, nil, nil, 305, -4, nil, 67, 55, 271, nil, 297, 311, 260, 302, 294, 315, 316, 317, nil, nil, nil, nil, nil, nil, -9, 108, 195, 302, nil, nil, nil, 199, nil, 311, 271, 325, 316, 327, 276, 297, 330, nil, nil, nil, nil, nil, nil, nil, nil, 2, 3, nil, nil, nil, 0, 282, 283, 336, 21, 300, nil, 199, nil, 280, 247, 332, nil, 317, 331, 321, 333, nil, 200, 328, nil, nil, 299, 350, 313, nil, 126, 353, 346, nil, 355, 319, nil, -30, nil, nil, -24, nil, 293, 294, 249, 257, 259, nil, nil, nil, nil, nil, nil, nil, 364, nil, nil, nil, nil, nil, nil, 22, 356, 80, 29, nil, nil, nil, nil, 322, 360, nil, 371, 359, 348, 361, 350, 180, 325, -23, 341, 380, 169, 88, nil, 372, 347, 348, 334, nil, 89, nil, 1, 108, 109, nil, 366, nil, 400, nil, 326, nil, nil, nil, 356, nil, nil, 346, nil, 376, 149, 387, 102, 375, nil, 376, nil, 382, 239, nil, nil, nil, 404, nil, nil, 400, nil, nil, nil, nil, nil, -41, nil, 354, 356, nil, nil, nil, nil, nil, nil, nil, nil, 168, nil, 400, 120, nil, 108, 393, nil, nil, 289, 394, 406, 417, 12, 398, nil, nil, -5, nil, 81, 138, nil, nil, 413, 424, nil, 405, 426, 417, nil, 376, 252, nil, 417, 418, nil, 432, 228, 92, 192, 436, nil, nil, 412, 413, 101, nil, nil, 420, 430, 431, 417, 420, nil, 445, 239, 237, nil, nil, 266 ] racc_action_default = [ -185, -185, -1, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -185, -27, -28, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -154, -185, -2, -3, -185, -185, -125, -185, -23, -185, -185, -36, -37, -185, -185, -80, -81, -185, -185, -185, -185, -88, -89, -90, -185, -185, -185, -185, -185, -185, 398, -4, -5, -25, -185, -25, -185, -185, -185, -79, -183, -185, -185, -185, -185, -185, -185, -185, -185, -185, -133, -134, -135, -136, -185, -185, -185, -185, -21, -185, -126, -22, -24, -29, -30, -185, -185, -185, -185, -185, -185, -60, -185, -185, -185, -92, -185, -185, -185, -185, -91, -185, -185, -137, -185, -185, -185, -185, -185, -144, -107, -185, -147, -148, -26, -31, -32, -185, -34, -185, -185, -185, -185, -185, -185, -185, -39, -184, -94, -185, -185, -107, -185, -185, -87, -129, -185, -185, -131, -107, -107, -140, -141, -185, -185, -125, -185, -149, -185, -185, -185, -45, -46, -47, -48, -49, -50, -185, -185, -185, -185, -55, -56, -57, -40, -41, -42, -127, -185, -185, -185, -125, -185, -185, -138, -139, -155, -156, -157, -158, -159, -160, -185, -185, -171, -172, -173, -185, -125, -125, -185, -185, -108, -109, -185, -145, -185, -185, -185, -35, -185, -185, -185, -185, -38, -185, -51, -44, -43, -122, -185, -95, -96, -185, -185, -92, -84, -185, -107, -161, -185, -163, -165, -185, -167, -185, -185, -185, -185, -185, -177, -179, -181, -130, -132, -142, -143, -185, -101, -102, -103, -104, -105, -106, -185, -185, -185, -185, -115, -116, -117, -118, -185, -185, -33, -185, -185, -185, -185, -185, -185, -125, -185, -128, -185, -185, -185, -100, -185, -94, -107, -125, -162, -185, -166, -185, -185, -185, -174, -185, -175, -185, -176, -185, -110, -111, -112, -185, -114, -120, -185, -119, -146, -185, -185, -185, -185, -61, -185, -62, -52, -185, -63, -65, -66, -185, -68, -69, -185, -82, -123, -124, -97, -98, -185, -93, -127, -125, -86, -164, -168, -169, -170, -178, -180, -182, -185, -121, -185, -185, -152, -185, -72, -58, -59, -185, -185, -185, -185, -185, -122, -85, -113, -185, -150, -185, -185, -74, -75, -185, -185, -64, -53, -185, -185, -99, -125, -185, -153, -185, -185, -71, -185, -185, -185, -185, -185, -83, -151, -185, -185, -185, -77, -73, -54, -185, -185, -185, -185, -76, -185, -185, -185, -78, -67, -70 ] racc_goto_table = [ 65, 172, 187, 221, 157, 179, 273, 140, 95, 306, 224, 236, 96, 312, 154, 11, 12, 49, 56, 204, 71, 358, 373, 341, 114, 183, 177, 121, 1, 81, 260, 80, 383, 200, 201, 128, 164, 90, 127, 93, 136, 75, 130, 20, 19, 363, 17, 233, 16, 279, 223, 15, 277, 146, 147, 117, 248, 150, 119, 216, 118, 373, 151, 14, 13, 10, 296, 256, 298, 300, 261, 396, 397, 369, 9, 8, 7, 186, 153, 6, 158, 176, 304, 5, 232, 275, 235, 2, 239, 240, 241, nil, nil, 152, nil, nil, 247, 159, nil, nil, nil, 145, nil, 332, 124, 125, 324, nil, nil, 297, nil, 299, 283, nil, 217, 219, nil, 386, nil, 207, 388, 220, nil, nil, nil, nil, nil, 281, nil, nil, 325, 326, nil, nil, nil, nil, nil, 368, 331, nil, nil, 333, 334, nil, nil, 228, 328, nil, 266, nil, nil, nil, 352, nil, nil, nil, 219, nil, nil, nil, nil, nil, 245, 246, 329, nil, nil, nil, nil, nil, nil, 344, nil, nil, nil, nil, nil, 348, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 354, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 367, nil, nil, nil, nil, nil, 370, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 321, nil, nil, nil, 385, nil, 387, nil, nil, nil, 330, 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, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 353, 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, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 379 ] racc_goto_check = [ 16, 26, 48, 40, 42, 39, 41, 38, 20, 34, 46, 70, 21, 27, 61, 9, 10, 37, 37, 50, 36, 32, 28, 64, 57, 42, 24, 43, 1, 58, 49, 56, 35, 42, 42, 20, 25, 17, 21, 17, 23, 37, 22, 19, 18, 29, 15, 48, 14, 49, 45, 13, 47, 43, 43, 36, 48, 43, 58, 24, 56, 28, 57, 12, 11, 8, 51, 52, 53, 54, 55, 32, 32, 64, 7, 6, 5, 59, 60, 4, 62, 21, 63, 3, 68, 50, 69, 2, 71, 72, 73, nil, nil, 36, nil, nil, 61, 36, nil, nil, nil, 37, nil, 70, 9, 10, 46, nil, nil, 48, nil, 48, 42, nil, 21, 20, nil, 27, nil, 16, 34, 21, nil, nil, nil, nil, nil, 38, nil, nil, 48, 48, nil, nil, nil, nil, nil, 41, 48, nil, nil, 48, 48, nil, nil, 16, 39, nil, 20, nil, nil, nil, 40, nil, nil, nil, 20, nil, nil, nil, nil, nil, 16, 16, 42, nil, nil, nil, nil, nil, nil, 26, nil, nil, nil, nil, nil, 26, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 16, nil, nil, nil, 26, nil, 26, nil, nil, nil, 16, 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, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 16, 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, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 16 ] racc_goto_pointer = [ nil, 28, 87, 83, 79, 76, 75, 74, 65, 15, 16, 64, 63, 51, 48, 46, -38, -28, 44, 43, -61, -57, -56, -64, -112, -97, -136, -259, -336, -302, nil, nil, -322, nil, -258, -342, -26, -10, -100, -135, -176, -215, -118, -60, nil, -130, -170, -173, -147, -176, -137, -183, -139, -189, -190, -136, -26, -56, -28, -71, -42, -106, -43, -183, -282, nil, nil, nil, -110, -109, -184, -111, -110, -109 ] racc_goto_default = [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 178, nil, 319, nil, nil, nil, nil, nil, 103, 314, 315, 316, nil, 318, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 54, nil, nil, nil, 342, nil, nil, 205, nil, 189, nil, nil, nil, nil, nil, 115, nil, nil, nil, nil, nil, 188, 190, 191, nil, nil, nil, nil, nil, nil ] racc_reduce_table = [ 0, 0, :racc_error, 1, 82, :_reduce_1, 2, 82, :_reduce_2, 2, 82, :_reduce_3, 3, 82, :_reduce_4, 3, 82, :_reduce_5, 1, 82, :_reduce_6, 1, 82, :_reduce_7, 1, 83, :_reduce_none, 1, 83, :_reduce_none, 1, 83, :_reduce_none, 1, 83, :_reduce_none, 1, 83, :_reduce_none, 1, 83, :_reduce_none, 1, 83, :_reduce_none, 1, 83, :_reduce_none, 1, 83, :_reduce_none, 1, 83, :_reduce_none, 1, 83, :_reduce_none, 1, 83, :_reduce_none, 1, 83, :_reduce_none, 4, 84, :_reduce_21, 4, 84, :_reduce_22, 2, 84, :_reduce_23, 4, 84, :_reduce_24, 0, 98, :_reduce_none, 2, 98, :_reduce_26, 1, 85, :_reduce_none, 1, 85, :_reduce_none, 4, 99, :_reduce_29, 4, 99, :_reduce_30, 5, 99, :_reduce_31, 5, 99, :_reduce_32, 8, 100, :_reduce_33, 5, 100, :_reduce_34, 7, 100, :_reduce_35, 2, 86, :_reduce_36, 2, 86, :_reduce_37, 7, 87, :_reduce_38, 5, 87, :_reduce_39, 6, 87, :_reduce_40, 6, 87, :_reduce_41, 1, 105, :_reduce_42, 2, 105, :_reduce_43, 2, 105, :_reduce_44, 3, 102, :_reduce_45, 3, 102, :_reduce_46, 1, 106, :_reduce_none, 1, 106, :_reduce_none, 1, 106, :_reduce_none, 1, 106, :_reduce_none, 3, 104, :_reduce_51, 5, 104, :_reduce_52, 7, 104, :_reduce_53, 9, 104, :_reduce_54, 1, 107, :_reduce_55, 1, 107, :_reduce_56, 1, 107, :_reduce_57, 7, 101, :_reduce_58, 7, 101, :_reduce_59, 1, 101, :_reduce_none, 6, 109, :_reduce_61, 6, 109, :_reduce_62, 1, 108, :_reduce_63, 3, 108, :_reduce_64, 1, 110, :_reduce_none, 1, 110, :_reduce_none, 7, 111, :_reduce_67, 1, 112, :_reduce_none, 1, 112, :_reduce_none, 7, 114, :_reduce_70, 8, 103, :_reduce_71, 2, 115, :_reduce_72, 5, 115, :_reduce_73, 1, 113, :_reduce_74, 1, 113, :_reduce_75, 4, 113, :_reduce_76, 1, 116, :_reduce_77, 3, 116, :_reduce_78, 3, 88, :_reduce_79, 2, 89, :_reduce_80, 2, 89, :_reduce_81, 9, 90, :_reduce_82, 12, 90, :_reduce_83, 7, 91, :_reduce_84, 10, 91, :_reduce_85, 9, 91, :_reduce_86, 5, 92, :_reduce_87, 1, 118, :_reduce_88, 1, 118, :_reduce_89, 1, 125, :_reduce_90, 3, 125, :_reduce_91, 0, 119, :_reduce_none, 5, 119, :_reduce_93, 0, 120, :_reduce_none, 2, 120, :_reduce_95, 1, 126, :_reduce_96, 3, 126, :_reduce_97, 3, 127, :_reduce_98, 5, 127, :_reduce_99, 1, 128, :_reduce_none, 1, 130, :_reduce_101, 1, 130, :_reduce_102, 1, 130, :_reduce_103, 1, 130, :_reduce_104, 1, 130, :_reduce_105, 1, 130, :_reduce_none, 0, 123, :_reduce_none, 2, 123, :_reduce_108, 1, 131, :_reduce_109, 3, 131, :_reduce_110, 3, 132, :_reduce_111, 3, 132, :_reduce_112, 5, 132, :_reduce_113, 3, 132, :_reduce_114, 1, 133, :_reduce_none, 1, 133, :_reduce_none, 1, 133, :_reduce_117, 1, 136, :_reduce_none, 2, 136, :_reduce_119, 1, 135, :_reduce_120, 2, 135, :_reduce_121, 0, 122, :_reduce_none, 2, 122, :_reduce_123, 2, 122, :_reduce_124, 0, 97, :_reduce_none, 2, 97, :_reduce_126, 0, 121, :_reduce_none, 2, 121, :_reduce_128, 5, 93, :_reduce_129, 7, 93, :_reduce_130, 5, 93, :_reduce_131, 7, 93, :_reduce_132, 1, 137, :_reduce_133, 1, 137, :_reduce_134, 1, 139, :_reduce_135, 1, 139, :_reduce_136, 1, 138, :_reduce_137, 3, 138, :_reduce_138, 3, 140, :_reduce_139, 2, 124, :_reduce_140, 1, 141, :_reduce_141, 3, 141, :_reduce_142, 3, 142, :_reduce_143, 4, 94, :_reduce_144, 6, 94, :_reduce_145, 8, 95, :_reduce_146, 4, 95, :_reduce_147, 4, 95, :_reduce_148, 1, 143, :_reduce_none, 3, 144, :_reduce_150, 5, 144, :_reduce_151, 1, 145, :_reduce_152, 3, 145, :_reduce_153, 1, 96, :_reduce_154, 1, 129, :_reduce_none, 1, 129, :_reduce_none, 1, 129, :_reduce_none, 1, 129, :_reduce_none, 1, 129, :_reduce_none, 1, 129, :_reduce_none, 2, 147, :_reduce_none, 3, 147, :_reduce_162, 1, 149, :_reduce_163, 3, 149, :_reduce_164, 2, 148, :_reduce_165, 3, 148, :_reduce_166, 1, 150, :_reduce_none, 3, 150, :_reduce_168, 3, 151, :_reduce_169, 3, 151, :_reduce_170, 1, 146, :_reduce_none, 1, 146, :_reduce_none, 1, 146, :_reduce_none, 3, 134, :_reduce_174, 3, 134, :_reduce_175, 3, 134, :_reduce_176, 1, 152, :_reduce_177, 3, 152, :_reduce_178, 1, 153, :_reduce_179, 3, 153, :_reduce_180, 1, 154, :_reduce_181, 3, 154, :_reduce_182, 1, 117, :_reduce_183, 3, 117, :_reduce_184 ] racc_reduce_n = 185 racc_shift_n = 398 racc_token_table = { false => 0, :error => 1, :RUBY_SCRIPT => 2, :SHELL_SCRIPT => 3, :GT => 4, :STRING_VALUE => 5, :GTGT => 6, :SHOW => 7, :TABLES => 8, :TABLE => 9, :STATUS => 10, :REGIONS => 11, :CREATE => 12, :IDENTIFIER => 13, :LIKE => 14, :ALTER => 15, :CHANGE => 16, :GLOBAL => 17, :INDEX => 18, :ADD => 19, :DROP => 20, :USE => 21, :STRING => 22, "(" => 23, ")" => 24, :STREAM => 25, :EQ => 26, :BOOL => 27, :NEW_IMAGE => 28, :OLD_IMAGE => 29, :NEW_AND_OLD_IMAGES => 30, :KEYS_ONLY => 31, :HASH => 32, "," => 33, :RANGE => 34, :NUMBER => 35, :BINARY => 36, :READ => 37, :NUMBER_VALUE => 38, :WRITE => 39, :ALL => 40, :INCLUDE => 41, :DESCRIBE => 42, :DESC => 43, :SELECT => 44, :FROM => 45, :COUNT => 46, "*" => 47, "/" => 48, :GET => 49, :WHERE => 50, :AND => 51, :BETWEEN => 52, :LE => 53, :LT => 54, :GE => 55, :BEGINS_WITH => 56, :IN => 57, :IS => 58, :NE => 59, :CONTAINS => 60, :NOT => 61, :NULL => 62, :ORDER => 63, :ASC => 64, :LIMIT => 65, :HAVING => 66, :UPDATE => 67, :SET => 68, :DELETE => 69, :DEL => 70, :INSERT => 71, :INTO => 72, :VALUES => 73, :NEXT => 74, "[" => 75, "]" => 76, "{" => 77, "}" => 78, ":" => 79, :BINARY_VALUE => 80 } racc_nt_base = 81 racc_use_result_var = false 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", "RUBY_SCRIPT", "SHELL_SCRIPT", "GT", "STRING_VALUE", "GTGT", "SHOW", "TABLES", "TABLE", "STATUS", "REGIONS", "CREATE", "IDENTIFIER", "LIKE", "ALTER", "CHANGE", "GLOBAL", "INDEX", "ADD", "DROP", "USE", "STRING", "\"(\"", "\")\"", "STREAM", "EQ", "BOOL", "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY", "HASH", "\",\"", "RANGE", "NUMBER", "BINARY", "READ", "NUMBER_VALUE", "WRITE", "ALL", "INCLUDE", "DESCRIBE", "DESC", "SELECT", "FROM", "COUNT", "\"*\"", "\"/\"", "GET", "WHERE", "AND", "BETWEEN", "LE", "LT", "GE", "BEGINS_WITH", "IN", "IS", "NE", "CONTAINS", "NOT", "NULL", "ORDER", "ASC", "LIMIT", "HAVING", "UPDATE", "SET", "DELETE", "DEL", "INSERT", "INTO", "VALUES", "NEXT", "\"[\"", "\"]\"", "\"{\"", "\"}\"", "\":\"", "BINARY_VALUE", "$start", "stmt", "query", "show_stmt", "alter_stmt", "use_stmt", "create_stmt", "drop_stmt", "describe_stmt", "select_stmt", "scan_stmt", "get_stmt", "update_stmt", "delete_stmt", "insert_stmt", "next_stmt", "limit_clause", "like_clause", "alter_table_stmt", "alter_table_index_stmt", "capacity_clause", "stream_clause", "global_index_definition_with_capacity", "create_definition", "capacity_stream_clause", "stream_view_type", "attr_type_list", "index_definition_list", "strict_capacity_clause", "index_definition", "locat_index_definition", "global_index_definition", "index_type_definition", "global_index_definition_without_capacity", "global_index_keys", "index_include_attr_list", "identifier_list", "attrs_to_get", "use_index_clause", "select_where_clause", "having_clause", "order_clause", "scan_where_clause", "update_where_clause", "attrs_list", "select_expr_list", "select_expr", "select_operator", "value", "common_operator", "scan_expr_list", "scan_expr", "scan_operator", "value_list", "null_operator", "contains_operator", "set_or_add", "attr_to_update_list", "delete_or_del", "attr_to_update", "update_expr_list", "update_expr", "attr_to_insert_list", "insert_value_clause", "insert_value_list", "single_value", "list", "map", "list_items", "map_items", "map_item", "number_list", "string_list", "binary_list" ] Racc_debug_parser = false ##### State transition tables end ##### # reduce 0 omitted module_eval(<<'.,.,', 'ddb-parser.y', 5) def _reduce_1(val, _values) [val[0], nil, nil] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 9) def _reduce_2(val, _values) [val[0], :ruby, val[1]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 13) def _reduce_3(val, _values) [val[0], :shell, val[1]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 17) def _reduce_4(val, _values) [val[0], :overwrite, val[2]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 21) def _reduce_5(val, _values) [val[0], :append, val[2]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 25) def _reduce_6(val, _values) [struct(:NULL), :ruby, val[0]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 29) def _reduce_7(val, _values) [struct(:NULL), :shell, val[0]] end .,., # reduce 8 omitted # reduce 9 omitted # reduce 10 omitted # reduce 11 omitted # reduce 12 omitted # reduce 13 omitted # reduce 14 omitted # reduce 15 omitted # reduce 16 omitted # reduce 17 omitted # reduce 18 omitted # reduce 19 omitted # reduce 20 omitted module_eval(<<'.,.,', 'ddb-parser.y', 48) def _reduce_21(val, _values) struct(:SHOW_TABLES, :limit => val[2], :like => val[3]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 52) def _reduce_22(val, _values) struct(:SHOW_TABLE_STATUS, :like => val[3]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 56) def _reduce_23(val, _values) struct(:SHOW_REGIONS) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 60) def _reduce_24(val, _values) struct(:SHOW_CREATE_TABLE, :table => val[3]) end .,., # reduce 25 omitted module_eval(<<'.,.,', 'ddb-parser.y', 66) def _reduce_26(val, _values) val[1] end .,., # reduce 27 omitted # reduce 28 omitted module_eval(<<'.,.,', 'ddb-parser.y', 75) def _reduce_29(val, _values) struct(:ALTER_TABLE, :table => val[2], :capacity => val[3], :stream => nil) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 79) def _reduce_30(val, _values) struct(:ALTER_TABLE, :table => val[2], :capacity => nil, :stream => val[3]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 83) def _reduce_31(val, _values) struct(:ALTER_TABLE, :table => val[2], :capacity => val[3], :stream => val[4]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 87) def _reduce_32(val, _values) struct(:ALTER_TABLE, :table => val[2], :capacity => val[4], :stream => val[3]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 92) def _reduce_33(val, _values) struct(:ALTER_TABLE_INDEX, :table => val[2], :action => 'Update', :index_definition => {:name => val[6], :capacity => val[7]}) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 96) def _reduce_34(val, _values) struct(:ALTER_TABLE_INDEX, :table => val[2], :action => 'Create', :index_definition => val[4]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 100) def _reduce_35(val, _values) struct(:ALTER_TABLE_INDEX, :table => val[2], :action => 'Delete', :index_definition => {:name => val[6]}) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 105) def _reduce_36(val, _values) struct(:USE, :endpoint_or_region => val[1]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 110) def _reduce_37(val, _values) struct(:USE, :endpoint_or_region => val[1]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 115) def _reduce_38(val, _values) struct(:CREATE, val[4].merge(:table => val[2], :capacity => val[6][:capacity], :stream => val[6][:stream])) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 119) def _reduce_39(val, _values) struct(:CREATE_LIKE, :table => val[2], :like => val[4], :capacity => nil, :stream => nil) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 123) def _reduce_40(val, _values) struct(:CREATE_LIKE, :table => val[2], :like => val[4], :capacity => nil, :stream => val[5]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 127) def _reduce_41(val, _values) struct(:CREATE_LIKE, :table => val[2], :like => val[4], :capacity => val[5][:capacity], :stream => val[5][:stream]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 132) def _reduce_42(val, _values) {:capacity => val[0], :stream => nil} end .,., module_eval(<<'.,.,', 'ddb-parser.y', 136) def _reduce_43(val, _values) {:capacity => val[0], :stream => val[1]} end .,., module_eval(<<'.,.,', 'ddb-parser.y', 140) def _reduce_44(val, _values) {:capacity => val[1], :stream => val[0]} end .,., module_eval(<<'.,.,', 'ddb-parser.y', 145) def _reduce_45(val, _values) val[2] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 149) def _reduce_46(val, _values) val[2] end .,., # reduce 47 omitted # reduce 48 omitted # reduce 49 omitted # reduce 50 omitted module_eval(<<'.,.,', 'ddb-parser.y', 159) def _reduce_51(val, _values) {:hash => {:name => val[0], :type => val[1]}, :range => nil, :indices => nil} end .,., module_eval(<<'.,.,', 'ddb-parser.y', 163) def _reduce_52(val, _values) {:hash => {:name => val[0], :type => val[1]}, :range => nil, :indices => val[4]} end .,., module_eval(<<'.,.,', 'ddb-parser.y', 167) def _reduce_53(val, _values) {:hash => {:name => val[0], :type => val[1]}, :range => {:name => val[4], :type => val[5]}, :indices => nil} end .,., module_eval(<<'.,.,', 'ddb-parser.y', 171) def _reduce_54(val, _values) {:hash => {:name => val[0], :type => val[1]}, :range => {:name => val[4], :type => val[5]}, :indices => val[8]} end .,., module_eval(<<'.,.,', 'ddb-parser.y', 176) def _reduce_55(val, _values) 'S' end .,., module_eval(<<'.,.,', 'ddb-parser.y', 180) def _reduce_56(val, _values) 'N' end .,., module_eval(<<'.,.,', 'ddb-parser.y', 184) def _reduce_57(val, _values) 'B' end .,., module_eval(<<'.,.,', 'ddb-parser.y', 189) def _reduce_58(val, _values) {:read => val[2], :write => val[6]} end .,., module_eval(<<'.,.,', 'ddb-parser.y', 193) def _reduce_59(val, _values) {:read => val[6], :write => val[2]} end .,., # reduce 60 omitted module_eval(<<'.,.,', 'ddb-parser.y', 199) def _reduce_61(val, _values) {:read => val[2], :write => val[5]} end .,., module_eval(<<'.,.,', 'ddb-parser.y', 203) def _reduce_62(val, _values) {:read => val[5], :write => val[2]} end .,., module_eval(<<'.,.,', 'ddb-parser.y', 208) def _reduce_63(val, _values) [val[0]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 212) def _reduce_64(val, _values) val[0] + [val[2]] end .,., # reduce 65 omitted # reduce 66 omitted module_eval(<<'.,.,', 'ddb-parser.y', 220) def _reduce_67(val, _values) {:name => val[1], :key => val[3], :type => val[4], :projection => val[6]} end .,., # reduce 68 omitted # reduce 69 omitted module_eval(<<'.,.,', 'ddb-parser.y', 228) def _reduce_70(val, _values) {:name => val[2], :keys => val[4], :projection => val[6], :global => true} end .,., module_eval(<<'.,.,', 'ddb-parser.y', 233) def _reduce_71(val, _values) {:name => val[2], :keys => val[4], :projection => val[6], :capacity => val[7], :global => true} end .,., module_eval(<<'.,.,', 'ddb-parser.y', 238) def _reduce_72(val, _values) {:hash => {:key => val[0], :type => val[1]}} end .,., module_eval(<<'.,.,', 'ddb-parser.y', 242) def _reduce_73(val, _values) { :hash => {:key => val[0], :type => val[1]}, :range => {:key => val[3], :type => val[4]}, } end .,., module_eval(<<'.,.,', 'ddb-parser.y', 250) def _reduce_74(val, _values) {:type => 'ALL'} end .,., module_eval(<<'.,.,', 'ddb-parser.y', 254) def _reduce_75(val, _values) {:type => 'KEYS_ONLY'} end .,., module_eval(<<'.,.,', 'ddb-parser.y', 258) def _reduce_76(val, _values) {:type => 'INCLUDE', :attrs => val[2]} end .,., module_eval(<<'.,.,', 'ddb-parser.y', 263) def _reduce_77(val, _values) [val[0]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 267) def _reduce_78(val, _values) val[0] + [val[2]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 272) def _reduce_79(val, _values) struct(:DROP, :tables => val[2]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 277) def _reduce_80(val, _values) struct(:DESCRIBE, :table => val[1]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 281) def _reduce_81(val, _values) struct(:DESCRIBE, :table => val[1]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 286) def _reduce_82(val, _values) struct(:SELECT, :attrs => val[1], :table => val[3], :index => val[4], :conds => val[5], :having => val[6], :order_asc => val[7], :limit => val[8], :count => false) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 290) def _reduce_83(val, _values) struct(:SELECT, :attrs => [], :table => val[6], :index => val[7], :conds => val[8], :having => val[9], :order_asc => val[10], :limit => val[11], :count => true) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 295) def _reduce_84(val, _values) struct(:SCAN, :attrs => val[2], :table => val[4], :conds => val[5], :limit => val[6], :count => false, :segment => nil, :total_segments => nil) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 299) def _reduce_85(val, _values) struct(:SCAN, :attrs => [], :table => val[7], :conds => val[8], :limit => val[9], :count => true, :segment => nil, :total_segments => nil) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 303) def _reduce_86(val, _values) struct(:SCAN, :attrs => val[4], :table => val[6], :conds => val[7], :limit => val[8], :count => false, :segment => val[1], :total_segments => val[3]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 308) def _reduce_87(val, _values) struct(:GET, :attrs => val[1], :table => val[3], :conds => val[4]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 313) def _reduce_88(val, _values) [] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 317) def _reduce_89(val, _values) val[0] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 322) def _reduce_90(val, _values) [val[0]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 326) def _reduce_91(val, _values) val[0] + [val[2]] end .,., # reduce 92 omitted module_eval(<<'.,.,', 'ddb-parser.y', 332) def _reduce_93(val, _values) val[3] end .,., # reduce 94 omitted module_eval(<<'.,.,', 'ddb-parser.y', 338) def _reduce_95(val, _values) val[1] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 343) def _reduce_96(val, _values) [val[0]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 347) def _reduce_97(val, _values) val[0] + [val[2]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 352) def _reduce_98(val, _values) [val[0], val[1].to_s.upcase.to_sym, [val[2]]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 356) def _reduce_99(val, _values) [val[0], val[1].to_s.upcase.to_sym, [val[2], val[4]]] end .,., # reduce 100 omitted module_eval(<<'.,.,', 'ddb-parser.y', 363) def _reduce_101(val, _values) :EQ end .,., module_eval(<<'.,.,', 'ddb-parser.y', 367) def _reduce_102(val, _values) :LE end .,., module_eval(<<'.,.,', 'ddb-parser.y', 371) def _reduce_103(val, _values) :LT end .,., module_eval(<<'.,.,', 'ddb-parser.y', 375) def _reduce_104(val, _values) :GE end .,., module_eval(<<'.,.,', 'ddb-parser.y', 379) def _reduce_105(val, _values) :GT end .,., # reduce 106 omitted # reduce 107 omitted module_eval(<<'.,.,', 'ddb-parser.y', 386) def _reduce_108(val, _values) val[1] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 391) def _reduce_109(val, _values) [val[0]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 395) def _reduce_110(val, _values) val[0] + [val[2]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 400) def _reduce_111(val, _values) [val[0], val[1].to_s.upcase.to_sym, [val[2]]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 404) def _reduce_112(val, _values) [val[0], val[1].to_s.upcase.to_sym, val[2]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 408) def _reduce_113(val, _values) [val[0], val[1].to_s.upcase.to_sym, [val[2], val[4]]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 412) def _reduce_114(val, _values) [val[0], val[2].to_s.upcase.to_sym, []] end .,., # reduce 115 omitted # reduce 116 omitted module_eval(<<'.,.,', 'ddb-parser.y', 418) def _reduce_117(val, _values) :NE end .,., # reduce 118 omitted module_eval(<<'.,.,', 'ddb-parser.y', 424) def _reduce_119(val, _values) :NOT_CONTAINS end .,., module_eval(<<'.,.,', 'ddb-parser.y', 428) def _reduce_120(val, _values) :NULL end .,., module_eval(<<'.,.,', 'ddb-parser.y', 432) def _reduce_121(val, _values) :NOT_NULL end .,., # reduce 122 omitted module_eval(<<'.,.,', 'ddb-parser.y', 438) def _reduce_123(val, _values) true end .,., module_eval(<<'.,.,', 'ddb-parser.y', 442) def _reduce_124(val, _values) false end .,., # reduce 125 omitted module_eval(<<'.,.,', 'ddb-parser.y', 448) def _reduce_126(val, _values) val[1] end .,., # reduce 127 omitted module_eval(<<'.,.,', 'ddb-parser.y', 454) def _reduce_128(val, _values) val[1] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 459) def _reduce_129(val, _values) struct(:UPDATE, :table => val[1], :action => val[2], :attrs => val[3], :conds => val[4]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 463) def _reduce_130(val, _values) struct(:UPDATE_ALL, :table => val[2], :action => val[3], :attrs => val[4], :conds => val[5], :limit => val[6]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 467) def _reduce_131(val, _values) attrs = {} val[3].each {|i| attrs[i] = true } struct(:UPDATE, :table => val[1], :action => val[2], :attrs => attrs, :conds => val[4]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 473) def _reduce_132(val, _values) attrs = {} val[4].each {|i| attrs[i] = true } struct(:UPDATE_ALL, :table => val[2], :action => val[3], :attrs => attrs, :conds => val[5], :limit => val[6]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 480) def _reduce_133(val, _values) :PUT end .,., module_eval(<<'.,.,', 'ddb-parser.y', 484) def _reduce_134(val, _values) :ADD end .,., module_eval(<<'.,.,', 'ddb-parser.y', 489) def _reduce_135(val, _values) :DELETE end .,., module_eval(<<'.,.,', 'ddb-parser.y', 493) def _reduce_136(val, _values) :DELETE end .,., module_eval(<<'.,.,', 'ddb-parser.y', 498) def _reduce_137(val, _values) [val[0]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 502) def _reduce_138(val, _values) val[0] + [val[2]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 507) def _reduce_139(val, _values) [val[0], val[2]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 512) def _reduce_140(val, _values) val[1] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 517) def _reduce_141(val, _values) [val[0]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 521) def _reduce_142(val, _values) val[0] + [val[2]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 526) def _reduce_143(val, _values) [val[0], val[2]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 531) def _reduce_144(val, _values) struct(:DELETE, :table => val[2], :conds => val[3]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 535) def _reduce_145(val, _values) struct(:DELETE_ALL, :table => val[3], :conds => val[4], :limit => val[5]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 540) def _reduce_146(val, _values) struct(:INSERT, :table => val[2], :attrs => val[4], :values => val[7]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 544) def _reduce_147(val, _values) struct(:INSERT_SELECT, :table => val[2], :select => val[3]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 548) def _reduce_148(val, _values) struct(:INSERT_SCAN, :table => val[2], :select => val[3]) end .,., # reduce 149 omitted module_eval(<<'.,.,', 'ddb-parser.y', 555) def _reduce_150(val, _values) [val[1]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 559) def _reduce_151(val, _values) val[0] + [val[3]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 564) def _reduce_152(val, _values) [val[0]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 568) def _reduce_153(val, _values) val[0] + [val[2]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 573) def _reduce_154(val, _values) struct(:NEXT) end .,., # reduce 155 omitted # reduce 156 omitted # reduce 157 omitted # reduce 158 omitted # reduce 159 omitted # reduce 160 omitted # reduce 161 omitted module_eval(<<'.,.,', 'ddb-parser.y', 586) def _reduce_162(val, _values) val[1] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 591) def _reduce_163(val, _values) [val[0]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 595) def _reduce_164(val, _values) val[0] + [val[2]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 600) def _reduce_165(val, _values) {} end .,., module_eval(<<'.,.,', 'ddb-parser.y', 604) def _reduce_166(val, _values) val[1] end .,., # reduce 167 omitted module_eval(<<'.,.,', 'ddb-parser.y', 610) def _reduce_168(val, _values) val[0].merge(val[2]) end .,., module_eval(<<'.,.,', 'ddb-parser.y', 615) def _reduce_169(val, _values) {val[0] => val[2]} end .,., module_eval(<<'.,.,', 'ddb-parser.y', 619) def _reduce_170(val, _values) {val[0] => val[2]} end .,., # reduce 171 omitted # reduce 172 omitted # reduce 173 omitted module_eval(<<'.,.,', 'ddb-parser.y', 628) def _reduce_174(val, _values) val[1] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 632) def _reduce_175(val, _values) val[1] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 636) def _reduce_176(val, _values) val[1] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 641) def _reduce_177(val, _values) Set[val[0]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 645) def _reduce_178(val, _values) val[0] + Set[val[2]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 650) def _reduce_179(val, _values) Set[val[0]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 654) def _reduce_180(val, _values) val[0] + Set[val[2]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 659) def _reduce_181(val, _values) Set[val[0]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 663) def _reduce_182(val, _values) val[0] + Set[val[2]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 668) def _reduce_183(val, _values) [val[0]] end .,., module_eval(<<'.,.,', 'ddb-parser.y', 672) def _reduce_184(val, _values) val[0] + [val[2]] end .,., def _reduce_none(val, _values) val[0] end end # class Parser end # DynamoDB