lib/graphql/language/parser.rb



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

require 'racc/parser.rb'



module GraphQL
  module Language
    class Parser < Racc::Parser

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

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?
        make_node(:Document, definitions: [], filename: @filename)
      else
        do_parse
      end
    end
  end
end

def self.parse(query_string, filename: nil, tracer: GraphQL::Tracing::NullTracer)
  self.new(query_string, filename: filename, tracer: tracer).parse_document
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,  -166,    11,  -100,    12,    13,    14,   280,    11,  -100,
    12,    13,    14,  -100,  -100,  -100,    19,   178,   169,   273,
   169,   284,    19,   169,   169,   222,    15,   284,    71,    35,
    35,    35,    15,    71,    71,    28,  -100,    35,    12,    13,
    14,    28,    71,  -166,    71,    71,    71,    35,  -152,    43,
    44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
    54,    55,    56,   223,    12,    13,    14,    71,  -166,  -166,
   181,    35,   299,   160,   120,    43,    44,    45,    46,    47,
    48,    49,    50,    51,    52,    53,    54,    55,    56,    60,
    12,    13,    14,   295,    66,   263,    35,    35,  -166,    38,
    35,    43,    44,    45,    46,    47,    48,    49,    50,    51,
    52,    53,    54,    55,    56,    90,    12,    13,    14,   279,
    66,    35,   278,    35,   268,   277,    35,    43,    44,    45,
    46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
    56,   219,    71,    12,    13,    14,    66,    35,   217,   272,
    35,   218,    35,    35,   200,    44,    45,    46,    47,    48,
    49,    50,    51,    52,   198,   199,   207,   208,   204,   205,
   206,   216,   219,    87,    12,    13,    14,    35,    94,   217,
    89,    93,   218,   254,    98,   200,    44,    45,    46,    47,
    48,    49,    50,    51,    52,   198,   199,   207,   208,   204,
   205,   206,   216,   302,    71,    12,    13,    14,   174,    12,
    13,    14,   101,   218,    71,   116,   200,    44,    45,    46,
    47,    48,    49,    50,    51,    52,   198,   199,   207,   208,
   204,   205,   206,   216,   219,    71,    12,    13,    14,   120,
    71,   217,    71,   131,   218,    94,   138,   200,    44,    45,
    46,    47,    48,    49,    50,    51,    52,   198,   199,   207,
   208,   204,   205,   206,   216,   302,    71,    12,    13,    14,
   226,    12,    13,    14,   142,   218,    71,    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,    71,   217,   142,    71,   218,    71,   169,   200,
    44,    45,    46,    47,    48,    49,    50,    51,    52,   198,
   199,   207,   208,   204,   205,   206,   216,    12,    13,    14,
    71,   169,    12,    13,    14,    12,    13,    14,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,   219,    71,    12,    13,    14,    66,    71,   217,
    71,   131,   218,   285,   131,   200,    44,    45,    46,    47,
    48,    49,    50,    51,    52,   198,   199,   207,   208,   204,
   205,   206,   216,    12,    13,    14,    80,    81,    94,    82,
    83,    84,    85,    86,    96,    44,    45,    46,    47,    48,
    49,    50,    51,    52,    53,    54,    55,    56,   287,    12,
    13,    14,    71,   168,   176,    71,    71,   185,   186,   187,
    43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
    53,    54,    55,    56,   257,    12,    13,    14,    73,    74,
    75,   188,    76,    77,    78,    79,    43,    44,    45,    46,
    47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   291,    12,    13,    14,    71,   190,   191,   192,   193,   194,
   196,    71,    43,    44,    45,    46,    47,    48,    49,    50,
    51,    52,    53,    54,    55,    56,   310,    12,    13,    14,
   131,   131,   230,   233,    35,    35,   244,    35,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,    35,    35,   250,   131,   233,
   269,   269,   290,    43,    44,    45,    46,    47,    48,    49,
    50,    51,    52,    53,    54,    55,    56,    12,    13,    14,
   194,    71,   298,   300,   303,   306,   307,   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,   130,   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,   123,   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,   130,   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,   nil,    44,
    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    55,    56,    12,    13,    14,   nil,   nil,   nil,   nil,   nil,
   130,   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,   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,
   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,   130,   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,   130,   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,   130,   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,   200,    44,    45,    46,    47,    48,    49,
    50,    51,    52,   198,   199,  -158,   nil,   nil,   nil,  -158,
   nil,   nil,   nil,   nil,   nil,  -158,   nil,  -158,  -158 ]

