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

require 'racc/parser.rb'

require 'puppetdb'
require 'puppetdb/lexer'
require 'puppetdb/astnode'
require 'puppetdb/parser_helper'
module PuppetDB
  class Parser < PuppetDB::Lexer

module_eval(<<'...end grammar.racc/module_eval...', 'grammar.racc', 91)
  include PuppetDB::ParserHelper

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

racc_action_table = [
     5,    54,    19,    20,    58,    55,    19,    17,    11,    57,
    17,     5,    33,    17,    52,    14,    12,    17,     4,    11,
    63,    16,    17,     5,    15,    54,    14,    12,    37,     4,
    18,    11,    16,    17,     5,    15,    66,    54,    14,    12,
   nil,     4,    11,   nil,    16,    17,     5,    15,   nil,    14,
    12,   nil,     4,   nil,    11,    16,    17,     5,    15,   nil,
   nil,    14,    12,    11,     4,    11,    50,    16,    17,   nil,
    15,    12,    14,    12,    65,     4,    16,    17,    16,    17,
   nil,    15,    11,   nil,    19,    20,    11,   nil,    19,    20,
    12,   nil,   nil,    11,    12,    16,    17,   nil,   nil,    16,
    17,    12,   nil,   nil,   nil,   nil,    16,    17,    23,    24,
    21,    22,    27,    28,    25,    26,   nil,   nil,   nil,    30,
    23,    24,    21,    22,    27,    28,    25,    26,    44,   nil,
   nil,    30,   nil,   nil,   nil,    47,    17,    46 ]

racc_action_check = [
     0,    35,     2,     2,    51,    36,    39,    44,     0,    47,
    11,    20,     9,    14,    35,     0,     0,    15,     0,    20,
    57,     0,     0,    19,     0,    58,    20,    20,    18,    20,
     1,    19,    20,    20,    54,    20,    62,    66,    19,    19,
   nil,    19,    54,   nil,    19,    19,     4,    19,   nil,    54,
    54,   nil,    54,   nil,     4,    54,    54,     5,    54,   nil,
   nil,     4,     4,    55,     4,     5,    32,     4,     4,   nil,
     4,    55,     5,     5,    61,     5,    55,    55,     5,     5,
   nil,     5,    30,   nil,    32,    32,    52,   nil,    61,    61,
    30,   nil,   nil,    33,    52,    30,    30,   nil,   nil,    52,
    52,    33,   nil,   nil,   nil,   nil,    33,    33,    59,    59,
    59,    59,    59,    59,    59,    59,   nil,   nil,   nil,    59,
     3,     3,     3,     3,     3,     3,     3,     3,    29,   nil,
   nil,     3,   nil,   nil,   nil,    29,    29,    29 ]

racc_action_pointer = [
    -2,    30,   -19,   112,    44,    55,   nil,   nil,   nil,     8,
   nil,   -14,   nil,   nil,   -11,    -7,   nil,   nil,    28,    21,
     9,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   112,
    72,   nil,    63,    83,   nil,    -5,     1,   nil,   nil,   -15,
   nil,   nil,   nil,   nil,   -17,   nil,   nil,   -10,   nil,   nil,
   nil,    -1,    76,   nil,    32,    53,   nil,    -3,    19,   100,
   nil,    67,    31,   nil,   nil,   nil,    31,   nil ]

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

racc_goto_table = [
     2,    53,    40,    34,    31,    32,    35,    36,    49,    45,
    60,    51,    42,    43,    59,     1,   nil,   nil,   nil,    38,
    39,    41,    48,   nil,    64,    48,   nil,   nil,   nil,   nil,
   nil,   nil,    67,    62,   nil,   nil,    56,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    48,   nil,   nil,    48,   nil,   nil,
   nil,   nil,   nil,   nil,    61 ]

