#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.4.14
# from Racc grammer file "".
#

require 'racc/parser.rb'

#
# generated by racc
#
module Fluent; module FilterWhere; end; end
require_relative 'parser.rex'
require_relative 'parser/literal'
require_relative 'parser/exp'

module Fluent
  module FilterWhere
    class Parser < Racc::Parser

module_eval(<<'...end parser.racc/module_eval...', 'parser.racc', 84)

...end parser.racc/module_eval...
##### State transition tables begin ###

racc_action_table = [
    10,    11,     7,    31,    32,    44,    46,    45,     7,    33,
    34,    35,    61,     7,    62,     4,     6,     5,     3,     8,
    70,     4,     6,     5,     3,     8,     4,     6,     5,     3,
     8,     7,    41,    43,    42,    63,     7,    10,    11,    23,
    24,    64,    56,    65,     4,     6,     5,     3,     8,     4,
     6,     5,     3,     8,    55,    12,    13,    14,    15,    16,
    17,    18,    19,    20,    21,    22,    25,    26,    27,    28,
    29,    30,    10,    11,    66,    67,    68,    69,    10,    71,
     9,    38,    47,    48,    49,    50,    51,    52,    53,    54,
    57,    58,    59,    60 ]

racc_action_check = [
    37,    37,     0,     6,     6,    13,    13,    13,    11,     6,
     6,     6,    27,     7,    28,     0,     0,     0,     0,     0,
    37,    11,    11,    11,    11,    11,     7,     7,     7,     7,
     7,     8,    12,    12,    12,    29,    10,     2,     2,     4,
     4,    30,    22,    31,     8,     8,     8,     8,     8,    10,
    10,    10,    10,    10,    22,     3,     3,     3,     3,     3,
     3,     3,     3,     3,     3,     3,     5,     5,     5,     5,
     5,     5,    36,    36,    32,    33,    34,    35,    40,    56,
     1,     9,    14,    15,    16,    17,    18,    19,    20,    21,
    23,    24,    25,    26 ]

racc_action_pointer = [
    -2,    80,    35,    50,    34,    61,    -2,     9,    27,    81,
    32,     4,    15,   -12,    63,    64,    65,    66,    68,    69,
    70,    71,    38,    70,    71,    72,    73,    -8,    -6,    15,
    21,    23,    54,    55,    56,    57,    70,    -2,   nil,   nil,
    76,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,    63,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil ]

racc_action_default = [
    -1,   -36,    -2,   -36,   -36,   -36,   -36,   -36,   -36,   -36,
   -36,   -36,   -36,   -36,   -36,   -36,   -36,   -36,   -36,   -36,
   -36,   -36,   -36,   -36,   -36,   -36,   -36,   -36,   -36,   -36,
   -36,   -36,   -36,   -36,   -36,   -36,   -34,   -36,    72,   -32,
   -33,    -3,    -7,   -19,    -4,    -8,   -20,    -9,   -10,   -11,
   -12,   -21,   -22,   -23,   -29,   -30,   -36,    -5,    -6,   -13,
   -14,   -15,   -16,   -17,   -18,   -24,   -25,   -26,   -27,   -28,
   -35,   -31 ]

racc_goto_table = [
     2,     1,   nil,   nil,   nil,   nil,   nil,    36,    37,   nil,
    39,    40 ]

racc_goto_check = [
     2,     1,   nil,   nil,   nil,   nil,   nil,     2,     2,   nil,
     2,     2 ]

racc_goto_pointer = [
   nil,     1,     0 ]

racc_goto_default = [
   nil,   nil,   nil ]

racc_reduce_table = [
  0, 0, :racc_error,
  0, 24, :_reduce_none,
  1, 24, :_reduce_2,
  3, 25, :_reduce_3,
  3, 25, :_reduce_4,
  3, 25, :_reduce_5,
  3, 25, :_reduce_6,
  3, 25, :_reduce_7,
  3, 25, :_reduce_8,
  3, 25, :_reduce_9,
  3, 25, :_reduce_10,
  3, 25, :_reduce_11,
  3, 25, :_reduce_12,
  3, 25, :_reduce_13,
  3, 25, :_reduce_14,
  3, 25, :_reduce_15,
  3, 25, :_reduce_16,
  3, 25, :_reduce_17,
  3, 25, :_reduce_18,
  3, 25, :_reduce_19,
  3, 25, :_reduce_20,
  3, 25, :_reduce_21,
  3, 25, :_reduce_22,
  3, 25, :_reduce_23,
  3, 25, :_reduce_24,
  3, 25, :_reduce_25,
  3, 25, :_reduce_26,
  3, 25, :_reduce_27,
  3, 25, :_reduce_28,
  3, 25, :_reduce_29,
  3, 25, :_reduce_30,
  4, 25, :_reduce_31,
  3, 25, :_reduce_32,
  3, 25, :_reduce_33,
  2, 25, :_reduce_34,
  3, 25, :_reduce_35 ]

racc_reduce_n = 36

racc_shift_n = 72