racc_action_check = [
     3,   244,     3,   147,     3,     3,     3,   249,     0,   145,
     0,     0,     0,   179,   149,   143,     3,   140,   308,   241,
   133,   308,     0,   171,   251,   171,     3,   251,   145,   244,
   249,     3,     0,   313,   147,     3,   102,     0,   142,   142,
   142,     0,   133,   178,   179,   149,   143,   241,   140,   142,
   142,   142,   142,   142,   142,   142,   142,   142,   142,   142,
   142,   142,   142,   172,   172,   172,   172,   102,   185,   190,
   142,   178,   276,   118,   118,   172,   172,   172,   172,   172,
   172,   172,   172,   172,   172,   172,   172,   172,   172,    11,
    11,    11,    11,   266,   172,   227,   185,   190,   230,     1,
   276,    11,    11,    11,    11,    11,    11,    11,    11,    11,
    11,    11,    11,    11,    11,    59,    59,    59,    59,   248,
    11,   266,   247,   227,   235,   245,   230,    59,    59,    59,
    59,    59,    59,    59,    59,    59,    59,    59,    59,    59,
    59,   168,    19,   168,   168,   168,    59,   248,   168,   240,
   247,   168,   235,   245,   168,   168,   168,   168,   168,   168,
   168,   168,   168,   168,   168,   168,   168,   168,   168,   168,
   168,   168,   218,    38,   218,   218,   218,   240,    65,   218,
    40,    65,   218,   218,    67,   218,   218,   218,   218,   218,
   218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
   218,   218,   218,   306,    69,   306,   306,   306,   135,   135,
   135,   135,    72,   306,    73,    86,   306,   306,   306,   306,
   306,   306,   306,   306,   306,   306,   306,   306,   306,   306,
   306,   306,   306,   306,   303,    88,   303,   303,   303,    89,
    92,   303,    95,    97,   303,   100,   103,   303,   303,   303,
   303,   303,   303,   303,   303,   303,   303,   303,   303,   303,
   303,   303,   303,   303,   303,   284,   104,   284,   284,   284,
   177,   177,   177,   177,   105,   284,   106,   107,   284,   284,
   284,   284,   284,   284,   284,   284,   284,   284,   284,   284,
   284,   284,   284,   284,   284,   284,   290,   108,   290,   290,
   290,   109,   110,   290,   111,   112,   290,   113,   312,   290,
   290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
   290,   290,   290,   290,   290,   290,   290,   131,   131,   131,
   312,   129,   101,   101,   101,   138,   138,   138,   131,   131,
   131,   131,   131,   131,   131,   131,   131,   131,   131,   131,
   131,   131,   255,   129,   255,   255,   255,   131,   114,   255,
   115,   117,   255,   255,   121,   255,   255,   255,   255,   255,
   255,   255,   255,   255,   255,   255,   255,   255,   255,   255,
   255,   255,   255,    66,    66,    66,    37,    37,   122,    37,
    37,    37,    37,    37,    66,    66,    66,    66,    66,    66,
    66,    66,    66,    66,    66,    66,    66,    66,   258,   258,
   258,   258,    66,   126,   137,   139,   141,   144,   146,   148,
   258,   258,   258,   258,   258,   258,   258,   258,   258,   258,
   258,   258,   258,   258,   219,   219,   219,   219,    28,    28,
    28,   150,    28,    28,    28,    28,   219,   219,   219,   219,
   219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
   261,   261,   261,   261,   152,   154,   155,   156,   157,   158,
   162,   165,   261,   261,   261,   261,   261,   261,   261,   261,
   261,   261,   261,   261,   261,   261,   302,   302,   302,   302,
   170,   173,   180,   182,   187,   188,   189,   192,   302,   302,
   302,   302,   302,   302,   302,   302,   302,   302,   302,   302,
   302,   302,   181,   181,   181,   193,   194,   195,   197,   231,
   236,   246,   260,   181,   181,   181,   181,   181,   181,   181,
   181,   181,   181,   181,   181,   181,   181,    10,    10,    10,
   265,   270,   275,   281,   289,   293,   294,   nil,    10,    10,
    10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
    10,    10,   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,   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,    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,   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,    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,   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,    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,   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,    94,    94,    94,   nil,    94,   nil,   nil,   nil,
   nil,   nil,   nil,    94,    94,    94,    94,    94,    94,    94,
    94,    94,    94,    94,    94,    94,    94,    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,    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,    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,    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,    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,    98,    98,    98,   nil,   nil,   nil,   nil,   nil,
    98,   nil,   nil,    98,    98,    98,    98,    98,    98,    98,
    98,    98,    98,    98,    98,    98,    98,   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,    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,    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,   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,   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,   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,   124,   124,   124,
   nil,   124,   nil,   nil,   nil,   nil,   nil,   nil,   124,   124,
   124,   124,   124,   124,   124,   124,   124,   124,   124,   124,
   124,   124,    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,   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,   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,   130,   130,   130,
   nil,   nil,   nil,   nil,   nil,   130,   nil,   nil,   130,   130,
   130,   130,   130,   130,   130,   130,   130,   130,   130,   130,
   130,   130,    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,   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,    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,    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,   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,   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,    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,   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,    99,   nil,     0,   nil,   nil,   nil,   nil,   nil,   nil,
   533,    86,   nil,   nil,   nil,   883,   nil,   nil,   nil,   109,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   422,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   369,   173,   nil,
   173,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   112,
   nil,   nil,   nil,   nil,   nil,   171,   379,   169,   nil,   171,
   nil,   958,   210,   181,   983,  1158,  1008,   858,   783,   658,
   608,  1433,  1333,  1308,  1258,   808,   182,   nil,   202,   230,
   nil,   nil,   207,   708,   758,   209,   833,   241,   908,   nil,
   238,   328,    34,   244,   233,   255,   243,   244,   264,   268,
   269,   285,   272,   274,   325,   327,  1283,   359,    65,   nil,
   583,   362,   381,   nil,  1133,   nil,   403,   nil,   nil,   320,
  1233,   323,   nil,     9,   nil,   205,   nil,   404,   331,   382,
    15,   383,    34,    13,   415,    -5,   404,     1,   417,    12,
   439,   nil,   431,   nil,   463,   452,   465,   466,   462,   nil,
   nil,   nil,   460,   nil,   nil,   438,   nil,   nil,   139,   nil,
   488,    12,    60,   489,   nil,   nil,   933,   267,    40,    11,
   490,   508,   457,   733,  1470,    65,   683,   463,   464,   494,
    66,  1358,   466,   484,   485,   502,  1183,   516,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,  1108,   170,   431,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,    92,  1083,   nil,
    95,   483,   nil,   558,   nil,   121,   483,   nil,  1458,   nil,
   146,    16,  1033,   nil,    -2,   122,   484,   119,   116,    -1,
  1058,    13,   nil,   nil,   nil,   350,   nil,   nil,   405,   nil,
   512,   457,   nil,   nil,   nil,   533,    90,   nil,   nil,  1208,
   508,   nil,   nil,   nil,   nil,   532,    69,   nil,   nil,   nil,
   nil,   506,   nil,   nil,   263,   nil,   nil,   nil,   nil,   534,
   294,   nil,   nil,   535,   536,   nil,   nil,   nil,  1383,   nil,
  1408,   nil,   483,   232,   nil,   nil,   201,   633,     7,   nil,
   nil,   nil,   297,     0,   nil,   nil ]

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

