lib/graphql/language/parser.rb



#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.4.16
# from Racc grammar file "".
#

require 'racc/parser.rb'



module GraphQL
  module Language
    class Parser < Racc::Parser

module_eval(<<'...end parser.y/module_eval...', 'parser.y', 437)

EMPTY_ARRAY = [].freeze

def initialize(query_string, filename:, tracer: Tracing::NullTracer)
  raise GraphQL::ParseError.new("No query string was present", nil, nil, query_string) if query_string.nil?
  @query_string = query_string
  @filename = filename
  @tracer = tracer
  @reused_next_token = [nil, nil]
end

def parse_document
  @document ||= begin
    # Break the string into tokens
    @tracer.trace("lex", {query_string: @query_string}) do
      @tokens ||= GraphQL.scan(@query_string)
    end
    # From the tokens, build an AST
    @tracer.trace("parse", {query_string: @query_string}) do
      if @tokens.empty?
        raise GraphQL::ParseError.new("Unexpected end of document", nil, nil, @query_string)
      else
        do_parse
      end
    end
  end
end

class << self
  attr_accessor :cache

  def parse(query_string, filename: nil, tracer: GraphQL::Tracing::NullTracer)
    new(query_string, filename: filename, tracer: tracer).parse_document
  end

  def parse_file(filename, tracer: GraphQL::Tracing::NullTracer)
    if cache
      cache.fetch(filename) do
        parse(File.read(filename), filename: filename, tracer: tracer)
      end
    else
      parse(File.read(filename), filename: filename, tracer: tracer)
    end
  end
end

private

def next_token
  lexer_token = @tokens.shift
  if lexer_token.nil?
    nil
  else
    @reused_next_token[0] = lexer_token.name
    @reused_next_token[1] = lexer_token
    @reused_next_token
  end
end