racc_goto_check = [
     2,    14,     8,     9,     2,     2,     9,     9,    13,     7,
     5,    13,    10,    11,     3,     1,   nil,   nil,   nil,     2,
     2,     9,     9,   nil,    14,     9,   nil,   nil,   nil,   nil,
   nil,   nil,    14,    13,   nil,   nil,     9,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,     9,   nil,   nil,     9,   nil,   nil,
   nil,   nil,   nil,   nil,     2 ]

racc_goto_pointer = [
   nil,    15,     0,   -38,   nil,   -42,   nil,   -20,   -27,    -8,
   -17,   -16,   nil,   -22,   -34 ]

racc_goto_default = [
   nil,   nil,   nil,     3,     6,     7,     8,   nil,   nil,     9,
    10,   nil,    29,    13,   nil ]

racc_reduce_table = [
  0, 0, :racc_error,
  1, 28, :_reduce_none,
  0, 28, :_reduce_none,
  1, 29, :_reduce_3,
  2, 29, :_reduce_4,
  3, 29, :_reduce_5,
  3, 29, :_reduce_6,
  3, 29, :_reduce_7,
  1, 29, :_reduce_none,
  1, 29, :_reduce_none,
  1, 29, :_reduce_none,
  1, 34, :_reduce_11,
  1, 34, :_reduce_12,
  1, 34, :_reduce_13,
  1, 34, :_reduce_14,
  2, 34, :_reduce_15,
  1, 39, :_reduce_none,
  1, 39, :_reduce_none,
  1, 39, :_reduce_none,
  1, 39, :_reduce_none,
  1, 39, :_reduce_none,
  1, 39, :_reduce_none,
  1, 39, :_reduce_none,
  1, 39, :_reduce_none,
  3, 32, :_reduce_24,
  1, 40, :_reduce_25,
  1, 40, :_reduce_26,
  2, 40, :_reduce_27,
  1, 40, :_reduce_28,
  1, 30, :_reduce_29,
  3, 30, :_reduce_30,
  4, 33, :_reduce_31,
  3, 33, :_reduce_32,
  3, 41, :_reduce_33,
  4, 31, :_reduce_34,
  5, 31, :_reduce_35,
  5, 31, :_reduce_36,
  6, 31, :_reduce_37,
  1, 35, :_reduce_none,
  1, 37, :_reduce_none,
  1, 36, :_reduce_none,
  3, 38, :_reduce_41 ]

racc_reduce_n = 42

racc_shift_n = 68

racc_token_table = {
  false => 0,
  :error => 1,
  :LPAREN => 2,
  :RPAREN => 3,
  :LBRACK => 4,
  :RBRACK => 5,
  :LBRACE => 6,
  :RBRACE => 7,
  :EQUALS => 8,
  :NOTEQUALS => 9,
  :MATCH => 10,
  :NOTMATCH => 11,
  :LESSTHAN => 12,
  :LESSTHANEQ => 13,
  :GREATERTHAN => 14,
  :GREATERTHANEQ => 15,
  :AT => 16,
  :HASH => 17,
  :ASTERISK => 18,
  :DOT => 19,
  :NOT => 20,
  :AND => 21,
  :OR => 22,
  :NUMBER => 23,
  :STRING => 24,
  :BOOLEAN => 25,
  :EXPORTED => 26 }

racc_nt_base = 27

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",
  "LPAREN",
  "RPAREN",
  "LBRACK",
  "RBRACK",
  "LBRACE",
  "RBRACE",
  "EQUALS",
  "NOTEQUALS",
  "MATCH",
  "NOTMATCH",
  "LESSTHAN",
  "LESSTHANEQ",
  "GREATERTHAN",
  "GREATERTHANEQ",
  "AT",
  "HASH",
  "ASTERISK",
  "DOT",
  "NOT",
  "AND",
  "OR",
  "NUMBER",
  "STRING",
  "BOOLEAN",
  "EXPORTED",
  "$start",
  "query",
  "expression",
  "identifier_path",
  "resource_expression",
  "comparison_expression",
  "subquery",
  "literal",
  "boolean",
  "string",
  "integer",
  "float",
  "comparison_op",
  "identifier",
  "block_expression" ]