racc_goto_table = [
    10,    72,    59,    10,    91,   195,   129,   132,   133,   283,
   164,   203,    68,   125,   175,   202,   102,   135,    92,    37,
   259,   227,    37,     4,   301,   182,    39,   159,   235,    99,
   304,   119,   271,   245,   274,   270,   118,     2,   140,   271,
   171,   274,   274,   167,   153,    88,   311,   139,    97,   143,
   145,   147,   149,   134,   177,   103,   175,   281,     1,   288,
   161,   256,    99,    95,   231,   202,   313,    40,   183,     3,
   117,   258,   141,   266,   121,   165,   241,   127,   152,   292,
   221,   248,   249,   224,   179,   202,   252,   276,   144,   146,
   148,   150,   151,   255,   154,   155,   156,   157,   286,    99,
   124,   137,   202,    99,    67,    99,   251,    99,   236,    99,
   264,   170,   294,   246,   240,   173,   nil,    91,   264,   247,
   nil,   nil,   172,   180,   nil,   nil,    41,    65,   264,   nil,
   nil,   202,   nil,   nil,   189,   137,   nil,   202,   137,    99,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   197,   nil,   264,
   202,   nil,   nil,   202,   nil,   nil,   nil,   nil,   nil,   264,
   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,
   126,   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,   nil,
   126,   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,    23,    79,    19,    14,    19,    20,
    22,    36,    28,    35,    55,    29,    48,    54,    27,    32,
    45,    71,    32,     4,    21,    76,     4,    14,    71,    49,
    21,    18,    31,    71,    78,    30,    17,     2,    70,    31,
    19,    78,    78,    35,    70,    12,    21,    48,    13,    48,
    48,    48,    48,    27,    54,    13,    55,    81,     1,    45,
    18,    36,    49,    28,    76,    29,    20,    11,    77,     3,
    13,    44,    72,    71,    13,    27,    74,    13,    72,    47,
    14,    74,    74,    14,    48,    29,    22,    71,    13,    13,
    13,    13,    13,    43,    13,    13,    13,    13,    36,    49,
    34,    10,    29,    49,    50,    49,    19,    49,    73,    49,
    80,    13,    79,    73,    33,    13,   nil,    23,    80,    33,
   nil,   nil,    15,    13,   nil,   nil,    16,    16,    80,   nil,
   nil,    29,   nil,   nil,    13,    10,   nil,    29,    10,    49,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,    13,   nil,    80,
    29,   nil,   nil,    29,   nil,   nil,   nil,   nil,   nil,    80,
   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,    32,    32,    19,    16,
    16,    32,    32,    32,   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,   nil,
    16,   nil,   nil,   nil,   nil,   nil,   nil,    16,   nil,   nil,
   nil,   nil,    13,   nil,   nil,    10,   nil,   nil,    16,    32,
    32,   nil,   nil,   nil,   nil,   nil,    32,    32,    32,   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,    69,    23,   nil,   nil,   nil,   nil,   nil,
     0,    57,     5,   -18,   -90,    -9,   116,   -53,   -58,   -90,
  -242,  -260,  -111,   -55,   nil,   nil,   nil,   -47,    -3,  -153,
  -203,  -208,    19,   -73,     6,   -81,  -157,   nil,   nil,   nil,
   nil,   nil,   nil,  -125,  -148,  -199,   nil,  -182,   -57,   -40,
    89,   nil,   nil,   nil,   -84,  -121,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   -67,  -157,   -33,   -78,  -112,   nil,  -117,   -74,  -207,  -153,
  -117,  -193 ]