def get_description(token)
  comments = []

  loop do
    prev_token = token
    token = token.prev_token

    break if token.nil?
    break if token.name != :COMMENT
    break if prev_token.line != token.line + 1

    comments.unshift(token.to_s.sub(/^#\s*/, ""))
  end

  return nil if comments.empty?

  comments.join("\n")
end

def on_error(parser_token_id, lexer_token, vstack)
  if lexer_token == "$" || lexer_token == nil
    raise GraphQL::ParseError.new("Unexpected end of document", nil, nil, @query_string, filename: @filename)
  else
    parser_token_name = token_to_str(parser_token_id)
    if parser_token_name.nil?
      raise GraphQL::ParseError.new("Parse Error on unknown token: {token_id: #{parser_token_id}, lexer_token: #{lexer_token}} from #{@query_string}", nil, nil, @query_string, filename: @filename)
    else
      line, col = lexer_token.line_and_column
      if lexer_token.name == :BAD_UNICODE_ESCAPE
        raise GraphQL::ParseError.new("Parse error on bad Unicode escape sequence: #{lexer_token.to_s.inspect} (#{parser_token_name}) at [#{line}, #{col}]", line, col, @query_string, filename: @filename)
      else
        raise GraphQL::ParseError.new("Parse error on #{lexer_token.to_s.inspect} (#{parser_token_name}) at [#{line}, #{col}]", line, col, @query_string, filename: @filename)
      end
    end
  end
end

def make_node(node_name, assigns)
  assigns.each do |key, value|
    if key != :position_source && value.is_a?(GraphQL::Language::Token)
      assigns[key] = value.to_s
    end
  end

  assigns[:filename] = @filename

  GraphQL::Language::Nodes.const_get(node_name).new(assigns)
end
...end parser.y/module_eval...
##### State transition tables begin ###

racc_action_table = [
    -2,   279,    11,   -99,    12,    13,    14,   280,    11,   -99,
    12,    13,    14,   178,   -99,   -99,    19,   -99,    94,  -165,
   194,    93,    19,    12,    13,    14,    15,   196,    71,    35,
    35,    35,    15,    71,    71,    28,   -99,    35,    12,    13,
    14,    28,    71,   263,  -151,    71,    71,    35,    71,    43,
    44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
    54,    55,    56,    60,    12,    13,    14,    71,  -165,  -165,
   181,    35,  -165,   160,   120,    43,    44,    45,    46,    47,
    48,    49,    50,    51,    52,    53,    54,    55,    56,    90,
    12,    13,    14,   299,    66,   295,    35,    35,  -165,   221,
    35,    43,    44,    45,    46,    47,    48,    49,    50,    51,
    52,    53,    54,    55,    56,   223,    12,    13,    14,   273,
    66,    35,   272,    35,   131,   268,    35,    43,    44,    45,
    46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
    56,   219,    71,    12,    13,    14,    66,    35,   217,   278,
    35,   218,   285,    35,   200,    44,    45,    46,    47,    48,
    49,    50,    51,    52,   198,   199,   207,   208,   204,   205,
   206,   216,   302,   131,    12,    13,    14,    35,   300,    71,
   277,    71,   218,   230,    87,   200,    44,    45,    46,    47,
    48,    49,    50,    51,    52,   198,   199,   207,   208,   204,
   205,   206,   216,   219,   233,    12,    13,    14,    35,   303,
   217,    71,    35,   218,    35,   244,   200,    44,    45,    46,
    47,    48,    49,    50,    51,    52,   198,   199,   207,   208,
   204,   205,   206,   216,   302,   142,    12,    13,    14,   226,
    12,    13,    14,   306,   218,    35,    35,   200,    44,    45,
    46,    47,    48,    49,    50,    51,    52,   198,   199,   207,
   208,   204,   205,   206,   216,   219,    35,    12,    13,    14,
   250,   307,   217,   131,   284,   218,   254,    71,   200,    44,
    45,    46,    47,    48,    49,    50,    51,    52,   198,   199,
   207,   208,   204,   205,   206,   216,   219,   138,    12,    13,
    14,    71,    94,   217,   233,   131,   218,   269,    71,   200,
    44,    45,    46,    47,    48,    49,    50,    51,    52,   198,
   199,   207,   208,   204,   205,   206,   216,   219,    71,    12,
    13,    14,    71,   120,   217,    71,   269,   218,   116,    71,
   200,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   198,   199,   207,   208,   204,   205,   206,   216,    12,    13,
    14,    80,    81,    38,    82,    83,    84,    85,    86,    43,
    44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
    54,    55,    56,    12,    13,    14,   284,   101,    66,   174,
    12,    13,    14,    71,    96,    44,    45,    46,    47,    48,
    49,    50,    51,    52,    53,    54,    55,    56,   291,    12,
    13,    14,    71,    12,    13,    14,   290,    98,   194,    71,
    43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
    53,    54,    55,    56,   287,    12,    13,    14,    73,    74,
    75,    71,    76,    77,    78,    79,    43,    44,    45,    46,
    47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   310,    12,    13,    14,   131,    94,   298,   168,   169,    89,
    71,   131,    43,    44,    45,    46,    47,    48,    49,    50,
    51,    52,    53,    54,    55,    56,   257,    12,    13,    14,
    71,   176,    71,    71,    71,    71,    71,   185,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   186,    71,   187,   142,   188,
   129,    71,   190,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   191,   192,   193,   nil,   nil,   nil,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   129,   nil,   nil,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   nil,   166,   nil,   nil,   nil,   nil,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   129,   nil,   nil,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   129,   nil,   nil,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   nil,   nil,   nil,   nil,   nil,   129,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   nil,   nil,   nil,   nil,   nil,   129,   nil,   nil,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   200,    44,    45,    46,    47,    48,    49,
    50,    51,    52,   198,   199,  -157,   nil,   nil,   nil,  -157,
   nil,   nil,   nil,   nil,   nil,  -157,   nil,  -157,  -157 ]

racc_action_check = [
     3,   248,     3,   143,     3,     3,     3,   249,     0,   145,
     0,     0,     0,   140,   102,   179,     3,   149,    65,   230,
   158,    65,     0,   138,   138,   138,     3,   162,   145,   248,
   249,     3,     0,   165,   143,     3,   147,     0,   142,   142,
   142,     0,   110,   227,   140,   102,   179,   230,   149,   142,
   142,   142,   142,   142,   142,   142,   142,   142,   142,   142,
   142,   142,   142,    11,    11,    11,    11,   147,   190,   185,
   142,   227,   178,   118,   118,    11,    11,    11,    11,    11,
    11,    11,    11,    11,    11,    11,    11,    11,    11,    59,
    59,    59,    59,   276,    11,   266,   190,   185,   244,   170,
   178,    59,    59,    59,    59,    59,    59,    59,    59,    59,
    59,    59,    59,    59,    59,   172,   172,   172,   172,   241,
    59,   276,   240,   266,   171,   235,   244,   172,   172,   172,
   172,   172,   172,   172,   172,   172,   172,   172,   172,   172,
   172,   255,   109,   255,   255,   255,   172,   241,   255,   247,
   240,   255,   255,   235,   255,   255,   255,   255,   255,   255,
   255,   255,   255,   255,   255,   255,   255,   255,   255,   255,
   255,   255,   306,   173,   306,   306,   306,   247,   281,   108,
   245,   107,   306,   180,    38,   306,   306,   306,   306,   306,
   306,   306,   306,   306,   306,   306,   306,   306,   306,   306,
   306,   306,   306,   290,   182,   290,   290,   290,   245,   289,
   290,   106,   187,   290,   188,   189,   290,   290,   290,   290,
   290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
   290,   290,   290,   290,   284,   105,   284,   284,   284,   177,
   177,   177,   177,   293,   284,   192,   193,   284,   284,   284,
   284,   284,   284,   284,   284,   284,   284,   284,   284,   284,
   284,   284,   284,   284,   284,   218,   194,   218,   218,   218,
   195,   294,   218,   197,   308,   218,   218,   104,   218,   218,
   218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
   218,   218,   218,   218,   218,   218,   303,   103,   303,   303,
   303,   312,   100,   303,   231,    97,   303,   236,    95,   303,
   303,   303,   303,   303,   303,   303,   303,   303,   303,   303,
   303,   303,   303,   303,   303,   303,   303,   168,    92,   168,
   168,   168,    19,    89,   168,    88,   246,   168,    86,    73,
   168,   168,   168,   168,   168,   168,   168,   168,   168,   168,
   168,   168,   168,   168,   168,   168,   168,   168,   131,   131,
   131,    37,    37,     1,    37,    37,    37,    37,    37,   131,
   131,   131,   131,   131,   131,   131,   131,   131,   131,   131,
   131,   131,   131,    66,    66,    66,   251,    72,   131,   135,
   135,   135,   135,    69,    66,    66,    66,    66,    66,    66,
    66,    66,    66,    66,    66,    66,    66,    66,   261,   261,
   261,   261,    66,   101,   101,   101,   260,    67,   265,   313,
   261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
   261,   261,   261,   261,   258,   258,   258,   258,    28,    28,
    28,   270,    28,    28,    28,    28,   258,   258,   258,   258,
   258,   258,   258,   258,   258,   258,   258,   258,   258,   258,
   302,   302,   302,   302,   121,   122,   275,   125,   127,    40,
   130,   117,   302,   302,   302,   302,   302,   302,   302,   302,
   302,   302,   302,   302,   302,   302,   219,   219,   219,   219,
   133,   137,   139,   115,   141,   113,   114,   144,   219,   219,
   219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
   219,   219,    98,    98,    98,   146,   112,   148,   111,   150,
    98,   152,   154,    98,    98,    98,    98,    98,    98,    98,
    98,    98,    98,    98,    98,    98,    98,    10,    10,    10,
   155,   156,   157,   nil,   nil,   nil,   nil,   nil,    10,    10,
    10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
    10,    10,    15,    15,    15,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    15,    15,    15,    15,    15,    15,
    15,    15,    15,    15,    15,    15,    15,    71,    71,    71,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    71,    71,
    71,    71,    71,    71,    71,    71,    71,    71,    71,    71,
    71,    71,    74,    74,    74,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    74,    74,    74,    74,    74,    74,    74,
    74,    74,    74,    74,    74,    74,    74,    75,    75,    75,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    75,    75,
    75,    75,    75,    75,    75,    75,    75,    75,    75,    75,
    75,    75,    76,    76,    76,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    76,    76,    76,    76,    76,    76,    76,
    76,    76,    76,    76,    76,    76,    76,    77,    77,    77,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    77,    77,
    77,    77,    77,    77,    77,    77,    77,    77,    77,    77,
    77,    77,    78,    78,    78,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    78,    78,    78,    78,    78,    78,    78,
    78,    78,    78,    78,    78,    78,    78,    79,    79,    79,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    79,    79,
    79,    79,    79,    79,    79,    79,    79,    79,    79,    79,
    79,    79,    80,    80,    80,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    80,    80,    80,    80,    80,    80,    80,
    80,    80,    80,    80,    80,    80,    80,    81,    81,    81,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    81,    81,
    81,    81,    81,    81,    81,    81,    81,    81,    81,    81,
    81,    81,    82,    82,    82,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    82,    82,    82,    82,    82,    82,    82,
    82,    82,    82,    82,    82,    82,    82,    83,    83,    83,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    83,    83,
    83,    83,    83,    83,    83,    83,    83,    83,    83,    83,
    83,    83,    84,    84,    84,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    84,    84,    84,    84,    84,    84,    84,
    84,    84,    84,    84,    84,    84,    84,    85,    85,    85,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    85,    85,
    85,    85,    85,    85,    85,    85,    85,    85,    85,    85,
    85,    85,    93,    93,    93,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    93,    93,    93,    93,    93,    93,    93,
    93,    93,    93,    93,    93,    93,    93,    94,    94,    94,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    94,    94,
    94,    94,    94,    94,    94,    94,    94,    94,    94,    94,
    94,    94,    96,    96,    96,   nil,   nil,   nil,   nil,   nil,
    96,   nil,   nil,    96,    96,    96,    96,    96,    96,    96,
    96,    96,    96,    96,    96,    96,    96,   116,   116,   116,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   116,   116,
   116,   116,   116,   116,   116,   116,   116,   116,   116,   116,
   116,   116,   120,   120,   120,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   120,   120,   120,   120,   120,   120,   120,
   120,   120,   120,   120,   120,   120,   120,   123,   123,   123,
   nil,   123,   nil,   nil,   nil,   nil,   nil,   nil,   123,   123,
   123,   123,   123,   123,   123,   123,   123,   123,   123,   123,
   123,   123,   129,   129,   129,   nil,   nil,   nil,   nil,   nil,
   129,   nil,   nil,   129,   129,   129,   129,   129,   129,   129,
   129,   129,   129,   129,   129,   129,   129,   176,   176,   176,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   176,   176,
   176,   176,   176,   176,   176,   176,   176,   176,   176,   176,
   176,   176,   181,   181,   181,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   181,   181,   181,   181,   181,   181,   181,
   181,   181,   181,   181,   181,   181,   181,   183,   183,   183,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   183,   183,
   183,   183,   183,   183,   183,   183,   183,   183,   183,   183,
   183,   183,   186,   186,   186,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   186,   186,   186,   186,   186,   186,   186,
   186,   186,   186,   186,   186,   186,   186,   191,   191,   191,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   191,   191,
   191,   191,   191,   191,   191,   191,   191,   191,   191,   191,
   191,   191,   196,   196,   196,   nil,   nil,   nil,   nil,   nil,
   196,   nil,   nil,   196,   196,   196,   196,   196,   196,   196,
   196,   196,   196,   196,   196,   196,   196,   217,   217,   217,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   217,   217,
   217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
   217,   217,   228,   228,   228,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   228,   228,   228,   228,   228,   228,   228,
   228,   228,   228,   228,   228,   228,   228,   233,   233,   233,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   233,   233,
   233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
   233,   233,   242,   242,   242,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   242,   242,   242,   242,   242,   242,   242,
   242,   242,   242,   242,   242,   242,   242,   250,   250,   250,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   250,   250,
   250,   250,   250,   250,   250,   250,   250,   250,   250,   250,
   250,   250,   269,   269,   269,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   269,   269,   269,   269,   269,   269,   269,
   269,   269,   269,   269,   269,   269,   269,   298,   298,   298,
   nil,   nil,   nil,   nil,   nil,   298,   nil,   nil,   298,   298,
   298,   298,   298,   298,   298,   298,   298,   298,   298,   298,
   298,   298,   300,   300,   300,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   300,   300,   300,   300,   300,   300,   300,
   300,   300,   300,   300,   300,   300,   300,   307,   307,   307,
   nil,   nil,   nil,   nil,   nil,   307,   nil,   nil,   307,   307,
   307,   307,   307,   307,   307,   307,   307,   307,   307,   307,
   307,   307,   238,   238,   238,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   238,   238,   238,   238,   238,   238,   238,
   238,   238,   238,   238,   238,   184,   nil,   nil,   nil,   184,
   nil,   nil,   nil,   nil,   nil,   184,   nil,   184,   184 ]

racc_action_pointer = [
     6,   363,   nil,     0,   nil,   nil,   nil,   nil,   nil,   nil,
   533,    60,   nil,   nil,   nil,   558,   nil,   nil,   nil,   299,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   422,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   344,   184,   nil,
   462,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    86,
   nil,   nil,   nil,   nil,   nil,    11,   379,   402,   nil,   360,
   nil,   583,   385,   306,   608,   633,   658,   683,   708,   733,
   758,   783,   808,   833,   858,   883,   305,   nil,   302,   324,
   nil,   nil,   295,   908,   933,   275,   958,   303,   508,   nil,
   295,   409,    12,   295,   244,   216,   178,   148,   146,   109,
     9,   499,   483,   462,   463,   460,   983,   469,    65,   nil,
  1008,   462,   458,  1033,   nil,   457,   nil,   457,   nil,  1058,
   437,   354,   nil,   457,   nil,   386,   nil,   481,    19,   459,
    11,   461,    34,     1,   495,    -5,   501,    34,   515,    15,
   517,   nil,   488,   nil,   520,   526,   539,   540,    13,   nil,
   nil,   nil,    17,   nil,   nil,     0,   nil,   nil,   325,   nil,
    86,   122,   112,   171,   nil,   nil,  1083,   236,    69,    13,
   181,  1108,   168,  1133,  1470,    66,  1158,   181,   183,   213,
    65,  1183,   214,   215,   235,   255,  1208,   271,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,  1233,   263,   483,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,    40,  1258,   nil,
    16,   268,   nil,  1283,   nil,   122,   270,   nil,  1458,   nil,
   119,   116,  1308,   nil,    95,   177,   299,   146,    -2,    -1,
  1333,   372,   nil,   nil,   nil,   139,   nil,   nil,   431,   nil,
   406,   405,   nil,   nil,   nil,   411,    92,   nil,   nil,  1358,
   408,   nil,   nil,   nil,   nil,   456,    90,   nil,   nil,   nil,
   nil,   141,   nil,   nil,   232,   nil,   nil,   nil,   nil,   199,
   201,   nil,   nil,   233,   261,   nil,   nil,   nil,  1383,   nil,
  1408,   nil,   457,   294,   nil,   nil,   170,  1433,   260,   nil,
   nil,   nil,   268,   386,   nil,   nil ]

racc_action_default = [
  -146,  -177,    -1,  -146,    -3,    -5,    -6,    -7,    -8,    -9,
   -16,  -177,   -13,   -14,   -15,  -107,  -109,  -110,  -111,   -98,
  -116,  -117,  -118,  -119,  -120,  -121,  -122,  -123,  -177,  -126,
  -127,  -128,  -129,  -130,  -131,  -145,  -147,  -177,  -177,    -4,
   -18,   -17,   -39,   -40,   -41,   -42,   -43,   -44,   -45,   -46,
   -47,   -48,   -49,   -50,   -51,   -52,   -53,   -54,   -55,  -177,
   -12,   -32,   -34,   -35,   -36,   -64,   -98,  -177,  -108,   -99,
  -100,  -177,  -177,   -98,  -177,  -177,  -177,  -177,  -177,  -177,
  -177,  -177,  -177,  -177,  -177,  -177,  -177,   316,   -98,  -177,
   -11,   -33,   -98,  -177,  -177,   -98,  -177,  -177,  -177,  -101,
   -64,  -177,  -125,  -177,  -177,  -150,   -98,   -98,   -98,   -98,
   -98,  -150,   -98,   -98,   -98,   -98,  -177,  -177,  -177,   -20,
  -177,   -30,   -64,  -177,   -66,  -177,  -103,   -23,   -25,  -177,
   -98,  -177,  -105,   -98,  -102,  -177,  -113,  -177,  -177,  -132,
  -136,   -98,  -177,  -138,  -177,  -140,  -177,  -142,  -177,  -144,
  -177,  -148,   -98,  -151,  -177,  -177,  -177,  -177,  -162,   -10,
   -19,   -21,  -177,   -31,   -37,   -98,   -65,   -67,  -177,   -24,
  -177,  -177,  -177,  -177,  -112,  -114,  -177,  -177,  -146,  -135,
  -177,  -177,  -153,  -154,  -155,  -146,  -177,  -146,  -146,  -177,
  -146,  -177,  -146,  -146,  -146,  -177,  -177,   -30,   -56,   -57,
   -58,   -59,   -60,   -68,   -69,   -70,   -71,   -72,   -73,   -74,
   -75,   -76,   -77,   -78,   -79,   -80,   -81,  -177,  -177,  -177,
   -97,   -26,  -104,   -29,  -106,  -115,  -124,  -146,  -177,  -166,
  -146,  -152,  -155,  -177,  -158,  -146,  -139,  -169,  -177,   -62,
  -146,  -146,  -177,  -160,  -146,  -146,  -171,  -146,  -146,  -146,
  -177,   -27,   -38,   -82,   -83,  -177,   -85,   -87,  -177,   -89,
  -177,  -177,   -94,  -133,  -167,  -162,  -146,  -156,  -137,  -177,
   -98,   -63,  -141,  -143,  -161,  -177,  -146,  -168,  -172,  -173,
  -163,  -174,  -175,   -22,  -177,   -84,   -86,   -88,   -90,  -177,
  -177,   -93,   -95,  -177,  -177,  -134,  -170,   -61,  -177,  -149,
  -177,   -28,  -177,  -177,   -78,   -91,  -177,  -177,   -27,  -176,
   -92,   -96,   -98,   -98,  -164,  -159 ]

racc_goto_table = [
    10,    72,    59,    10,    91,   132,   130,   195,   133,    68,
   164,   203,   283,   270,   227,   202,   102,   175,    92,    37,
   135,   235,    37,   274,   264,   159,   245,   124,   259,    99,
   274,   274,   264,   182,   271,   119,   118,     2,   241,   170,
   140,   271,   264,   248,   249,    88,   153,   139,    97,   143,
   145,   147,   149,   134,   281,   103,   167,   177,     1,   175,
    95,   256,    99,   264,   161,   202,   266,   288,     4,   313,
   117,    39,   231,   264,   121,   165,   141,   126,   236,   222,
   276,   224,   152,   246,   179,   202,   252,    40,   144,   146,
   148,   150,   151,   183,   154,   155,   156,   157,   286,    99,
     3,   137,   202,    99,   258,    99,   251,    99,   240,    99,
   301,   292,   171,   247,   294,   173,   304,    91,   255,   123,
    67,   nil,   172,   180,   nil,   nil,    41,    65,   nil,   nil,
   nil,   202,   311,   nil,   189,   137,   nil,   202,   137,    99,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   197,   nil,   nil,
   202,   nil,   nil,   202,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   201,   nil,
   nil,   nil,   nil,   nil,   nil,    65,   nil,   137,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   100,   nil,   nil,
   104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   114,   115,   nil,   nil,   nil,   nil,   238,   242,   308,   122,
   125,   238,   242,   242,   nil,   nil,   nil,   312,   201,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   158,   nil,   nil,   nil,   162,   nil,   201,   125,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,    65,   nil,   nil,
   nil,   nil,   297,   nil,   nil,   201,   nil,   nil,   184,   238,
   242,   nil,   nil,   nil,   nil,   nil,   238,   242,   242,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   201,   nil,   nil,   nil,    65,   nil,
   201,   nil,   225,   nil,   314,   315,   nil,   232,   nil,   234,
   nil,   nil,   237,   201,   nil,   nil,   201,   237,   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,   253,   nil,   260,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   265,   nil,   nil,   nil,   nil,   267,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   275,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   282,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   289,   nil,   nil,   293,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   296,   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,   309,   nil,   293 ]

racc_goto_check = [
    10,    13,    15,    10,    24,    14,    19,    80,    19,    29,
    23,    37,    20,    31,    72,    30,    49,    56,    28,    33,
    55,    72,    33,    79,    81,    14,    72,    36,    46,    50,
    79,    79,    81,    77,    32,    18,    17,     2,    75,    19,
    71,    32,    81,    75,    75,    12,    71,    49,    13,    49,
    49,    49,    49,    28,    82,    13,    36,    55,     1,    56,
    29,    37,    50,    81,    18,    30,    72,    46,     4,    20,
    13,     4,    77,    81,    13,    28,    73,    13,    74,    14,
    72,    14,    73,    74,    49,    30,    23,    11,    13,    13,
    13,    13,    13,    78,    13,    13,    13,    13,    37,    50,
     3,    10,    30,    50,    45,    50,    19,    50,    34,    50,
    22,    48,    13,    34,    80,    13,    22,    24,    44,    35,
    51,   nil,    15,    13,   nil,   nil,    16,    16,   nil,   nil,
   nil,    30,    22,   nil,    13,    10,   nil,    30,    10,    50,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,    13,   nil,   nil,
    30,   nil,   nil,    30,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    10,   nil,
   nil,   nil,   nil,   nil,   nil,    16,   nil,    10,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,    16,   nil,   nil,
    16,    16,    16,    16,    16,    16,    16,    16,    16,    16,
    16,    16,   nil,   nil,   nil,   nil,    33,    33,    19,    16,
    16,    33,    33,    33,   nil,   nil,   nil,    19,    10,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,    16,   nil,   nil,   nil,    16,   nil,    10,    16,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,    16,   nil,   nil,
   nil,   nil,    13,   nil,   nil,    10,   nil,   nil,    16,    33,
    33,   nil,   nil,   nil,   nil,   nil,    33,    33,    33,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    10,   nil,   nil,   nil,    16,   nil,
    10,   nil,    16,   nil,    13,    13,   nil,    16,   nil,    16,
   nil,   nil,    16,    10,   nil,   nil,    10,    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,    16,   nil,    16,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    16,   nil,   nil,   nil,   nil,    16,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    16,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,    16,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    16,   nil,   nil,    16,   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,    16,   nil,    16 ]

racc_goto_pointer = [
   nil,    58,    37,   100,    68,   nil,   nil,   nil,   nil,   nil,
     0,    77,     5,   -18,   -92,    -9,   116,   -53,   -54,   -90,
  -239,   nil,  -174,  -111,   -55,   nil,   nil,   nil,   -47,    -6,
  -153,  -225,  -206,    19,   -79,    25,   -67,  -157,   nil,   nil,
   nil,   nil,   nil,   nil,  -100,  -115,  -191,   nil,  -150,   -57,
   -40,   105,   nil,   nil,   nil,   -81,  -118,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   -65,  -164,   -29,  -108,  -150,   nil,  -109,   -49,  -218,
  -151,  -203,  -196 ]

racc_goto_default = [
   nil,   nil,   nil,   nil,   nil,     5,     6,     7,     8,     9,
    57,   nil,   nil,   nil,   163,   nil,   128,   nil,   nil,   nil,
   nil,   127,   213,   nil,    61,    62,    63,    64,   nil,    42,
    58,   220,   239,   228,   nil,   nil,   nil,   305,   209,   210,
   211,   212,   214,   215,   nil,   nil,   nil,   261,   262,    69,
    70,   nil,    16,    17,    18,   nil,   136,    20,    21,    22,
    23,    24,    25,    26,    27,    29,    30,    31,    32,    33,
    34,   nil,   nil,   nil,   nil,   nil,    36,   nil,   nil,   243,
   nil,   229,   nil ]

racc_reduce_table = [
  0, 0, :racc_error,
  1, 39, :_reduce_none,
  1, 40, :_reduce_2,
  1, 41, :_reduce_3,
  2, 41, :_reduce_4,
  1, 42, :_reduce_none,
  1, 42, :_reduce_none,
  1, 42, :_reduce_none,
  1, 43, :_reduce_none,
  1, 43, :_reduce_none,
  5, 46, :_reduce_10,
  3, 46, :_reduce_11,
  2, 46, :_reduce_12,
  1, 48, :_reduce_none,
  1, 48, :_reduce_none,
  1, 48, :_reduce_none,
  0, 49, :_reduce_16,
  1, 49, :_reduce_none,
  0, 50, :_reduce_18,
  3, 50, :_reduce_19,
  1, 55, :_reduce_20,
  2, 55, :_reduce_21,
  5, 56, :_reduce_22,
  1, 57, :_reduce_23,
  2, 57, :_reduce_24,
  1, 59, :_reduce_25,
  3, 59, :_reduce_26,
  0, 58, :_reduce_27,
  2, 58, :_reduce_28,
  3, 52, :_reduce_29,
  0, 61, :_reduce_30,
  1, 61, :_reduce_31,
  1, 53, :_reduce_32,
  2, 53, :_reduce_33,
  1, 62, :_reduce_none,
  1, 62, :_reduce_none,
  1, 62, :_reduce_none,
  4, 63, :_reduce_37,
  6, 63, :_reduce_38,
  1, 54, :_reduce_none,
  1, 54, :_reduce_none,
  1, 68, :_reduce_none,
  1, 68, :_reduce_none,
  1, 68, :_reduce_none,
  1, 68, :_reduce_none,
  1, 68, :_reduce_none,
  1, 68, :_reduce_none,
  1, 68, :_reduce_none,
  1, 68, :_reduce_none,
  1, 68, :_reduce_none,
  1, 67, :_reduce_none,
  1, 67, :_reduce_none,
  1, 67, :_reduce_none,
  1, 67, :_reduce_none,
  1, 67, :_reduce_none,
  1, 67, :_reduce_none,
  1, 69, :_reduce_none,
  1, 69, :_reduce_none,
  1, 69, :_reduce_none,
  1, 69, :_reduce_none,
  1, 69, :_reduce_none,
  3, 70, :_reduce_61,
  1, 72, :_reduce_62,
  2, 72, :_reduce_63,
  0, 66, :_reduce_64,
  3, 66, :_reduce_65,
  1, 73, :_reduce_66,
  2, 73, :_reduce_67,
  3, 74, :_reduce_68,
  1, 60, :_reduce_69,
  1, 60, :_reduce_70,
  1, 60, :_reduce_71,
  1, 60, :_reduce_72,
  1, 60, :_reduce_73,
  1, 60, :_reduce_none,
  1, 60, :_reduce_none,
  1, 60, :_reduce_none,
  1, 60, :_reduce_none,
  1, 75, :_reduce_none,
  1, 75, :_reduce_none,
  1, 75, :_reduce_none,
  1, 76, :_reduce_81,
  2, 80, :_reduce_82,
  2, 78, :_reduce_83,
  3, 78, :_reduce_84,
  1, 82, :_reduce_85,
  2, 82, :_reduce_86,
  2, 81, :_reduce_87,
  3, 81, :_reduce_88,
  1, 83, :_reduce_89,
  2, 83, :_reduce_90,
  3, 84, :_reduce_91,
  2, 79, :_reduce_92,
  3, 79, :_reduce_93,
  1, 85, :_reduce_94,
  2, 85, :_reduce_95,
  3, 86, :_reduce_96,
  1, 77, :_reduce_97,
  0, 51, :_reduce_98,
  1, 51, :_reduce_none,
  1, 87, :_reduce_100,
  2, 87, :_reduce_101,
  3, 88, :_reduce_102,
  3, 64, :_reduce_103,
  5, 65, :_reduce_104,
  3, 65, :_reduce_105,
  6, 47, :_reduce_106,
  0, 89, :_reduce_107,
  1, 89, :_reduce_none,
  1, 44, :_reduce_none,
  1, 44, :_reduce_none,
  1, 44, :_reduce_none,
  5, 90, :_reduce_112,
  1, 93, :_reduce_none,
  2, 93, :_reduce_114,
  3, 94, :_reduce_115,
  1, 91, :_reduce_none,
  1, 91, :_reduce_none,
  1, 91, :_reduce_none,
  1, 91, :_reduce_none,
  1, 91, :_reduce_none,
  1, 91, :_reduce_none,
  1, 45, :_reduce_none,
  1, 45, :_reduce_none,
  6, 101, :_reduce_124,
  3, 101, :_reduce_125,
  1, 102, :_reduce_none,
  1, 102, :_reduce_none,
  1, 102, :_reduce_none,
  1, 102, :_reduce_none,
  1, 102, :_reduce_none,
  1, 102, :_reduce_none,
  4, 103, :_reduce_132,
  7, 104, :_reduce_133,
  8, 104, :_reduce_134,
  5, 104, :_reduce_135,
  4, 104, :_reduce_136,
  7, 105, :_reduce_137,
  4, 105, :_reduce_138,
  6, 106, :_reduce_139,
  4, 106, :_reduce_140,
  7, 107, :_reduce_141,
  4, 107, :_reduce_142,
  7, 108, :_reduce_143,
  4, 108, :_reduce_144,
  1, 114, :_reduce_none,
  0, 71, :_reduce_none,
  1, 71, :_reduce_none,
  4, 95, :_reduce_148,
  8, 96, :_reduce_149,
  0, 111, :_reduce_150,
  1, 111, :_reduce_none,
  3, 109, :_reduce_152,
  2, 109, :_reduce_153,
  2, 109, :_reduce_154,
  1, 115, :_reduce_155,
  3, 115, :_reduce_156,
  1, 116, :_reduce_157,
  2, 116, :_reduce_158,
  6, 117, :_reduce_159,
  1, 113, :_reduce_160,
  2, 113, :_reduce_161,
  0, 118, :_reduce_162,
  3, 118, :_reduce_163,
  6, 119, :_reduce_164,
  0, 110, :_reduce_165,
  1, 110, :_reduce_166,
  2, 110, :_reduce_167,
  7, 97, :_reduce_168,
  1, 112, :_reduce_169,
  3, 112, :_reduce_170,
  6, 98, :_reduce_171,
  7, 99, :_reduce_172,
  7, 100, :_reduce_173,
  7, 92, :_reduce_174,
  1, 120, :_reduce_175,
  3, 120, :_reduce_176 ]

racc_reduce_n = 177

racc_shift_n = 316

racc_token_table = {
  false => 0,
  :error => 1,
  :LCURLY => 2,
  :RCURLY => 3,
  :QUERY => 4,
  :MUTATION => 5,
  :SUBSCRIPTION => 6,
  :LPAREN => 7,
  :RPAREN => 8,
  :VAR_SIGN => 9,
  :COLON => 10,
  :BANG => 11,
  :LBRACKET => 12,
  :RBRACKET => 13,
  :EQUALS => 14,
  :ON => 15,
  :SCHEMA => 16,
  :SCALAR => 17,
  :TYPE => 18,
  :IMPLEMENTS => 19,
  :INTERFACE => 20,
  :UNION => 21,
  :ENUM => 22,
  :INPUT => 23,
  :DIRECTIVE => 24,
  :IDENTIFIER => 25,
  :FRAGMENT => 26,
  :TRUE => 27,
  :FALSE => 28,
  :FLOAT => 29,
  :INT => 30,
  :STRING => 31,
  :NULL => 32,
  :DIR_SIGN => 33,
  :ELLIPSIS => 34,
  :EXTEND => 35,
  :AMP => 36,
  :PIPE => 37 }

racc_nt_base = 38

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",
  "LCURLY",
  "RCURLY",
  "QUERY",
  "MUTATION",
  "SUBSCRIPTION",
  "LPAREN",
  "RPAREN",
  "VAR_SIGN",
  "COLON",
  "BANG",
  "LBRACKET",
  "RBRACKET",
  "EQUALS",
  "ON",
  "SCHEMA",
  "SCALAR",
  "TYPE",
  "IMPLEMENTS",
  "INTERFACE",
  "UNION",
  "ENUM",
  "INPUT",
  "DIRECTIVE",
  "IDENTIFIER",
  "FRAGMENT",
  "TRUE",
  "FALSE",
  "FLOAT",
  "INT",
  "STRING",
  "NULL",
  "DIR_SIGN",
  "ELLIPSIS",
  "EXTEND",
  "AMP",
  "PIPE",
  "$start",
  "target",
  "document",
  "definitions_list",
  "definition",
  "executable_definition",
  "type_system_definition",
  "type_system_extension",
  "operation_definition",
  "fragment_definition",
  "operation_type",
  "operation_name_opt",
  "variable_definitions_opt",
  "directives_list_opt",
  "selection_set",
  "selection_list",
  "name",
  "variable_definitions_list",
  "variable_definition",
  "type",
  "default_value_opt",
  "nullable_type",
  "literal_value",
  "selection_set_opt",
  "selection",
  "field",
  "fragment_spread",
  "inline_fragment",
  "arguments_opt",
  "name_without_on",
  "schema_keyword",
  "enum_name",
  "enum_value_definition",
  "description_opt",
  "enum_value_definitions",
  "arguments_list",
  "argument",
  "input_value",
  "null_value",
  "enum_value",
  "list_value",
  "object_literal_value",
  "variable",
  "object_value",
  "list_value_list",
  "object_value_list",
  "object_value_field",
  "object_literal_value_list",
  "object_literal_value_field",
  "directives_list",
  "directive",
  "fragment_name_opt",
  "schema_definition",
  "type_definition",
  "directive_definition",
  "operation_type_definition_list",
  "operation_type_definition",
  "scalar_type_definition",
  "object_type_definition",
  "interface_type_definition",
  "union_type_definition",
  "enum_type_definition",
  "input_object_type_definition",
  "schema_extension",
  "type_extension",
  "scalar_type_extension",
  "object_type_extension",
  "interface_type_extension",
  "union_type_extension",
  "enum_type_extension",
  "input_object_type_extension",
  "implements",
  "field_definition_list",
  "implements_opt",
  "union_members",
  "input_value_definition_list",
  "description",
  "interfaces_list",
  "legacy_interfaces_list",
  "input_value_definition",
  "arguments_definitions_opt",
  "field_definition",
  "directive_locations" ]

Racc_debug_parser = false

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

# reduce 0 omitted

# reduce 1 omitted

module_eval(<<'.,.,', 'parser.y', 4)
  def _reduce_2(val, _values, result)
     result = make_node(:Document, definitions: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 7)
  def _reduce_3(val, _values, result)
     result = [val[0]]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 8)
  def _reduce_4(val, _values, result)
     val[0] << val[1]
    result
  end