racc_token_table = {
  false => 0,
  :error => 1,
  :OR => 2,
  :AND => 3,
  :NOT => 4,
  :EQ => 5,
  :NEQ => 6,
  :GT => 7,
  :GE => 8,
  :LT => 9,
  :LE => 10,
  :START_WITH => 11,
  :END_WITH => 12,
  :INCLUDE => 13,
  :REGEXP => 14,
  :IS => 15,
  :NULL => 16,
  :BOOLEAN => 17,
  :STRING => 18,
  :NUMBER => 19,
  :IDENTIFIER => 20,
  "(" => 21,
  ")" => 22 }

racc_nt_base = 23

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",
  "OR",
  "AND",
  "NOT",
  "EQ",
  "NEQ",
  "GT",
  "GE",
  "LT",
  "LE",
  "START_WITH",
  "END_WITH",
  "INCLUDE",
  "REGEXP",
  "IS",
  "NULL",
  "BOOLEAN",
  "STRING",
  "NUMBER",
  "IDENTIFIER",
  "\"(\"",
  "\")\"",
  "$start",
  "input",
  "exp" ]

Racc_debug_parser = false

##### State transition tables end #####

# reduce 0 omitted

# reduce 1 omitted

module_eval(<<'.,.,', 'parser.racc', 34)
  def _reduce_2(val, _values)
     val[0] 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 37)
  def _reduce_3(val, _values)
     BooleanOpExp.new(val[0], val[2], :EQ) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 38)
  def _reduce_4(val, _values)
     BooleanOpExp.new(val[0], val[2], :NEQ) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 39)
  def _reduce_5(val, _values)
     BooleanOpExp.new(val[0], val[2], :EQ) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 40)
  def _reduce_6(val, _values)
     BooleanOpExp.new(val[0], val[2], :NEQ) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 41)
  def _reduce_7(val, _values)
     NumberOpExp.new(val[0], val[2], :EQ) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 42)
  def _reduce_8(val, _values)
     NumberOpExp.new(val[0], val[2], :NEQ) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 43)
  def _reduce_9(val, _values)
     NumberOpExp.new(val[0], val[2], :GT) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 44)
  def _reduce_10(val, _values)
     NumberOpExp.new(val[0], val[2], :GE) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 45)
  def _reduce_11(val, _values)
     NumberOpExp.new(val[0], val[2], :LT) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 46)
  def _reduce_12(val, _values)
     NumberOpExp.new(val[0], val[2], :LE) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 47)
  def _reduce_13(val, _values)
     NumberOpExp.new(val[0], val[2], :EQ) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 48)
  def _reduce_14(val, _values)
     NumberOpExp.new(val[0], val[2], :NEQ) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 49)
  def _reduce_15(val, _values)
     NumberOpExp.new(val[0], val[2], :GT) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 50)
  def _reduce_16(val, _values)
     NumberOpExp.new(val[0], val[2], :GE) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 51)
  def _reduce_17(val, _values)
     NumberOpExp.new(val[0], val[2], :LT) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 52)
  def _reduce_18(val, _values)
     NumberOpExp.new(val[0], val[2], :LE) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 53)
  def _reduce_19(val, _values)
     StringOpExp.new(val[0], val[2], :EQ) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 54)
  def _reduce_20(val, _values)
     StringOpExp.new(val[0], val[2], :NEQ) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 55)
  def _reduce_21(val, _values)
     StringOpExp.new(val[0], val[2], :START_WITH) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 56)
  def _reduce_22(val, _values)
     StringOpExp.new(val[0], val[2], :END_WITH) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 57)
  def _reduce_23(val, _values)
     StringOpExp.new(val[0], val[2], :INCLUDE) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 58)
  def _reduce_24(val, _values)
     StringOpExp.new(val[0], val[2], :EQ) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 59)
  def _reduce_25(val, _values)
     StringOpExp.new(val[0], val[2], :NEQ) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 60)
  def _reduce_26(val, _values)
     StringOpExp.new(val[0], val[2], :START_WITH) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 61)
  def _reduce_27(val, _values)
     StringOpExp.new(val[0], val[2], :END_WITH) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 62)
  def _reduce_28(val, _values)
     StringOpExp.new(val[0], val[2], :INCLUDE) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 63)
  def _reduce_29(val, _values)
     RegexpOpExp.new(val[0], val[2], :REGEXP) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 64)
  def _reduce_30(val, _values)
     NullOpExp.new(val[0], :EQ) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 65)
  def _reduce_31(val, _values)
     NullOpExp.new(val[0], :NEQ) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 66)
  def _reduce_32(val, _values)
     LogicalOpExp.new(val[0], val[2], :OR) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 67)
  def _reduce_33(val, _values)
     LogicalOpExp.new(val[0], val[2], :AND) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 68)
  def _reduce_34(val, _values)
     NegateOpExp.new(val[1]) 
  end
.,.,

module_eval(<<'.,.,', 'parser.racc', 69)
  def _reduce_35(val, _values)
     val[1] 
  end
.,.,

def _reduce_none(val, _values)
  val[0]
end

    end   # class Parser
    end   # module FilterWhere
  end   # module Fluent