racc_goto_default = [
   nil,   nil,   nil,   nil,   nil,     5,     6,     7,     8,     9,
    57,   nil,   nil,   nil,   163,   nil,   128,   nil,   nil,   nil,
   nil,   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,
  3, 57, :_reduce_25,
  0, 58, :_reduce_26,
  2, 58, :_reduce_27,
  3, 52, :_reduce_28,
  0, 60, :_reduce_29,
  1, 60, :_reduce_30,
  1, 53, :_reduce_31,
  2, 53, :_reduce_32,
  1, 61, :_reduce_none,
  1, 61, :_reduce_none,
  1, 61, :_reduce_none,
  4, 62, :_reduce_36,
  6, 62, :_reduce_37,
  1, 54, :_reduce_none,
  1, 54, :_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, 67, :_reduce_none,
  1, 67, :_reduce_none,
  1, 67, :_reduce_none,
  1, 66, :_reduce_none,
  1, 66, :_reduce_none,
  1, 66, :_reduce_none,
  1, 66, :_reduce_none,
  1, 66, :_reduce_none,
  1, 66, :_reduce_none,
  1, 68, :_reduce_none,
  1, 68, :_reduce_none,
  1, 68, :_reduce_none,
  1, 68, :_reduce_none,
  1, 68, :_reduce_none,
  3, 69, :_reduce_60,
  1, 71, :_reduce_61,
  2, 71, :_reduce_62,
  0, 65, :_reduce_63,
  2, 65, :_reduce_64,
  3, 65, :_reduce_65,
  1, 72, :_reduce_66,
  2, 72, :_reduce_67,
  3, 73, :_reduce_68,
  1, 59, :_reduce_69,
  1, 59, :_reduce_70,
  1, 59, :_reduce_71,
  1, 59, :_reduce_72,
  1, 59, :_reduce_73,
  1, 59, :_reduce_none,
  1, 59, :_reduce_none,
  1, 59, :_reduce_none,
  1, 59, :_reduce_none,
  0, 74, :_reduce_none,
  1, 74, :_reduce_none,
  1, 74, :_reduce_none,
  1, 74, :_reduce_none,
  1, 75, :_reduce_82,
  2, 79, :_reduce_83,
  2, 77, :_reduce_84,
  3, 77, :_reduce_85,
  1, 81, :_reduce_86,
  2, 81, :_reduce_87,
  2, 80, :_reduce_88,
  3, 80, :_reduce_89,
  1, 82, :_reduce_90,
  2, 82, :_reduce_91,
  3, 83, :_reduce_92,
  2, 78, :_reduce_93,
  3, 78, :_reduce_94,
  1, 84, :_reduce_95,
  2, 84, :_reduce_96,
  3, 85, :_reduce_97,
  1, 76, :_reduce_98,
  0, 51, :_reduce_99,
  1, 51, :_reduce_none,
  1, 86, :_reduce_101,
  2, 86, :_reduce_102,
  3, 87, :_reduce_103,
  3, 63, :_reduce_104,
  5, 64, :_reduce_105,
  3, 64, :_reduce_106,
  6, 47, :_reduce_107,
  0, 88, :_reduce_108,
  1, 88, :_reduce_none,
  1, 44, :_reduce_none,
  1, 44, :_reduce_none,
  1, 44, :_reduce_none,
  5, 89, :_reduce_113,
  1, 92, :_reduce_none,
  2, 92, :_reduce_115,
  3, 93, :_reduce_116,
  1, 90, :_reduce_none,
  1, 90, :_reduce_none,
  1, 90, :_reduce_none,
  1, 90, :_reduce_none,
  1, 90, :_reduce_none,
  1, 90, :_reduce_none,
  1, 45, :_reduce_none,
  1, 45, :_reduce_none,
  6, 100, :_reduce_125,
  3, 100, :_reduce_126,
  1, 101, :_reduce_none,
  1, 101, :_reduce_none,
  1, 101, :_reduce_none,
  1, 101, :_reduce_none,
  1, 101, :_reduce_none,
  1, 101, :_reduce_none,
  4, 102, :_reduce_133,
  7, 103, :_reduce_134,
  8, 103, :_reduce_135,
  5, 103, :_reduce_136,
  4, 103, :_reduce_137,
  7, 104, :_reduce_138,
  4, 104, :_reduce_139,
  6, 105, :_reduce_140,
  4, 105, :_reduce_141,
  7, 106, :_reduce_142,
  4, 106, :_reduce_143,
  7, 107, :_reduce_144,
  4, 107, :_reduce_145,
  1, 113, :_reduce_none,
  0, 70, :_reduce_none,
  1, 70, :_reduce_none,
  4, 94, :_reduce_149,
  8, 95, :_reduce_150,
  0, 110, :_reduce_151,
  1, 110, :_reduce_none,
  3, 108, :_reduce_153,
  2, 108, :_reduce_154,
  2, 108, :_reduce_155,
  1, 114, :_reduce_156,
  3, 114, :_reduce_157,
  1, 115, :_reduce_158,
  2, 115, :_reduce_159,
  6, 116, :_reduce_160,
  1, 112, :_reduce_161,
  2, 112, :_reduce_162,
  0, 117, :_reduce_163,
  3, 117, :_reduce_164,
  6, 118, :_reduce_165,
  0, 109, :_reduce_166,
  1, 109, :_reduce_167,
  2, 109, :_reduce_168,
  7, 96, :_reduce_169,
  1, 111, :_reduce_170,
  3, 111, :_reduce_171,
  6, 97, :_reduce_172,
  7, 98, :_reduce_173,
  7, 99, :_reduce_174,
  7, 91, :_reduce_175,
  1, 119, :_reduce_176,
  3, 119, :_reduce_177 ]