.,.,

# reduce 5 omitted

# reduce 6 omitted

# reduce 7 omitted

# reduce 8 omitted

# reduce 9 omitted

module_eval(<<'.,.,', 'parser.y', 21)
  def _reduce_10(val, _values, result)
            result = make_node(
          :OperationDefinition, {
            operation_type: val[0],
            name:           val[1],
            variables:      val[2],
            directives:     val[3],
            selections:     val[4],
            position_source: val[0],
          }
        )

    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 33)
  def _reduce_11(val, _values, result)
            result = make_node(
          :OperationDefinition, {
            operation_type: "query",
            selections: val[1],
            position_source: val[0],
          }
        )

    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 42)
  def _reduce_12(val, _values, result)
            result = make_node(
          :OperationDefinition, {
            operation_type: "query",
            selections: [],
            position_source: val[0],
          }
        )

    result
  end
.,.,

# reduce 13 omitted

# reduce 14 omitted

# reduce 15 omitted

module_eval(<<'.,.,', 'parser.y', 57)
  def _reduce_16(val, _values, result)
     result = nil
    result
  end
.,.,

# reduce 17 omitted

module_eval(<<'.,.,', 'parser.y', 61)
  def _reduce_18(val, _values, result)
     result = EMPTY_ARRAY
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 62)
  def _reduce_19(val, _values, result)
     result = val[1]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 65)
  def _reduce_20(val, _values, result)
     result = [val[0]]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 66)
  def _reduce_21(val, _values, result)
     val[0] << val[1]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 70)
  def _reduce_22(val, _values, result)
            result = make_node(:VariableDefinition, {
          name: val[1],
          type: val[3],
          default_value: val[4],
          position_source: val[0],
        })

    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 79)
  def _reduce_23(val, _values, result)
     result = val[0]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 80)
  def _reduce_24(val, _values, result)
     result = make_node(:NonNullType, of_type: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 83)
  def _reduce_25(val, _values, result)
     result = make_node(:TypeName, name: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 84)
  def _reduce_26(val, _values, result)
     result = make_node(:ListType, of_type: val[1])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 87)
  def _reduce_27(val, _values, result)
     result = nil
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 88)
  def _reduce_28(val, _values, result)
     result = val[1]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 91)
  def _reduce_29(val, _values, result)
     result = val[1]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 94)
  def _reduce_30(val, _values, result)
     result = EMPTY_ARRAY
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 95)
  def _reduce_31(val, _values, result)
     result = val[0]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 98)
  def _reduce_32(val, _values, result)
     result = [result]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 99)
  def _reduce_33(val, _values, result)
     val[0] << val[1]
    result
  end