Racc_debug_parser = false

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

# reduce 0 omitted

# reduce 1 omitted

# reduce 2 omitted

module_eval(<<'.,.,', 'grammar.racc', 27)
  def _reduce_3(val, _values)
     ASTNode.new :regexp_node_match, val[0] 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 28)
  def _reduce_4(val, _values)
     ASTNode.new :booleanop, :not, [val[1]] 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 29)
  def _reduce_5(val, _values)
     ASTNode.new :booleanop, :and, [val[0], val[2]] 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 30)
  def _reduce_6(val, _values)
     ASTNode.new :booleanop, :or, [val[0], val[2]] 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 31)
  def _reduce_7(val, _values)
     val[1] 
  end
.,.,

# reduce 8 omitted

# reduce 9 omitted

# reduce 10 omitted

module_eval(<<'.,.,', 'grammar.racc', 37)
  def _reduce_11(val, _values)
     ASTNode.new :boolean, val[0] 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 38)
  def _reduce_12(val, _values)
     ASTNode.new :string, val[0] 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 39)
  def _reduce_13(val, _values)
     ASTNode.new :number, val[0] 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 40)
  def _reduce_14(val, _values)
     ASTNode.new :number, val[0] 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 41)
  def _reduce_15(val, _values)
     ASTNode.new :date, val[1] 
  end
.,.,

# reduce 16 omitted

# reduce 17 omitted

# reduce 18 omitted

# reduce 19 omitted

# reduce 20 omitted

# reduce 21 omitted

# reduce 22 omitted

# reduce 23 omitted

module_eval(<<'.,.,', 'grammar.racc', 54)
  def _reduce_24(val, _values)
     ASTNode.new :comparison, val[1], [val[0], val[2]] 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 57)
  def _reduce_25(val, _values)
     ASTNode.new :identifier, val[0] 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 58)
  def _reduce_26(val, _values)
     ASTNode.new :identifier, val[0] 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 59)
  def _reduce_27(val, _values)
     ASTNode.new :regexp_identifier, val[1] 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 60)
  def _reduce_28(val, _values)
     ASTNode.new :regexp_identifier, '.*' 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 63)
  def _reduce_29(val, _values)
     ASTNode.new :identifier_path, nil, [val[0]] 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 64)
  def _reduce_30(val, _values)
     val[0].children.push val[2]; val[0] 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 67)
  def _reduce_31(val, _values)
     ASTNode.new :subquery, val[1], [val[3]] 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 68)
  def _reduce_32(val, _values)
     ASTNode.new :subquery, val[1], [val[2]] 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 71)
  def _reduce_33(val, _values)
     val[1] 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 75)
  def _reduce_34(val, _values)
     ASTNode.new :resource, {:type => val[0], :title => val[2], :exported => false} 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 77)
  def _reduce_35(val, _values)
     ASTNode.new :resource, {:type => val[0], :title => val[2], :exported => false}, [val[4]] 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 79)
  def _reduce_36(val, _values)
     ASTNode.new :resource, {:type => val[1], :title => val[3], :exported => true} 
  end
.,.,

module_eval(<<'.,.,', 'grammar.racc', 81)
  def _reduce_37(val, _values)
     ASTNode.new :resource, {:type => val[1], :title => val[3], :exported => true}, [val[5]] 
  end
.,.,

# reduce 38 omitted

# reduce 39 omitted

# reduce 40 omitted

module_eval(<<'.,.,', 'grammar.racc', 86)
  def _reduce_41(val, _values)
     "#{val[0]}.#{val[2]}".to_f 
  end
.,.,

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

  end   # class Parser
  end   # module PuppetDB