racc_reduce_n = 178

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",
  "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)
     return make_node(:Document, definitions: val[0])
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 7)
  def _reduce_3(val, _values, result)
     return [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)
            return  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)
            return 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)
            return 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)
     return nil 
    result
  end
.,.,

# reduce 17 omitted

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

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

module_eval(<<'.,.,', 'parser.y', 65)
  def _reduce_20(val, _values, result)
     return [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)
            return 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)
     return make_node(:TypeName, name: val[0])
    result
  end
.,.,

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

module_eval(<<'.,.,', 'parser.y', 81)
  def _reduce_25(val, _values, result)
     return make_node(:ListType, of_type: val[1]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 84)
  def _reduce_26(val, _values, result)
     return nil 
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 85)
  def _reduce_27(val, _values, result)
     return val[1] 
    result
  end
.,.,

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

module_eval(<<'.,.,', 'parser.y', 91)
  def _reduce_29(val, _values, result)
     return EMPTY_ARRAY 
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 92)
  def _reduce_30(val, _values, result)
     return val[0] 
    result
  end
.,.,

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

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

# reduce 33 omitted

# reduce 34 omitted

# reduce 35 omitted

module_eval(<<'.,.,', 'parser.y', 105)
  def _reduce_36(val, _values, result)
                return 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', 116)
  def _reduce_37(val, _values, result)
                return 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 38 omitted