.,.,

# reduce 34 omitted

# reduce 35 omitted

# reduce 36 omitted

module_eval(<<'.,.,', 'parser.y', 108)
  def _reduce_37(val, _values, result)
                result = make_node(
              :Field, {
                name:         val[0],
                arguments:    val[1],
                directives:   val[2],
                selections:   val[3],
                position_source: val[0],
              }
            )

    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 119)
  def _reduce_38(val, _values, result)
                result = make_node(
              :Field, {
                alias:        val[0],
                name:         val[2],
                arguments:    val[3],
                directives:   val[4],
                selections:   val[5],
                position_source: val[0],
              }
            )

    result
  end
.,.,

# 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

# reduce 50 omitted

# reduce 51 omitted

# reduce 52 omitted

# reduce 53 omitted

# reduce 54 omitted

# reduce 55 omitted

# reduce 56 omitted

# reduce 57 omitted

# reduce 58 omitted

# reduce 59 omitted

# reduce 60 omitted

module_eval(<<'.,.,', 'parser.y', 162)
  def _reduce_61(val, _values, result)
     result = make_node(:EnumValueDefinition, name: val[1], directives: val[2], description: val[0] || get_description(val[1]), definition_line: val[1].line, position_source: val[0] || val[1])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 165)
  def _reduce_62(val, _values, result)
     result = [val[0]]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 166)
  def _reduce_63(val, _values, result)
     result = val[0] << val[1]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 169)
  def _reduce_64(val, _values, result)
     result = EMPTY_ARRAY
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 170)
  def _reduce_65(val, _values, result)
     result = val[1]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 173)
  def _reduce_66(val, _values, result)
     result = [val[0]]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 174)
  def _reduce_67(val, _values, result)
     val[0] << val[1]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 177)
  def _reduce_68(val, _values, result)
     result = make_node(:Argument, name: val[0], value: val[2], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 180)
  def _reduce_69(val, _values, result)
     result = val[0].to_f
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 181)
  def _reduce_70(val, _values, result)
     result = val[0].to_i
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 182)
  def _reduce_71(val, _values, result)
     result = val[0].to_s
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 183)
  def _reduce_72(val, _values, result)
     result = true
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 184)
  def _reduce_73(val, _values, result)
     result = false
    result
  end