# reduce 39 omitted

# reduce 40 omitted

# reduce 41 omitted

# reduce 42 omitted

# reduce 43 omitted

# reduce 44 omitted

# reduce 45 omitted

# reduce 46 omitted

# reduce 47 omitted

# reduce 48 omitted

# reduce 49 omitted

# 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

module_eval(<<'.,.,', 'parser.y', 159)
  def _reduce_60(val, _values, result)
     return 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', 162)
  def _reduce_61(val, _values, result)
     return [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 163)
  def _reduce_62(val, _values, result)
     return val[0] << val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 166)
  def _reduce_63(val, _values, result)
     return EMPTY_ARRAY 
    result
  end
.,.,

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

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

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

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

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

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

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

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

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

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

# reduce 74 omitted

# reduce 75 omitted

# reduce 76 omitted

# reduce 77 omitted

# reduce 78 omitted

# reduce 79 omitted

# reduce 80 omitted

# reduce 81 omitted

module_eval(<<'.,.,', 'parser.y', 193)
  def _reduce_82(val, _values, result)
     return make_node(:NullValue, name: val[0], position_source: val[0]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 194)
  def _reduce_83(val, _values, result)
     return make_node(:VariableIdentifier, name: val[1], position_source: val[0]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 197)
  def _reduce_84(val, _values, result)
     return EMPTY_ARRAY 
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 198)
  def _reduce_85(val, _values, result)
     return val[1] 
    result
  end
.,.,

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

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

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

module_eval(<<'.,.,', 'parser.y', 206)
  def _reduce_89(val, _values, result)
     return make_node(:InputObject, arguments: val[1], position_source: val[0])
    result
  end
.,.,

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

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

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

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

module_eval(<<'.,.,', 'parser.y', 218)
  def _reduce_94(val, _values, result)
     return make_node(:InputObject, arguments: val[1], position_source: val[0])
    result
  end