.,.,

# reduce 74 omitted

# reduce 75 omitted

# reduce 76 omitted

# reduce 77 omitted

# reduce 78 omitted

# reduce 79 omitted

# reduce 80 omitted

module_eval(<<'.,.,', 'parser.y', 195)
  def _reduce_81(val, _values, result)
     result = make_node(:NullValue, name: val[0], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 196)
  def _reduce_82(val, _values, result)
     result = make_node(:VariableIdentifier, name: val[1], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 199)
  def _reduce_83(val, _values, result)
     result = EMPTY_ARRAY
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 200)
  def _reduce_84(val, _values, result)
     result = val[1]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 203)
  def _reduce_85(val, _values, result)
     result = [val[0]]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 204)
  def _reduce_86(val, _values, result)
     val[0] << val[1]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 207)
  def _reduce_87(val, _values, result)
     result = make_node(:InputObject, arguments: [], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 208)
  def _reduce_88(val, _values, result)
     result = make_node(:InputObject, arguments: val[1], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 211)
  def _reduce_89(val, _values, result)
     result = [val[0]]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 212)
  def _reduce_90(val, _values, result)
     val[0] << val[1]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 215)
  def _reduce_91(val, _values, result)
     result = make_node(:Argument, name: val[0], value: val[2], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 219)
  def _reduce_92(val, _values, result)
     result = make_node(:InputObject, arguments: [], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 220)
  def _reduce_93(val, _values, result)
     result = make_node(:InputObject, arguments: val[1], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 223)
  def _reduce_94(val, _values, result)
     result = [val[0]]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 224)
  def _reduce_95(val, _values, result)
     val[0] << val[1]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 227)
  def _reduce_96(val, _values, result)
     result = make_node(:Argument, name: val[0], value: val[2], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 229)
  def _reduce_97(val, _values, result)
     result = make_node(:Enum, name: val[0], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 232)
  def _reduce_98(val, _values, result)
     result = EMPTY_ARRAY
    result
  end