.,.,

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

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

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

module_eval(<<'.,.,', 'parser.y', 227)
  def _reduce_98(val, _values, result)
     return make_node(:Enum, name: val[0], position_source: val[0]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 230)
  def _reduce_99(val, _values, result)
     return  EMPTY_ARRAY 
    result
  end
.,.,

# reduce 100 omitted

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

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

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

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

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

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

module_eval(<<'.,.,', 'parser.y', 262)
  def _reduce_107(val, _values, result)
          return 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', 273)
  def _reduce_108(val, _values, result)
     return nil 
    result
  end
.,.,

# reduce 109 omitted

# reduce 110 omitted

# reduce 111 omitted

# reduce 112 omitted

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

# reduce 114 omitted

module_eval(<<'.,.,', 'parser.y', 286)
  def _reduce_115(val, _values, result)
     return val[0].merge(val[1]) 
    result
  end
.,.,

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

# reduce 117 omitted

# reduce 118 omitted

# reduce 119 omitted

# reduce 120 omitted

# reduce 121 omitted

# reduce 122 omitted

# reduce 123 omitted

# reduce 124 omitted

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

module_eval(<<'.,.,', 'parser.y', 305)
  def _reduce_126(val, _values, result)
     return make_node(:SchemaExtension, position_source: val[0], directives: val[2]) 
    result
  end
.,.,

# reduce 127 omitted

# reduce 128 omitted

# reduce 129 omitted

# reduce 130 omitted

# reduce 131 omitted

# reduce 132 omitted

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

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

module_eval(<<'.,.,', 'parser.y', 320)
  def _reduce_135(val, _values, result)
     return 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', 321)
  def _reduce_136(val, _values, result)
     return make_node(:ObjectTypeExtension, name: val[2], interfaces: val[3], directives: val[4], fields: [], position_source: val[0]) 
    result
  end
.,.,

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

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

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

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

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

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

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

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

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

# reduce 146 omitted

# reduce 147 omitted

# reduce 148 omitted

module_eval(<<'.,.,', 'parser.y', 348)
  def _reduce_149(val, _values, result)
            return 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', 353)
  def _reduce_150(val, _values, result)
            return 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', 357)
  def _reduce_151(val, _values, result)
     return EMPTY_ARRAY 
    result
  end
.,.,

# reduce 152 omitted

module_eval(<<'.,.,', 'parser.y', 361)
  def _reduce_153(val, _values, result)
     return val[2] 
    result
  end
.,.,

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

module_eval(<<'.,.,', 'parser.y', 363)
  def _reduce_155(val, _values, result)
     return val[1] 
    result
  end
.,.,

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

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

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

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

module_eval(<<'.,.,', 'parser.y', 375)
  def _reduce_160(val, _values, result)
            return 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', 379)
  def _reduce_161(val, _values, result)
     return [val[0]] 
    result
  end
.,.,

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

module_eval(<<'.,.,', 'parser.y', 383)
  def _reduce_163(val, _values, result)
     return EMPTY_ARRAY 
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 384)
  def _reduce_164(val, _values, result)
     return val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 388)
  def _reduce_165(val, _values, result)
            return 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', 392)
  def _reduce_166(val, _values, result)
     return EMPTY_ARRAY 
    result
  end
.,.,

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

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

module_eval(<<'.,.,', 'parser.y', 398)
  def _reduce_169(val, _values, result)
            return 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', 402)
  def _reduce_170(val, _values, result)
     return [make_node(:TypeName, name: val[0], position_source: val[0])]
    result
  end
.,.,

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

module_eval(<<'.,.,', 'parser.y', 407)
  def _reduce_172(val, _values, result)
            return 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', 412)
  def _reduce_173(val, _values, result)
             return 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', 417)
  def _reduce_174(val, _values, result)
            return 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', 422)
  def _reduce_175(val, _values, result)
            return 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', 426)
  def _reduce_176(val, _values, result)
     return [make_node(:DirectiveLocation, name: val[0].to_s, position_source: val[0])] 
    result
  end
.,.,

module_eval(<<'.,.,', 'parser.y', 427)
  def _reduce_177(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