.,.,

# reduce 99 omitted

module_eval(<<'.,.,', 'parser.y', 236)
  def _reduce_100(val, _values, result)
     result = [val[0]]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 237)
  def _reduce_101(val, _values, result)
     val[0] << val[1]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 239)
  def _reduce_102(val, _values, result)
     result = make_node(:Directive, name: val[1], arguments: val[2], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 242)
  def _reduce_103(val, _values, result)
     result = make_node(:FragmentSpread, name: val[1], directives: val[2], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 246)
  def _reduce_104(val, _values, result)
            result = make_node(:InlineFragment, {
          type: val[2],
          directives: val[3],
          selections: val[4],
          position_source: val[0]
        })

    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 254)
  def _reduce_105(val, _values, result)
            result = make_node(:InlineFragment, {
          type: nil,
          directives: val[1],
          selections: val[2],
          position_source: val[0]
        })

    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 264)
  def _reduce_106(val, _values, result)
          result = make_node(:FragmentDefinition, {
          name:       val[1],
          type:       val[3],
          directives: val[4],
          selections: val[5],
          position_source: val[0],
        }
      )

    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 275)
  def _reduce_107(val, _values, result)
     result = nil
    result
  end
.,.,

# reduce 108 omitted

# reduce 109 omitted

# reduce 110 omitted

# reduce 111 omitted

module_eval(<<'.,.,', 'parser.y', 284)
  def _reduce_112(val, _values, result)
     result = make_node(:SchemaDefinition, position_source: val[0], definition_line: val[0].line, directives: val[1], **val[3])
    result
  end
.,.,

# reduce 113 omitted

module_eval(<<'.,.,', 'parser.y', 288)
  def _reduce_114(val, _values, result)
     result = val[0].merge(val[1])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 291)
  def _reduce_115(val, _values, result)
     result = { val[0].to_s.to_sym => val[2] }
    result
  end
.,.,

# reduce 116 omitted

# reduce 117 omitted

# reduce 118 omitted

# reduce 119 omitted

# reduce 120 omitted

# reduce 121 omitted

# reduce 122 omitted

# reduce 123 omitted

module_eval(<<'.,.,', 'parser.y', 306)
  def _reduce_124(val, _values, result)
     result = make_node(:SchemaExtension, position_source: val[0], directives: val[2], **val[4])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 307)
  def _reduce_125(val, _values, result)
     result = make_node(:SchemaExtension, position_source: val[0], directives: val[2])
    result
  end
.,.,

# reduce 126 omitted

# reduce 127 omitted

# reduce 128 omitted

# reduce 129 omitted

# reduce 130 omitted

# reduce 131 omitted

module_eval(<<'.,.,', 'parser.y', 317)
  def _reduce_132(val, _values, result)
     result = make_node(:ScalarTypeExtension, name: val[2], directives: val[3], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 321)
  def _reduce_133(val, _values, result)
     result = make_node(:ObjectTypeExtension, name: val[2], interfaces: val[3], directives: [], fields: val[5], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 322)
  def _reduce_134(val, _values, result)
     result = make_node(:ObjectTypeExtension, name: val[2], interfaces: val[3], directives: val[4], fields: val[6], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 323)
  def _reduce_135(val, _values, result)
     result = make_node(:ObjectTypeExtension, name: val[2], interfaces: val[3], directives: val[4], fields: [], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 324)
  def _reduce_136(val, _values, result)
     result = make_node(:ObjectTypeExtension, name: val[2], interfaces: val[3], directives: [], fields: [], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 327)
  def _reduce_137(val, _values, result)
     result = make_node(:InterfaceTypeExtension, name: val[2], directives: val[3], fields: val[5], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 328)
  def _reduce_138(val, _values, result)
     result = make_node(:InterfaceTypeExtension, name: val[2], directives: val[3], fields: [], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 331)
  def _reduce_139(val, _values, result)
     result = make_node(:UnionTypeExtension, name: val[2], directives: val[3], types: val[5], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 332)
  def _reduce_140(val, _values, result)
     result = make_node(:UnionTypeExtension, name: val[2], directives: val[3], types: [], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 335)
  def _reduce_141(val, _values, result)
     result = make_node(:EnumTypeExtension, name: val[2], directives: val[3], values: val[5], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 336)
  def _reduce_142(val, _values, result)
     result = make_node(:EnumTypeExtension, name: val[2], directives: val[3], values: [], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 339)
  def _reduce_143(val, _values, result)
     result = make_node(:InputObjectTypeExtension, name: val[2], directives: val[3], fields: val[5], position_source: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 340)
  def _reduce_144(val, _values, result)
     result = make_node(:InputObjectTypeExtension, name: val[2], directives: val[3], fields: [], position_source: val[0])
    result
  end
.,.,

# reduce 145 omitted

# reduce 146 omitted

# reduce 147 omitted

module_eval(<<'.,.,', 'parser.y', 350)
  def _reduce_148(val, _values, result)
            result = make_node(:ScalarTypeDefinition, name: val[2], directives: val[3], description: val[0] || get_description(val[1]), definition_line: val[1].line, position_source: val[0] || val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 355)
  def _reduce_149(val, _values, result)
            result = make_node(:ObjectTypeDefinition, name: val[2], interfaces: val[3], directives: val[4], fields: val[6], description: val[0] || get_description(val[1]), definition_line: val[1].line, position_source: val[0] || val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 359)
  def _reduce_150(val, _values, result)
     result = EMPTY_ARRAY
    result
  end
.,.,

# reduce 151 omitted

module_eval(<<'.,.,', 'parser.y', 363)
  def _reduce_152(val, _values, result)
     result = val[2]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 364)
  def _reduce_153(val, _values, result)
     result = val[1]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 365)
  def _reduce_154(val, _values, result)
     result = val[1]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 368)
  def _reduce_155(val, _values, result)
     result = [make_node(:TypeName, name: val[0], position_source: val[0])]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 369)
  def _reduce_156(val, _values, result)
     val[0] << make_node(:TypeName, name: val[2], position_source: val[2])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 372)
  def _reduce_157(val, _values, result)
     result = [make_node(:TypeName, name: val[0], position_source: val[0])]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 373)
  def _reduce_158(val, _values, result)
     val[0] << make_node(:TypeName, name: val[1], position_source: val[1])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 377)
  def _reduce_159(val, _values, result)
            result = make_node(:InputValueDefinition, name: val[1], type: val[3], default_value: val[4], directives: val[5], description: val[0] || get_description(val[1]), definition_line: val[1].line, position_source: val[0] || val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 381)
  def _reduce_160(val, _values, result)
     result = [val[0]]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 382)
  def _reduce_161(val, _values, result)
     val[0] << val[1]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 385)
  def _reduce_162(val, _values, result)
     result = EMPTY_ARRAY
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 386)
  def _reduce_163(val, _values, result)
     result = val[1]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 390)
  def _reduce_164(val, _values, result)
            result = make_node(:FieldDefinition, name: val[1], arguments: val[2], type: val[4], directives: val[5], description: val[0] || get_description(val[1]), definition_line: val[1].line, position_source: val[0] || val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 394)
  def _reduce_165(val, _values, result)
     result = EMPTY_ARRAY
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 395)
  def _reduce_166(val, _values, result)
     result = [val[0]]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 396)
  def _reduce_167(val, _values, result)
     val[0] << val[1]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 400)
  def _reduce_168(val, _values, result)
            result = make_node(:InterfaceTypeDefinition, name: val[2], directives: val[3], fields: val[5], description: val[0] || get_description(val[1]), definition_line: val[1].line, position_source: val[0] || val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 404)
  def _reduce_169(val, _values, result)
     result = [make_node(:TypeName, name: val[0], position_source: val[0])]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 405)
  def _reduce_170(val, _values, result)
     val[0] << make_node(:TypeName, name: val[2], position_source: val[2])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 409)
  def _reduce_171(val, _values, result)
            result = make_node(:UnionTypeDefinition, name: val[2], directives: val[3], types: val[5], description: val[0] || get_description(val[1]), definition_line: val[1].line, position_source: val[0] || val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 414)
  def _reduce_172(val, _values, result)
             result = make_node(:EnumTypeDefinition, name: val[2], directives: val[3], values: val[5], description: val[0] || get_description(val[1]), definition_line: val[1].line, position_source: val[0] || val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 419)
  def _reduce_173(val, _values, result)
            result = make_node(:InputObjectTypeDefinition, name: val[2], directives: val[3], fields: val[5], description: val[0] || get_description(val[1]), definition_line: val[1].line, position_source: val[0] || val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 424)
  def _reduce_174(val, _values, result)
            result = make_node(:DirectiveDefinition, name: val[3], arguments: val[4], locations: val[6], description: val[0] || get_description(val[1]), definition_line: val[1].line, position_source: val[0] || val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 428)
  def _reduce_175(val, _values, result)
     result = [make_node(:DirectiveLocation, name: val[0].to_s, position_source: val[0])]
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 429)
  def _reduce_176(val, _values, result)
     val[0] << make_node(:DirectiveLocation, name: val[2].to_s, position_source: val[2])
    result
  end
.,.,

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

    end   # class Parser
  end   # module Language
end   # module GraphQL