# # DO NOT MODIFY!!!! # This file is automatically generated by Racc 1.4.14 # from Racc grammer file "". # require 'racc/parser.rb' module Steep class Parser < Racc::Parser module_eval(<<'...end parser.y/module_eval...', 'parser.y', 553) require "strscan" attr_reader :input attr_reader :buffer attr_reader :offset def initialize(type, buffer:, offset:, input: nil) super() @type = type @buffer = buffer @input = StringScanner.new(input || buffer.content) @offset = offset end def self.parse_method(input, name: nil) new(:METHOD, buffer: AST::Buffer.new(name: name, content: input), offset: 0).do_parse end def self.parse_signature(input, name: nil) new(:SIGNATURE, buffer: AST::Buffer.new(name: name, content: input), offset: 0).do_parse end def self.parse_annotation_opt(input, buffer:, offset: 0) new(:ANNOTATION, input: input, buffer: buffer, offset: offset).do_parse rescue => exn Steep.logger.debug "Parsing comment failed: #{exn.inspect}" nil end def self.parse_type(input, name: nil) new(:TYPE, buffer: AST::Buffer.new(name: name, content: input), offset: 0).do_parse end class LocatedValue attr_reader :location attr_reader :value def initialize(location:, value:) @location = location @value = value end end def new_token(type, value = nil) start_index = offset + input.pos - input.matched.bytesize end_index = offset + input.pos location = AST::Location.new(buffer: buffer, start_pos: start_index, end_pos: end_index) [type, LocatedValue.new(location: location, value: value)] end def next_token if @type type = @type @type = nil return [:"type_#{type}", nil] end case when input.scan(/\s+/) next_token when input.scan(/#.*/) next_token when input.eos? [false, false] when input.scan(/->/) new_token(:ARROW) when input.scan(/\?/) new_token(:QUESTION) when input.scan(/!/) new_token(:BANG) when input.scan(/\(/) new_token(:LPAREN, nil) when input.scan(/\)/) new_token(:RPAREN, nil) when input.scan(/{/) new_token(:LBRACE, nil) when input.scan(/}/) new_token(:RBRACE, nil) when input.scan(/,/) new_token(:COMMA, nil) when input.scan(/:\w+/) new_token(:SYMBOL, input.matched[1..-1].to_sym) when input.scan(/::/) new_token(:COLON2) when input.scan(/:/) new_token(:COLON) when input.scan(/\*\*/) new_token(:STAR2, :**) when input.scan(/\*/) new_token(:STAR, :*) when input.scan(/\+/) new_token(:PLUS, :+) when input.scan(/\./) new_token(:DOT) when input.scan(/<:/) new_token(:LTCOLON) when input.scan(/(\[\]=)|(\[\])|===|==|\^|!=|<=/) new_token(:OPERATOR, :>=) when input.scan(/=/) new_token(:EQ, :"=") when input.scan(//) new_token(:GT, :>) when input.scan(/nil\b/) new_token(:NIL, :nil) when input.scan(/bool\b/) new_token(:BOOL, :bool) when input.scan(/any\b/) new_token(:ANY, :any) when input.scan(/void\b/) new_token(:VOID, :void) when input.scan(/interface\b/) new_token(:INTERFACE, :interface) when input.scan(/end\b/) new_token(:END, :end) when input.scan(/\|/) new_token(:BAR, :bar) when input.scan(/def\b/) new_token(:DEF) when input.scan(/@type\b/) new_token(:AT_TYPE) when input.scan(/@implements\b/) new_token(:AT_IMPLEMENTS) when input.scan(/@dynamic\b/) new_token(:AT_DYNAMIC) when input.scan(/const\b/) new_token(:CONST, :const) when input.scan(/var\b/) new_token(:VAR, :var) when input.scan(/return\b/) new_token(:RETURN) when input.scan(/block\b/) new_token(:BLOCK, :block) when input.scan(/break\b/) new_token(:BREAK, :break) when input.scan(/method\b/) new_token(:METHOD, :method) when input.scan(/self\?/) new_token(:SELFQ) when input.scan(/self\b/) new_token(:SELF, :self) when input.scan(/'\w+/) new_token(:TVAR, input.matched.gsub(/\A'/, '').to_sym) when input.scan(/attr_reader\b/) new_token(:ATTR_READER, :attr_reader) when input.scan(/attr_accessor\b/) new_token(:ATTR_ACCESSOR, :attr_accessor) when input.scan(/instance\b/) new_token(:INSTANCE, :instance) when input.scan(/class\b/) new_token(:CLASS, :class) when input.scan(/module\b/) new_token(:MODULE, :module) when input.scan(/include\b/) new_token(:INCLUDE, :include) when input.scan(/extend\b/) new_token(:EXTEND, :extend) when input.scan(/instance\b/) new_token(:INSTANCE, :instance) when input.scan(/ivar\b/) new_token(:IVAR, :ivar) when input.scan(/%/) new_token(:PERCENT, :%) when input.scan(/-/) new_token(:MINUS, :-) when input.scan(/&/) new_token(:OPERATOR, :&) when input.scan(/~/) new_token(:OPERATOR, :~) when input.scan(/\//) new_token(:OPERATOR, :/) when input.scan(/extension\b/) new_token(:EXTENSION, :extension) when input.scan(/constructor\b/) new_token(:CONSTRUCTOR, true) when input.scan(/noconstructor\b/) new_token(:NOCONSTRUCTOR, false) when input.scan(/\$\w+\b/) new_token(:GVAR, input.matched.to_sym) when input.scan(/[A-Z]\w*/) new_token(:UIDENT, input.matched.to_sym) when input.scan(/_\w+/) new_token(:INTERFACE_NAME, input.matched.to_sym) when input.scan(/@\w+/) new_token(:IVAR_NAME, input.matched.to_sym) when input.scan(/\d+/) new_token(:INT, input.matched.to_i) when input.scan(/\"[^\"]*\"/) new_token(:STRING, input.matched[1...-1]) when input.scan(/\w+/) new_token(:IDENT, input.matched.to_sym) end end ...end parser.y/module_eval... ##### State transition tables begin ### racc_action_table = [ 87, 196, 86, 331, 25, 24, 90, 91, 97, 194, 102, 103, 104, 27, 98, 316, 112, 28, 29, 25, 24, 123, 317, 96, 319, 113, 114, 92, 93, 95, 109, 106, 123, 319, 99, 100, 323, 94, 324, 179, 325, 105, 115, 116, 332, 88, 89, 124, 108, 101, 107, 110, 111, 87, 326, 86, 233, 234, 124, 90, 91, 97, 327, 102, 103, 104, 313, 98, 330, 112, 314, 2, 3, 4, 5, 333, 96, 334, 113, 114, 92, 93, 95, 109, 106, 178, 180, 99, 100, 335, 94, 239, 144, 9, 105, 115, 116, 9, 88, 89, 340, 108, 101, 107, 110, 111, 87, 341, 86, 191, 192, 343, 90, 91, 97, 275, 102, 103, 104, 345, 98, 346, 112, 273, 274, 276, 277, 278, 9, 96, 9, 113, 114, 92, 93, 95, 109, 106, 25, 24, 99, 100, 6, 94, 25, 24, 9, 105, 115, 116, 53, 88, 89, 58, 108, 101, 107, 110, 111, 87, 65, 86, 25, 24, 66, 90, 91, 97, 68, 102, 103, 104, 120, 98, 25, 112, 121, 25, 24, 25, 24, 73, 96, 122, 113, 114, 92, 93, 95, 109, 106, 25, 24, 99, 100, 128, 94, 130, 123, 157, 105, 115, 116, 158, 88, 89, 9, 108, 101, 107, 110, 111, 87, 9, 86, 9, 9, 25, 90, 91, 97, 275, 102, 103, 104, 167, 98, 167, 112, 273, 274, 276, 277, 278, 169, 96, 170, 113, 114, 92, 93, 95, 109, 106, 171, 173, 99, 100, 174, 94, 175, 176, 9, 105, 115, 116, 181, 88, 89, 182, 108, 101, 107, 110, 111, 87, 183, 86, 184, 188, 189, 90, 91, 97, 275, 102, 103, 104, 190, 98, 193, 112, 273, 274, 276, 277, 278, 197, 96, 198, 113, 114, 92, 93, 95, 109, 106, 199, 200, 99, 100, 201, 94, 202, 207, -80, 105, 115, 116, -81, 88, 89, -82, 108, 101, 107, 110, 111, 87, -83, 86, -87, -79, 58, 90, 91, 97, 275, 102, 103, 104, 211, 98, 213, 112, 273, 274, 276, 277, 278, 215, 96, 216, 113, 114, 92, 93, 95, 109, 106, 217, 218, 99, 100, 222, 94, 225, 230, 238, 105, 115, 116, 258, 88, 89, 260, 108, 101, 107, 110, 111, 87, 211, 86, 283, 9, 123, 90, 91, 97, 289, 102, 103, 104, 120, 98, 290, 112, 121, 291, 293, 294, 296, 298, 96, 303, 113, 114, 92, 93, 95, 109, 106, 304, 305, 99, 100, 306, 94, 9, 315, nil, 105, 115, 116, nil, 88, 89, nil, 108, 101, 107, 110, 111, 87, nil, 86, nil, nil, nil, 90, 91, 97, nil, 102, 103, 104, nil, 98, nil, 112, nil, nil, nil, nil, nil, nil, 96, nil, 113, 114, 92, 93, 95, 109, 106, nil, nil, 99, 100, nil, 94, nil, nil, nil, 105, 115, 116, nil, 88, 89, nil, 108, 101, 107, 110, 111, 87, nil, 86, nil, nil, nil, 90, 91, 97, nil, 102, 103, 104, nil, 98, nil, 112, 81, 80, 78, nil, nil, nil, 96, nil, 113, 114, 92, 93, 95, 109, 106, nil, nil, 99, 100, 77, 94, 82, nil, nil, 105, 115, 116, nil, 88, 89, nil, 108, 101, 107, 110, 111, 48, nil, nil, nil, 83, 75, nil, 74, 76, 79, nil, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, 20, 21, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, 17, 19, 48, 22, 25, 24, nil, nil, 20, 21, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, 17, 19, 48, 22, 25, 24, 239, 144, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, 141, 143, 144, nil, nil, nil, 25, 24, 146, 34, 147, 148, 149, 150, 39, 40, 41, 43, 44, 45, 46, 47, nil, 151, nil, nil, nil, nil, 152, 153, 154, 155, 156, 48, nil, nil, nil, 25, 24, 20, 21, nil, nil, nil, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, 17, 19, 48, 22, 25, 24, nil, nil, 20, 21, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, 17, 19, 48, 22, 25, 24, nil, nil, 20, 21, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, 17, 19, 48, 22, 25, 24, nil, nil, 20, 21, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, 17, 19, 55, 22, 25, 24, nil, nil, 20, 21, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, 17, 19, 48, 22, 25, 24, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 146, 34, 147, 148, 149, 150, 39, 40, 41, 43, 44, 45, 46, 47, nil, 151, nil, nil, nil, nil, 152, 153, 154, 155, 156, 48, nil, nil, nil, 25, 24, nil, nil, nil, nil, nil, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, 239, 144, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, 141, 143, 144, nil, nil, nil, 25, 24, 146, 34, 147, 148, 149, 150, 39, 40, 41, 43, 44, 45, 46, 47, nil, 151, nil, nil, nil, nil, 152, 153, 154, 155, 156, 48, nil, nil, nil, 25, 24, nil, nil, nil, nil, nil, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 25, 24, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, nil, nil, nil, nil, nil, nil, nil, 141, 143, 144, nil, nil, nil, 25, 24, 249, nil, 250, 251, 252, 253, 141, 255, nil, nil, nil, nil, nil, nil, 249, 248, 250, 251, 252, 253, 152, 153, 154, 155, 156, nil, nil, nil, nil, 248, nil, 141, 255, nil, 152, 153, 154, 155, 156, 249, nil, 250, 251, 252, 253, 141, 255, nil, nil, nil, nil, nil, nil, 249, 248, 250, 251, 252, 253, 152, 153, 154, 155, 156, nil, nil, nil, nil, 248, nil, nil, nil, nil, 152, 153, 154, 155, 156, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, nil, 50, 249, nil, 250, 251, 252, 253, nil, nil, nil, nil, nil, nil, nil, 25, 24, 248, nil, nil, nil, nil, 152, 153, 154, 155, 156 ] racc_action_check = [ 183, 130, 183, 319, 22, 22, 183, 183, 183, 130, 183, 183, 183, 4, 183, 299, 183, 4, 4, 21, 21, 186, 300, 183, 301, 183, 183, 183, 183, 183, 183, 183, 42, 302, 183, 183, 310, 183, 312, 85, 313, 183, 183, 183, 319, 183, 183, 186, 183, 183, 183, 183, 183, 297, 314, 297, 191, 191, 42, 297, 297, 297, 315, 297, 297, 297, 297, 297, 318, 297, 297, 0, 0, 0, 0, 320, 297, 321, 297, 297, 297, 297, 297, 297, 297, 85, 85, 297, 297, 322, 297, 291, 291, 323, 297, 297, 297, 324, 297, 297, 328, 297, 297, 297, 297, 297, 211, 329, 211, 128, 128, 332, 211, 211, 211, 212, 211, 211, 211, 338, 211, 339, 211, 212, 212, 212, 212, 212, 345, 211, 346, 211, 211, 211, 211, 211, 211, 211, 275, 275, 211, 211, 1, 211, 276, 276, 2, 211, 211, 211, 6, 211, 211, 9, 211, 211, 211, 211, 211, 29, 17, 29, 213, 213, 18, 29, 29, 29, 19, 29, 29, 29, 29, 29, 24, 29, 29, 28, 28, 20, 20, 25, 29, 32, 29, 29, 29, 29, 29, 29, 29, 79, 79, 29, 29, 49, 29, 54, 56, 57, 29, 29, 29, 58, 29, 29, 67, 29, 29, 29, 29, 29, 325, 69, 325, 70, 71, 73, 325, 325, 325, 305, 325, 325, 325, 74, 325, 75, 325, 305, 305, 305, 305, 305, 76, 325, 77, 325, 325, 325, 325, 325, 325, 325, 78, 80, 325, 325, 81, 325, 82, 83, 84, 325, 325, 325, 91, 325, 325, 118, 325, 325, 325, 325, 325, 184, 120, 184, 121, 125, 126, 184, 184, 184, 214, 184, 184, 184, 127, 184, 129, 184, 214, 214, 214, 214, 214, 131, 184, 132, 184, 184, 184, 184, 184, 184, 184, 134, 136, 184, 184, 138, 184, 139, 145, 146, 184, 184, 184, 147, 184, 184, 148, 184, 184, 184, 184, 184, 278, 149, 278, 150, 151, 158, 278, 278, 278, 264, 278, 278, 278, 161, 278, 162, 278, 264, 264, 264, 264, 264, 163, 278, 164, 278, 278, 278, 278, 278, 278, 278, 166, 168, 278, 278, 172, 278, 175, 185, 195, 278, 278, 278, 205, 278, 278, 209, 278, 278, 278, 278, 278, 182, 210, 182, 216, 218, 237, 182, 182, 182, 240, 182, 182, 182, 182, 182, 241, 182, 182, 243, 262, 263, 273, 274, 182, 280, 182, 182, 182, 182, 182, 182, 182, 281, 283, 182, 182, 288, 182, 293, 298, nil, 182, 182, 182, nil, 182, 182, nil, 182, 182, 182, 182, 182, 277, nil, 277, nil, nil, nil, 277, 277, 277, nil, 277, 277, 277, nil, 277, nil, 277, nil, nil, nil, nil, nil, nil, 277, nil, 277, 277, 277, 277, 277, 277, 277, nil, nil, 277, 277, nil, 277, nil, nil, nil, 277, 277, 277, nil, 277, 277, nil, 277, 277, 277, 277, 277, 326, nil, 326, nil, nil, nil, 326, 326, 326, nil, 326, 326, 326, nil, 326, nil, 326, 27, 27, 27, nil, nil, nil, 326, nil, 326, 326, 326, 326, 326, 326, 326, nil, nil, 326, 326, 27, 326, 27, nil, nil, 326, 326, 326, nil, 326, 326, nil, 326, 326, 326, 326, 326, 169, nil, nil, nil, 27, 27, nil, 27, 27, 27, nil, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, nil, 169, nil, nil, nil, nil, 193, nil, nil, nil, nil, nil, 11, 11, nil, 169, 169, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, nil, 193, nil, nil, 11, 11, 65, 11, 11, 11, nil, nil, 13, 13, nil, 193, 193, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, nil, 65, nil, nil, 13, 13, 196, 13, 13, 13, 196, 196, nil, nil, nil, 65, 65, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, nil, 196, nil, nil, nil, nil, 198, nil, nil, 198, 198, 198, nil, nil, nil, 196, 196, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, nil, 198, nil, nil, nil, nil, 198, 198, 198, 198, 198, 66, nil, nil, nil, 198, 198, 14, 14, nil, nil, nil, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, nil, 66, nil, nil, 14, 14, 207, 14, 14, 14, nil, nil, 15, 15, nil, 66, 66, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, nil, 207, nil, nil, 15, 15, 215, 15, 15, 15, nil, nil, 3, 3, nil, 207, 207, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, nil, 215, nil, nil, 3, 3, 217, 3, 3, 3, nil, nil, 16, 16, nil, 215, 215, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, nil, 217, nil, nil, 16, 16, 8, 16, 16, 16, nil, nil, 12, 12, nil, 217, 217, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, nil, 8, nil, nil, 12, 12, 222, 12, 12, 12, nil, nil, nil, nil, nil, 8, 8, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, nil, 222, nil, nil, nil, nil, 225, nil, nil, nil, nil, nil, nil, nil, nil, 222, 222, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, nil, 225, nil, nil, nil, nil, 238, nil, nil, nil, nil, nil, nil, nil, nil, 225, 225, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, nil, 238, nil, nil, nil, nil, 239, nil, nil, nil, nil, nil, nil, nil, nil, 238, 238, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, nil, 239, nil, nil, nil, nil, 258, nil, nil, nil, nil, nil, nil, nil, nil, 239, 239, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, nil, 258, nil, nil, nil, nil, 141, nil, nil, nil, nil, nil, nil, nil, nil, 258, 258, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, nil, 141, nil, nil, nil, nil, 143, nil, nil, nil, nil, nil, nil, nil, nil, 141, 141, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, nil, 143, nil, nil, nil, nil, 143, 143, 143, 143, 143, 144, nil, nil, nil, 143, 143, nil, nil, nil, nil, nil, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, nil, 144, nil, nil, nil, nil, 290, nil, nil, nil, 290, 290, nil, nil, nil, 144, 144, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, nil, 290, nil, nil, nil, nil, 296, nil, nil, nil, nil, nil, nil, nil, nil, 290, 290, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, nil, 296, nil, nil, nil, nil, 47, nil, nil, nil, nil, nil, nil, nil, nil, 296, 296, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, nil, 47, nil, nil, nil, nil, 48, nil, nil, nil, nil, nil, nil, nil, nil, 47, 47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, nil, 48, nil, nil, nil, nil, 303, nil, nil, nil, nil, nil, nil, nil, nil, 48, 48, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, nil, 303, nil, nil, nil, nil, 55, nil, nil, 55, 55, 55, nil, nil, nil, 303, 303, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, nil, 55, nil, nil, nil, nil, 55, 55, 55, 55, 55, 189, nil, nil, nil, 55, 55, nil, nil, nil, nil, nil, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, nil, 189, nil, nil, nil, nil, 316, nil, nil, nil, nil, nil, nil, nil, nil, 189, 189, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, nil, 316, nil, nil, nil, nil, 317, nil, nil, nil, nil, nil, nil, nil, nil, 316, 316, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, nil, 317, nil, nil, nil, nil, 170, nil, nil, nil, nil, nil, nil, nil, nil, 317, 317, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, nil, 170, nil, nil, nil, nil, 171, nil, nil, nil, nil, nil, nil, nil, nil, 170, 170, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, nil, 171, nil, nil, nil, nil, 122, nil, nil, nil, nil, nil, nil, nil, nil, 171, 171, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, nil, 122, nil, nil, nil, nil, 173, nil, nil, nil, nil, nil, nil, nil, nil, 122, 122, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, nil, 173, nil, nil, nil, nil, 174, nil, nil, nil, nil, nil, nil, nil, nil, 173, 173, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, nil, 174, nil, nil, nil, nil, 176, nil, nil, nil, nil, nil, nil, nil, nil, 174, 174, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, nil, 176, nil, nil, nil, nil, 330, nil, nil, nil, nil, nil, nil, nil, nil, 176, 176, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, nil, 330, nil, nil, nil, nil, 333, nil, nil, nil, nil, nil, nil, nil, nil, 330, 330, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, nil, 333, nil, nil, nil, nil, 5, nil, nil, nil, nil, nil, nil, nil, nil, 333, 333, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, nil, 5, nil, nil, nil, nil, nil, nil, nil, 199, 199, 199, nil, nil, nil, 5, 5, 199, nil, 199, 199, 199, 199, 202, 202, nil, nil, nil, nil, nil, nil, 202, 199, 202, 202, 202, 202, 199, 199, 199, 199, 199, nil, nil, nil, nil, 202, nil, 200, 200, nil, 202, 202, 202, 202, 202, 200, nil, 200, 200, 200, 200, 201, 201, nil, nil, nil, nil, nil, nil, 201, 200, 201, 201, 201, 201, 200, 200, 200, 200, 200, nil, nil, nil, nil, 201, nil, nil, nil, nil, 201, 201, 201, 201, 201, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, nil, 124, 255, nil, 255, 255, 255, 255, nil, nil, nil, nil, nil, nil, nil, 124, 124, 255, nil, nil, nil, nil, 255, 255, 255, 255, 255 ] racc_action_pointer = [ 69, 142, 130, 738, -50, 1623, 150, nil, 807, 134, nil, 547, 800, 578, 676, 707, 769, 147, 151, 135, 132, -28, -43, nil, 127, 133, nil, 473, 130, 149, nil, nil, 167, nil, nil, nil, nil, nil, nil, nil, nil, nil, 21, nil, nil, nil, nil, 1153, 1184, 161, nil, nil, nil, nil, 183, 1246, 187, 182, 194, nil, nil, nil, nil, nil, nil, 585, 683, 190, nil, 197, 199, 200, nil, 170, 187, 189, 221, 223, 231, 144, 232, 235, 201, 238, 236, 28, nil, nil, nil, nil, nil, 239, 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, 250, nil, 232, 234, 1437, nil, 1732, 237, 261, 270, 89, 274, -6, 279, 280, nil, 288, nil, 289, nil, 292, 294, nil, 993, nil, 1024, 1060, 291, 292, 296, 299, 306, 308, 309, nil, nil, nil, nil, nil, nil, 304, nil, nil, 281, 279, 327, 335, nil, 337, nil, 338, 523, 1375, 1406, 341, 1468, 1499, 343, 1530, nil, nil, nil, nil, nil, 361, -10, 255, 340, 10, nil, nil, 1282, nil, 21, nil, 554, nil, 352, 616, nil, 647, 1654, 1693, 1707, 1668, nil, nil, 349, nil, 714, nil, 320, 322, 96, 74, 115, 233, 745, 327, 776, 359, nil, nil, nil, 838, nil, nil, 869, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 365, 900, 931, 372, 377, nil, 380, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1748, nil, nil, 962, nil, nil, nil, 377, 346, 286, nil, nil, nil, nil, nil, nil, nil, nil, 379, 386, 91, 97, 414, 308, nil, 379, 358, nil, 396, nil, nil, nil, nil, 392, nil, 1091, 80, nil, 393, nil, nil, 1122, 43, 375, -1, 6, 17, 26, 1215, nil, 180, nil, nil, nil, nil, -1, nil, 25, 6, 20, 54, 1313, 1344, 55, -5, 62, 60, 44, 77, 81, 202, 467, nil, 83, 90, 1561, nil, 103, 1592, nil, nil, nil, nil, 106, 108, nil, nil, nil, nil, nil, 112, 114, nil, nil ] racc_action_default = [ -200, -200, -137, -88, -200, -200, -200, -1, -7, -200, -2, -88, -88, -88, -88, -88, -88, -200, -200, -200, -200, -200, -200, -104, -200, -106, -3, -200, -200, -200, -4, -44, -65, -46, -47, -48, -49, -50, -51, -52, -53, -54, -62, -56, -57, -58, -59, -200, -200, -63, -64, -71, -72, 349, -31, -24, -9, -200, -139, -89, -90, -91, -92, -93, -94, -200, -200, -137, -103, -137, -137, -137, -105, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -137, -146, -147, -148, -149, -150, -151, -152, -153, -158, -159, -160, -161, -162, -163, -164, -165, -166, -167, -168, -169, -170, -171, -172, -173, -174, -175, -176, -177, -178, -179, -180, -181, -192, -195, -196, -200, -200, -200, -55, -200, -200, -73, -200, -200, -200, -34, -200, -10, -12, -13, -15, -16, -18, -19, -20, -23, -200, -26, -200, -200, -200, -46, -48, -49, -50, -51, -64, -77, -78, -84, -85, -86, -138, -200, -95, -96, -141, -133, -101, -200, -107, -200, -199, -200, -200, -200, -200, -200, -200, -200, -200, -200, -191, -154, -155, -156, -157, -200, -200, -200, -200, -75, -76, -60, -200, -61, -68, -67, -200, -32, -200, -42, -8, -24, -24, -24, -24, -24, -25, -27, -200, -28, -200, -140, -200, -141, -200, -108, -200, -108, -200, -200, -200, -137, -184, -185, -186, -200, -188, -189, -200, -193, -194, -197, -198, -45, -74, -66, -69, -70, -5, -6, -62, -200, -200, -200, -36, -38, -39, -41, -43, -11, -14, -79, -80, -81, -82, -83, -87, -17, -200, -21, -22, -200, -29, -97, -142, -200, -200, -108, -110, -111, -112, -113, -114, -115, -116, -117, -200, -131, -200, -200, -200, -200, -134, -135, -200, -102, -200, -182, -183, -187, -190, -200, -35, -42, -42, -30, -137, -98, -109, -200, -200, -200, -122, -124, -128, -128, -200, -99, -108, -33, -37, -40, -143, -144, -118, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -137, -137, -200, -200, -132, -200, -200, -200, -129, -200, -200, -136, -100, -145, -119, -200, -200, -123, -125, -126, -130, -127, -137, -137, -120, -121 ] racc_goto_table = [ 30, 18, 7, 56, 117, 57, 125, 131, 205, 18, 18, 18, 18, 18, 18, 240, 228, 229, 69, 70, 71, 243, 309, 245, 209, 232, 84, 241, 10, 72, 263, 161, 281, 162, 163, 164, 59, 60, 61, 62, 63, 64, 187, 127, 262, 254, 256, 257, 177, 67, 142, 1, 336, 337, 318, 320, 166, 168, 212, 195, 159, 160, 214, 235, 297, 236, 279, 26, 308, 247, 129, 54, nil, 261, 347, 348, nil, 172, 165, nil, nil, 185, 295, 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, 307, 301, 302, nil, nil, nil, 243, 243, 245, 245, 186, 205, 241, nil, 322, nil, nil, nil, nil, nil, nil, 312, nil, nil, nil, nil, nil, 203, nil, 204, 206, nil, nil, nil, nil, nil, nil, nil, nil, 231, nil, 246, nil, nil, nil, 208, nil, nil, 227, 338, 339, nil, nil, nil, nil, 219, 220, 221, nil, 223, 224, nil, 226, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 237, nil, nil, 142, nil, 142, nil, nil, nil, nil, nil, nil, nil, nil, 259, nil, nil, nil, nil, nil, nil, nil, 282, 280, 284, nil, nil, nil, nil, 286, 285, nil, 287, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 288, 204, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 292, nil, nil, nil, nil, nil, nil, nil, nil, 321, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 299, 300, 328, 329, nil, nil, nil, nil, nil, nil, nil, nil, 142, nil, nil, nil, nil, nil, 311, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 342, nil, nil, 344 ] racc_goto_check = [ 5, 30, 2, 12, 63, 59, 29, 11, 22, 30, 30, 30, 30, 30, 30, 24, 55, 55, 30, 30, 30, 15, 56, 17, 40, 31, 30, 13, 3, 44, 42, 6, 42, 6, 6, 6, 3, 3, 3, 3, 3, 3, 32, 5, 55, 18, 18, 18, 6, 39, 5, 1, 56, 56, 57, 57, 62, 62, 41, 23, 5, 5, 43, 9, 54, 10, 58, 4, 25, 14, 8, 7, nil, 40, 56, 56, nil, 30, 44, nil, nil, 29, 42, 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, 24, 55, 55, nil, nil, nil, 15, 15, 17, 17, 12, 22, 13, nil, 42, nil, nil, nil, nil, nil, nil, 55, nil, nil, nil, nil, nil, 5, nil, 5, 5, nil, nil, nil, nil, nil, nil, nil, nil, 29, nil, 11, nil, nil, nil, 59, nil, nil, 63, 55, 55, nil, nil, nil, nil, 5, 5, 5, nil, 5, 5, nil, 5, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 12, nil, nil, 5, nil, 5, nil, nil, nil, nil, nil, nil, nil, nil, 5, nil, nil, nil, nil, nil, nil, nil, 5, 30, 5, nil, nil, nil, nil, 5, 2, nil, 5, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 5, 5, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 5, nil, nil, nil, nil, nil, nil, nil, nil, 29, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 30, 30, 29, 29, nil, nil, nil, nil, nil, nil, nil, nil, 5, nil, nil, nil, nil, nil, 5, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 5, nil, nil, 5 ] racc_goto_pointer = [ nil, 51, 0, 25, 63, -5, -36, 63, 16, -130, -128, -48, -5, -169, -130, -175, nil, -173, -155, nil, nil, nil, -135, -71, -181, -223, nil, nil, nil, -41, -2, -166, -82, nil, nil, nil, nil, nil, nil, 30, -137, -104, -182, -101, 5, nil, nil, nil, nil, nil, nil, nil, nil, nil, -210, -167, -271, -247, -147, -4, nil, nil, -18, -25, nil ] racc_goto_default = [ nil, nil, 310, nil, nil, 126, 8, nil, nil, nil, 51, nil, 42, 132, 133, 134, 135, 136, 137, 138, 139, 140, 145, nil, nil, 242, 244, 31, 32, nil, 49, nil, 52, 11, 12, 13, 14, 15, 16, nil, nil, nil, nil, nil, 23, 264, 265, 266, 267, 268, 269, 270, 271, 272, nil, 119, nil, nil, nil, nil, 210, 85, nil, nil, 118 ] racc_reduce_table = [ 0, 0, :racc_error, 2, 70, :_reduce_1, 2, 70, :_reduce_2, 2, 70, :_reduce_3, 2, 70, :_reduce_4, 5, 71, :_reduce_5, 1, 78, :_reduce_none, 0, 76, :_reduce_7, 3, 76, :_reduce_8, 1, 76, :_reduce_9, 1, 80, :_reduce_10, 3, 80, :_reduce_11, 1, 80, :_reduce_12, 1, 83, :_reduce_13, 3, 83, :_reduce_14, 1, 83, :_reduce_15, 1, 85, :_reduce_16, 3, 85, :_reduce_17, 1, 85, :_reduce_18, 1, 87, :_reduce_19, 1, 87, :_reduce_20, 3, 87, :_reduce_21, 3, 87, :_reduce_22, 1, 87, :_reduce_23, 0, 90, :_reduce_24, 2, 90, :_reduce_25, 1, 82, :_reduce_26, 2, 84, :_reduce_27, 2, 86, :_reduce_28, 3, 88, :_reduce_29, 4, 89, :_reduce_30, 0, 77, :_reduce_31, 2, 77, :_reduce_32, 5, 77, :_reduce_33, 0, 92, :_reduce_34, 3, 92, :_reduce_35, 1, 93, :_reduce_36, 3, 93, :_reduce_37, 1, 93, :_reduce_38, 1, 94, :_reduce_39, 3, 94, :_reduce_40, 1, 94, :_reduce_41, 0, 95, :_reduce_42, 1, 95, :_reduce_43, 1, 81, :_reduce_44, 4, 81, :_reduce_45, 1, 81, :_reduce_46, 1, 81, :_reduce_47, 1, 81, :_reduce_48, 1, 81, :_reduce_49, 1, 81, :_reduce_50, 1, 81, :_reduce_51, 1, 81, :_reduce_52, 1, 81, :_reduce_53, 1, 81, :_reduce_54, 2, 81, :_reduce_55, 1, 81, :_reduce_56, 1, 81, :_reduce_57, 1, 81, :_reduce_58, 1, 81, :_reduce_59, 3, 81, :_reduce_60, 3, 79, :_reduce_61, 1, 79, :_reduce_none, 1, 97, :_reduce_63, 1, 97, :_reduce_64, 1, 96, :_reduce_none, 4, 96, :_reduce_66, 3, 96, :_reduce_67, 0, 100, :_reduce_68, 1, 100, :_reduce_none, 1, 100, :_reduce_none, 1, 74, :_reduce_none, 1, 74, :_reduce_72, 1, 98, :_reduce_73, 3, 98, :_reduce_74, 3, 101, :_reduce_75, 3, 101, :_reduce_76, 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, 91, :_reduce_none, 1, 91, :_reduce_none, 1, 91, :_reduce_none, 1, 91, :_reduce_none, 1, 91, :_reduce_none, 0, 72, :_reduce_88, 2, 72, :_reduce_89, 2, 72, :_reduce_90, 2, 72, :_reduce_91, 2, 72, :_reduce_92, 2, 72, :_reduce_93, 2, 72, :_reduce_94, 3, 107, :_reduce_95, 3, 106, :_reduce_96, 5, 102, :_reduce_97, 6, 103, :_reduce_98, 6, 104, :_reduce_99, 8, 105, :_reduce_100, 0, 112, :_reduce_101, 2, 112, :_reduce_102, 1, 108, :_reduce_none, 1, 99, :_reduce_none, 2, 99, :_reduce_105, 1, 113, :_reduce_106, 3, 113, :_reduce_107, 0, 111, :_reduce_108, 2, 111, :_reduce_109, 1, 114, :_reduce_none, 1, 114, :_reduce_none, 1, 114, :_reduce_none, 1, 114, :_reduce_none, 1, 114, :_reduce_none, 1, 114, :_reduce_none, 1, 114, :_reduce_none, 1, 114, :_reduce_none, 3, 120, :_reduce_118, 5, 115, :_reduce_119, 7, 116, :_reduce_120, 7, 117, :_reduce_121, 2, 118, :_reduce_122, 5, 118, :_reduce_123, 2, 119, :_reduce_124, 5, 119, :_reduce_125, 5, 121, :_reduce_126, 5, 122, :_reduce_127, 0, 126, :_reduce_128, 2, 126, :_reduce_129, 3, 126, :_reduce_130, 0, 123, :_reduce_131, 3, 123, :_reduce_132, 0, 110, :_reduce_133, 2, 110, :_reduce_134, 1, 127, :_reduce_135, 4, 127, :_reduce_136, 0, 75, :_reduce_137, 3, 75, :_reduce_138, 1, 128, :_reduce_139, 3, 128, :_reduce_140, 0, 109, :_reduce_141, 2, 109, :_reduce_142, 4, 129, :_reduce_143, 1, 125, :_reduce_144, 3, 125, :_reduce_145, 1, 124, :_reduce_none, 1, 124, :_reduce_none, 1, 124, :_reduce_none, 1, 124, :_reduce_none, 1, 124, :_reduce_none, 1, 124, :_reduce_none, 1, 124, :_reduce_none, 1, 124, :_reduce_153, 2, 124, :_reduce_154, 2, 124, :_reduce_155, 2, 124, :_reduce_156, 2, 124, :_reduce_157, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 1, 130, :_reduce_178, 1, 130, :_reduce_179, 1, 130, :_reduce_none, 1, 130, :_reduce_none, 5, 73, :_reduce_182, 5, 73, :_reduce_183, 4, 73, :_reduce_184, 4, 73, :_reduce_185, 4, 73, :_reduce_186, 5, 73, :_reduce_187, 4, 73, :_reduce_188, 4, 73, :_reduce_189, 5, 73, :_reduce_190, 3, 73, :_reduce_191, 2, 73, :_reduce_192, 4, 73, :_reduce_193, 3, 132, :_reduce_194, 1, 132, :_reduce_195, 1, 133, :_reduce_196, 3, 133, :_reduce_197, 3, 133, :_reduce_198, 1, 131, :_reduce_199 ] racc_reduce_n = 200 racc_shift_n = 349 racc_token_table = { false => 0, :error => 1, :type_METHOD => 2, :type_SIGNATURE => 3, :type_ANNOTATION => 4, :type_TYPE => 5, :ARROW => 6, :LPAREN => 7, :RPAREN => 8, :COMMA => 9, :STAR2 => 10, :QUESTION => 11, :STAR => 12, :COLON => 13, :LBRACE => 14, :RBRACE => 15, :LT => 16, :GT => 17, :ANY => 18, :TVAR => 19, :CLASS => 20, :MODULE => 21, :INSTANCE => 22, :SELF => 23, :VOID => 24, :NIL => 25, :BOOL => 26, :SELFQ => 27, :INT => 28, :STRING => 29, :SYMBOL => 30, :LBRACKET => 31, :RBRACKET => 32, :INTERFACE_NAME => 33, :DOT => 34, :CONSTRUCTOR => 35, :NOCONSTRUCTOR => 36, :BAR => 37, :IDENT => 38, :MODULE_NAME => 39, :BLOCK => 40, :INCLUDE => 41, :IVAR => 42, :GVAR => 43, :INTERFACE => 44, :END => 45, :EXTENSION => 46, :UIDENT => 47, :COLON2 => 48, :IVAR_NAME => 49, :DEF => 50, :EXTEND => 51, :ATTR_READER => 52, :ATTR_ACCESSOR => 53, :LTCOLON => 54, :PERCENT => 55, :MINUS => 56, :EQ => 57, :BANG => 58, :PLUS => 59, :OPERATOR => 60, :BREAK => 61, :METHOD => 62, :AT_TYPE => 63, :VAR => 64, :RETURN => 65, :CONST => 66, :AT_IMPLEMENTS => 67, :AT_DYNAMIC => 68 } racc_nt_base = 69 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", "type_METHOD", "type_SIGNATURE", "type_ANNOTATION", "type_TYPE", "ARROW", "LPAREN", "RPAREN", "COMMA", "STAR2", "QUESTION", "STAR", "COLON", "LBRACE", "RBRACE", "LT", "GT", "ANY", "TVAR", "CLASS", "MODULE", "INSTANCE", "SELF", "VOID", "NIL", "BOOL", "SELFQ", "INT", "STRING", "SYMBOL", "LBRACKET", "RBRACKET", "INTERFACE_NAME", "DOT", "CONSTRUCTOR", "NOCONSTRUCTOR", "BAR", "IDENT", "MODULE_NAME", "BLOCK", "INCLUDE", "IVAR", "GVAR", "INTERFACE", "END", "EXTENSION", "UIDENT", "COLON2", "IVAR_NAME", "DEF", "EXTEND", "ATTR_READER", "ATTR_ACCESSOR", "LTCOLON", "PERCENT", "MINUS", "EQ", "BANG", "PLUS", "OPERATOR", "BREAK", "METHOD", "AT_TYPE", "VAR", "RETURN", "CONST", "AT_IMPLEMENTS", "AT_DYNAMIC", "$start", "target", "method_type", "signatures", "annotation", "type", "type_params", "params", "block_opt", "return_type", "paren_type", "params0", "simple_type", "required_param", "params1", "optional_param", "params2", "rest_param", "params3", "required_keyword", "optional_keyword", "params4", "keyword", "block_params", "block_params0", "block_params1", "block_params2", "type_name", "instance_type_name", "type_seq", "module_name", "constructor", "union_seq", "interface", "class_decl", "module_decl", "extension_decl", "const_decl", "gvar_decl", "interface_name", "interface_members", "super_opt", "class_members", "self_type_opt", "module_name0", "class_member", "instance_method_member", "module_method_member", "module_instance_method_member", "include_member", "extend_member", "ivar_member", "attr_reader_member", "attr_accessor_member", "constructor_method", "method_name", "method_type_union", "attr_ivar_opt", "super_class", "type_param_seq", "interface_method", "method_name0", "subject", "dynamic_names", "dynamic_name" ] Racc_debug_parser = false ##### State transition tables end ##### # reduce 0 omitted module_eval(<<'.,.,', 'parser.y', 6) def _reduce_1(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 7) def _reduce_2(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 8) def _reduce_3(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 9) def _reduce_4(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 13) def _reduce_5(val, _values, result) result = AST::MethodType.new(location: AST::Location.concat(*val.compact.map(&:location)), type_params: val[0], params: val[1]&.value, block: val[2], return_type: val[4]) result end .,., # reduce 6 omitted module_eval(<<'.,.,', 'parser.y', 22) def _reduce_7(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'parser.y', 23) def _reduce_8(val, _values, result) result = LocatedValue.new(location: val[0].location + val[2].location, value: val[1]) result end .,., module_eval(<<'.,.,', 'parser.y', 25) def _reduce_9(val, _values, result) result = LocatedValue.new(location: val[0].location, value: AST::MethodType::Params::Required.new(location: val[0].location, type: val[0])) result end .,., module_eval(<<'.,.,', 'parser.y', 28) def _reduce_10(val, _values, result) result = AST::MethodType::Params::Required.new(location: val[0].location, type: val[0]) result end .,., module_eval(<<'.,.,', 'parser.y', 30) def _reduce_11(val, _values, result) location = val[0].location result = AST::MethodType::Params::Required.new(location: location, type: val[0], next_params: val[2]) result end .,., module_eval(<<'.,.,', 'parser.y', 35) def _reduce_12(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'parser.y', 37) def _reduce_13(val, _values, result) result = AST::MethodType::Params::Optional.new(location: val[0].first, type: val[0].last) result end .,., module_eval(<<'.,.,', 'parser.y', 39) def _reduce_14(val, _values, result) location = val[0].first result = AST::MethodType::Params::Optional.new(type: val[0].last, location: location, next_params: val[2]) result end .,., module_eval(<<'.,.,', 'parser.y', 42) def _reduce_15(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'parser.y', 44) def _reduce_16(val, _values, result) result = AST::MethodType::Params::Rest.new(location: val[0].first, type: val[0].last) result end .,., module_eval(<<'.,.,', 'parser.y', 46) def _reduce_17(val, _values, result) loc = val[0].first result = AST::MethodType::Params::Rest.new(location: loc, type: val[0].last, next_params: val[2]) result end .,., module_eval(<<'.,.,', 'parser.y', 49) def _reduce_18(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'parser.y', 52) def _reduce_19(val, _values, result) location, name, type = val[0] result = AST::MethodType::Params::RequiredKeyword.new(location: location, name: name, type: type) result end .,., module_eval(<<'.,.,', 'parser.y', 56) def _reduce_20(val, _values, result) location, name, type = val[0] result = AST::MethodType::Params::OptionalKeyword.new(location: location, name: name, type: type) result end .,., module_eval(<<'.,.,', 'parser.y', 60) def _reduce_21(val, _values, result) location, name, type = val[0] result = AST::MethodType::Params::RequiredKeyword.new(location: location, name: name, type: type, next_params: val[2]) result end .,., module_eval(<<'.,.,', 'parser.y', 67) def _reduce_22(val, _values, result) location, name, type = val[0] result = AST::MethodType::Params::OptionalKeyword.new(location: location, name: name, type: type, next_params: val[2]) result end .,., module_eval(<<'.,.,', 'parser.y', 73) def _reduce_23(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'parser.y', 75) def _reduce_24(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'parser.y', 77) def _reduce_25(val, _values, result) result = AST::MethodType::Params::RestKeyword.new(location: val[0].location + val[1].location, type: val[1]) result end .,., module_eval(<<'.,.,', 'parser.y', 81) def _reduce_26(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'parser.y', 82) def _reduce_27(val, _values, result) result = [val[0].location + val[1].location, val[1]] result end .,., module_eval(<<'.,.,', 'parser.y', 84) def _reduce_28(val, _values, result) result = [val[0].location + val[1].location, val[1]] result end .,., module_eval(<<'.,.,', 'parser.y', 86) def _reduce_29(val, _values, result) result = [val[0].location + val[2].location, val[0].value, val[2]] result end .,., module_eval(<<'.,.,', 'parser.y', 89) def _reduce_30(val, _values, result) result = [val[0].location + val[3].location, val[1].value, val[3]] result end .,., module_eval(<<'.,.,', 'parser.y', 93) def _reduce_31(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'parser.y', 95) def _reduce_32(val, _values, result) result = AST::MethodType::Block.new(params: nil, return_type: nil, location: val[0].location + val[1].location) result end .,., module_eval(<<'.,.,', 'parser.y', 100) def _reduce_33(val, _values, result) result = AST::MethodType::Block.new(params: val[1], return_type: val[3], location: val[0].location + val[4].location) result end .,., module_eval(<<'.,.,', 'parser.y', 105) def _reduce_34(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'parser.y', 107) def _reduce_35(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 111) def _reduce_36(val, _values, result) result = AST::MethodType::Params::Required.new(location: val[0].location, type: val[0]) result end .,., module_eval(<<'.,.,', 'parser.y', 115) def _reduce_37(val, _values, result) result = AST::MethodType::Params::Required.new(location: val[0].location, type: val[0], next_params: val[2]) result end .,., module_eval(<<'.,.,', 'parser.y', 119) def _reduce_38(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'parser.y', 122) def _reduce_39(val, _values, result) result = AST::MethodType::Params::Optional.new(location: val[0].first, type: val[0].last) result end .,., module_eval(<<'.,.,', 'parser.y', 126) def _reduce_40(val, _values, result) loc = val.first[0] + (val[2] || val[1]).location type = val.first[1] next_params = val[2] result = AST::MethodType::Params::Optional.new(location: loc, type: type, next_params: next_params) result end .,., module_eval(<<'.,.,', 'parser.y', 131) def _reduce_41(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'parser.y', 133) def _reduce_42(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'parser.y', 135) def _reduce_43(val, _values, result) result = AST::MethodType::Params::Rest.new(location: val[0].first, type: val[0].last) result end .,., module_eval(<<'.,.,', 'parser.y', 139) def _reduce_44(val, _values, result) result = AST::Types::Name.new(name: val[0].value, location: val[0].location, args: []) result end .,., module_eval(<<'.,.,', 'parser.y', 142) def _reduce_45(val, _values, result) loc = val[0].location + val[3].location name = val[0].value args = val[2] result = AST::Types::Name.new(location: loc, name: name, args: args) result end .,., module_eval(<<'.,.,', 'parser.y', 147) def _reduce_46(val, _values, result) result = AST::Types::Any.new(location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 148) def _reduce_47(val, _values, result) result = AST::Types::Var.new(location: val[0].location, name: val[0].value) result end .,., module_eval(<<'.,.,', 'parser.y', 149) def _reduce_48(val, _values, result) result = AST::Types::Class.new(location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 150) def _reduce_49(val, _values, result) result = AST::Types::Class.new(location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 151) def _reduce_50(val, _values, result) result = AST::Types::Instance.new(location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 152) def _reduce_51(val, _values, result) result = AST::Types::Self.new(location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 153) def _reduce_52(val, _values, result) result = AST::Types::Void.new(location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 154) def _reduce_53(val, _values, result) result = AST::Types::Nil.new(location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 155) def _reduce_54(val, _values, result) result = AST::Types::Boolean.new(location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 157) def _reduce_55(val, _values, result) type = val[0] nil_type = AST::Types::Nil.new(location: val[1].location) result = AST::Types::Union.build(types: [type, nil_type], location: val[0].location + val[1].location) result end .,., module_eval(<<'.,.,', 'parser.y', 162) def _reduce_56(val, _values, result) type = AST::Types::Self.new(location: val[0].location) nil_type = AST::Types::Nil.new(location: val[0].location) result = AST::Types::Union.build(types: [type, nil_type], location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 166) def _reduce_57(val, _values, result) result = AST::Types::Literal.new(value: val[0].value, location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 167) def _reduce_58(val, _values, result) result = AST::Types::Literal.new(value: val[0].value, location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 168) def _reduce_59(val, _values, result) result = AST::Types::Literal.new(value: val[0].value, location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 170) def _reduce_60(val, _values, result) loc = val[0].location + val[2].location result = AST::Types::Tuple.new(types: val[1], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 174) def _reduce_61(val, _values, result) result = val[1].with_location(val[0].location + val[2].location) result end .,., # reduce 62 omitted module_eval(<<'.,.,', 'parser.y', 178) def _reduce_63(val, _values, result) result = LocatedValue.new(value: TypeName::Instance.new(name: val[0].value), location: val[0].location) result end .,., module_eval(<<'.,.,', 'parser.y', 182) def _reduce_64(val, _values, result) result = LocatedValue.new(value: TypeName::Interface.new(name: val[0].value), location: val[0].location) result end .,., # reduce 65 omitted module_eval(<<'.,.,', 'parser.y', 188) def _reduce_66(val, _values, result) loc = val[0].location + (val[3] || val[2]).location result = LocatedValue.new(value: TypeName::Class.new(name: val[0].value, constructor: val[3]&.value), location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 193) def _reduce_67(val, _values, result) loc = val[0].location + val.last.location result = LocatedValue.new(value: TypeName::Module.new(name: val[0].value), location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 198) def _reduce_68(val, _values, result) result = nil result end .,., # reduce 69 omitted # reduce 70 omitted # reduce 71 omitted module_eval(<<'.,.,', 'parser.y', 204) def _reduce_72(val, _values, result) loc = val[0].first.location + val[0].last.location result = AST::Types::Union.build(types: val[0], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 208) def _reduce_73(val, _values, result) result = [val[0]] result end .,., module_eval(<<'.,.,', 'parser.y', 209) def _reduce_74(val, _values, result) result = [val[0]] + val[2] result end .,., module_eval(<<'.,.,', 'parser.y', 211) def _reduce_75(val, _values, result) result = [val[0], val[2]] result end .,., module_eval(<<'.,.,', 'parser.y', 212) def _reduce_76(val, _values, result) result = [val[0]] + val[2] result end .,., # reduce 77 omitted # reduce 78 omitted # reduce 79 omitted # reduce 80 omitted # reduce 81 omitted # reduce 82 omitted # reduce 83 omitted # reduce 84 omitted # reduce 85 omitted # reduce 86 omitted # reduce 87 omitted module_eval(<<'.,.,', 'parser.y', 226) def _reduce_88(val, _values, result) result = [] result end .,., module_eval(<<'.,.,', 'parser.y', 227) def _reduce_89(val, _values, result) result = [val[0]] + val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 228) def _reduce_90(val, _values, result) result = [val[0]] + val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 229) def _reduce_91(val, _values, result) result = [val[0]] + val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 230) def _reduce_92(val, _values, result) result = [val[0]] + val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 231) def _reduce_93(val, _values, result) result = [val[0]] + val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 232) def _reduce_94(val, _values, result) result = [val[0]] + val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 235) def _reduce_95(val, _values, result) loc = val.first.location + val.last.location result = AST::Signature::Gvar.new( location: loc, name: val[0].value, type: val[2] ) result end .,., module_eval(<<'.,.,', 'parser.y', 244) def _reduce_96(val, _values, result) loc = val.first.location + val.last.location result = AST::Signature::Const.new( location: loc, name: val[0].value, type: val[2] ) result end .,., module_eval(<<'.,.,', 'parser.y', 253) def _reduce_97(val, _values, result) loc = val.first.location + val.last.location result = AST::Signature::Interface.new( location: loc, name: val[1].value, params: val[2], methods: val[3] ) result end .,., module_eval(<<'.,.,', 'parser.y', 263) def _reduce_98(val, _values, result) loc = val.first.location + val.last.location result = AST::Signature::Class.new(name: val[1].value.absolute!, params: val[2], super_class: val[3], members: val[4], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 271) def _reduce_99(val, _values, result) loc = val.first.location + val.last.location result = AST::Signature::Module.new(name: val[1].value.absolute!, location: loc, params: val[2], self_type: val[3], members: val[4]) result end .,., module_eval(<<'.,.,', 'parser.y', 279) def _reduce_100(val, _values, result) loc = val.first.location + val.last.location result = AST::Signature::Extension.new(module_name: val[1].value.absolute!, name: val[4].value, location: loc, params: val[2], members: val[6]) result end .,., module_eval(<<'.,.,', 'parser.y', 287) def _reduce_101(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'parser.y', 288) def _reduce_102(val, _values, result) result = val[1] result end .,., # reduce 103 omitted # reduce 104 omitted module_eval(<<'.,.,', 'parser.y', 294) def _reduce_105(val, _values, result) loc = val.first.location + val.last.location result = LocatedValue.new(location: loc, value: val[1].value.absolute!) result end .,., module_eval(<<'.,.,', 'parser.y', 299) def _reduce_106(val, _values, result) result = LocatedValue.new(location: val[0].location, value: ModuleName.parse(val[0].value)) result end .,., module_eval(<<'.,.,', 'parser.y', 302) def _reduce_107(val, _values, result) location = val[0].location + val.last.location name = ModuleName.parse(val[0].value) + val.last.value result = LocatedValue.new(location: location, value: name) result end .,., module_eval(<<'.,.,', 'parser.y', 307) def _reduce_108(val, _values, result) result = [] result end .,., module_eval(<<'.,.,', 'parser.y', 308) def _reduce_109(val, _values, result) result = [val[0]] + val[1] result end .,., # reduce 110 omitted # reduce 111 omitted # reduce 112 omitted # reduce 113 omitted # reduce 114 omitted # reduce 115 omitted # reduce 116 omitted # reduce 117 omitted module_eval(<<'.,.,', 'parser.y', 320) def _reduce_118(val, _values, result) loc = val.first.location + val.last.location result = AST::Signature::Members::Ivar.new( location: loc, name: val[0].value, type: val[2] ) result end .,., module_eval(<<'.,.,', 'parser.y', 329) def _reduce_119(val, _values, result) loc = val.first.location + val.last.last.location result = AST::Signature::Members::Method.new( name: val[2].value, types: val[4], kind: :instance, location: loc, attributes: [val[1] ? :constructor : nil].compact ) result end .,., module_eval(<<'.,.,', 'parser.y', 339) def _reduce_120(val, _values, result) loc = val.first.location + val.last.last.location result = AST::Signature::Members::Method.new( name: val[4].value, types: val[6], kind: :module, location: loc, attributes: [val[1] ? :constructor : nil].compact ) result end .,., module_eval(<<'.,.,', 'parser.y', 349) def _reduce_121(val, _values, result) loc = val.first.location + val.last.last.location result = AST::Signature::Members::Method.new( name: val[4].value, types: val[6], kind: :module_instance, location: loc, attributes: [val[1] ? :constructor : nil].compact ) result end .,., module_eval(<<'.,.,', 'parser.y', 359) def _reduce_122(val, _values, result) loc = val.first.location + val.last.location name = val[1].value result = AST::Signature::Members::Include.new(name: name, location: loc, args: []) result end .,., module_eval(<<'.,.,', 'parser.y', 364) def _reduce_123(val, _values, result) loc = val.first.location + val.last.location name = val[1].value result = AST::Signature::Members::Include.new(name: name, location: loc, args: val[3]) result end .,., module_eval(<<'.,.,', 'parser.y', 369) def _reduce_124(val, _values, result) loc = val.first.location + val.last.location name = val[1].value result = AST::Signature::Members::Extend.new(name: name, location: loc, args: []) result end .,., module_eval(<<'.,.,', 'parser.y', 374) def _reduce_125(val, _values, result) loc = val.first.location + val.last.location name = val[1].value result = AST::Signature::Members::Extend.new(name: name, location: loc, args: val[3]) result end .,., module_eval(<<'.,.,', 'parser.y', 379) def _reduce_126(val, _values, result) loc = val.first.location + val.last.location result = AST::Signature::Members::Attr.new(location: loc, name: val[1].value, kind: :reader, ivar: val[2], type: val[4]) result end .,., module_eval(<<'.,.,', 'parser.y', 383) def _reduce_127(val, _values, result) loc = val.first.location + val.last.location result = AST::Signature::Members::Attr.new(location: loc, name: val[1].value, kind: :accessor, ivar: val[2], type: val[4]) result end .,., module_eval(<<'.,.,', 'parser.y', 387) def _reduce_128(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'parser.y', 388) def _reduce_129(val, _values, result) result = false result end .,., module_eval(<<'.,.,', 'parser.y', 389) def _reduce_130(val, _values, result) result = val[1].value result end .,., module_eval(<<'.,.,', 'parser.y', 391) def _reduce_131(val, _values, result) result = false result end .,., module_eval(<<'.,.,', 'parser.y', 392) def _reduce_132(val, _values, result) result = true result end .,., module_eval(<<'.,.,', 'parser.y', 394) def _reduce_133(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'parser.y', 395) def _reduce_134(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'parser.y', 398) def _reduce_135(val, _values, result) result = AST::Signature::SuperClass.new(location: val[0].location, name: val[0].value, args: []) result end .,., module_eval(<<'.,.,', 'parser.y', 401) def _reduce_136(val, _values, result) loc = val[0].location + val[3].location name = val[0].value result = AST::Signature::SuperClass.new(location: loc, name: name, args: val[2]) result end .,., module_eval(<<'.,.,', 'parser.y', 406) def _reduce_137(val, _values, result) result = nil result end .,., module_eval(<<'.,.,', 'parser.y', 408) def _reduce_138(val, _values, result) location = val[0].location + val[2].location result = AST::TypeParams.new(location: location, variables: val[1]) result end .,., module_eval(<<'.,.,', 'parser.y', 412) def _reduce_139(val, _values, result) result = [val[0].value] result end .,., module_eval(<<'.,.,', 'parser.y', 413) def _reduce_140(val, _values, result) result = [val[0].value] + val[2] result end .,., module_eval(<<'.,.,', 'parser.y', 415) def _reduce_141(val, _values, result) result = [] result end .,., module_eval(<<'.,.,', 'parser.y', 416) def _reduce_142(val, _values, result) result = val[1].unshift(val[0]) result end .,., module_eval(<<'.,.,', 'parser.y', 419) def _reduce_143(val, _values, result) loc = val[0].location + val[3].last.location result = AST::Signature::Interface::Method.new(location: loc, name: val[1].value, types: val[3]) result end .,., module_eval(<<'.,.,', 'parser.y', 423) def _reduce_144(val, _values, result) result = [val[0]] result end .,., module_eval(<<'.,.,', 'parser.y', 424) def _reduce_145(val, _values, result) result = [val[0]] + val[2] result end .,., # reduce 146 omitted # reduce 147 omitted # reduce 148 omitted # reduce 149 omitted # reduce 150 omitted # reduce 151 omitted # reduce 152 omitted module_eval(<<'.,.,', 'parser.y', 430) def _reduce_153(val, _values, result) result = LocatedValue.new(location: val[0].location, value: :|) result end .,., module_eval(<<'.,.,', 'parser.y', 432) def _reduce_154(val, _values, result) raise ParseError, "\nunexpected method name #{val[0].to_s} =" unless val[0].location.pred?(val[1].location) result = LocatedValue.new(location: val[0].location + val[1].location, value: :"#{val[0].value}=") result end .,., module_eval(<<'.,.,', 'parser.y', 437) def _reduce_155(val, _values, result) raise ParseError, "\nunexpected method name #{val[0].to_s} ?" unless val[0].location.pred?(val[1].location) result = LocatedValue.new(location: val[0].location + val[1].location, value: :"#{val[0].value}?") result end .,., module_eval(<<'.,.,', 'parser.y', 442) def _reduce_156(val, _values, result) raise ParseError, "\nunexpected method name #{val[0].to_s} !" unless val[0].location.pred?(val[1].location) result = LocatedValue.new(location: val[0].location + val[1].location, value: :"#{val[0].value}!") result end .,., module_eval(<<'.,.,', 'parser.y', 447) def _reduce_157(val, _values, result) raise ParseError, "\nunexpected method name > >" unless val[0].location.pred?(val[1].location) result = LocatedValue.new(location: val[0].location + val[1].location, value: :>>) result end .,., # reduce 158 omitted # reduce 159 omitted # reduce 160 omitted # reduce 161 omitted # reduce 162 omitted # reduce 163 omitted # reduce 164 omitted # reduce 165 omitted # reduce 166 omitted # reduce 167 omitted # reduce 168 omitted # reduce 169 omitted # reduce 170 omitted # reduce 171 omitted # reduce 172 omitted # reduce 173 omitted # reduce 174 omitted # reduce 175 omitted # reduce 176 omitted # reduce 177 omitted module_eval(<<'.,.,', 'parser.y', 470) def _reduce_178(val, _values, result) result = LocatedValue.new(location: val[0].location, value: :constructor) result end .,., module_eval(<<'.,.,', 'parser.y', 471) def _reduce_179(val, _values, result) result = LocatedValue.new(location: val[0].location, value: :noconstructor) result end .,., # reduce 180 omitted # reduce 181 omitted module_eval(<<'.,.,', 'parser.y', 476) def _reduce_182(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::VarType.new(location: loc, name: val[2].value, type: val[4]) result end .,., module_eval(<<'.,.,', 'parser.y', 482) def _reduce_183(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::MethodType.new(location: loc, name: val[2].value, type: val[4]) result end .,., module_eval(<<'.,.,', 'parser.y', 488) def _reduce_184(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::ReturnType.new(type: val[3], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 492) def _reduce_185(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::BlockType.new(type: val[3], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 496) def _reduce_186(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::SelfType.new(type: val[3], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 500) def _reduce_187(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::ConstType.new(name: val[2].value, type: val[4], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 506) def _reduce_188(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::InstanceType.new(type: val[3], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 510) def _reduce_189(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::ModuleType.new(type: val[3], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 514) def _reduce_190(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::IvarType.new(name: val[2].value, type: val[4], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 518) def _reduce_191(val, _values, result) loc = val[0].location + (val[2]&.location || val[1].location) args = val[2]&.variables || [] name = AST::Annotation::Implements::Module.new(name: val[1].value, args: args) result = AST::Annotation::Implements.new(name: name, location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 524) def _reduce_192(val, _values, result) loc = val[0].location + val[1].last.location result = AST::Annotation::Dynamic.new(names: val[1], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 528) def _reduce_193(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::BreakType.new(type: val[3], location: loc) result end .,., module_eval(<<'.,.,', 'parser.y', 532) def _reduce_194(val, _values, result) result = [val[0]] + val[2] result end .,., module_eval(<<'.,.,', 'parser.y', 533) def _reduce_195(val, _values, result) result = val result end .,., module_eval(<<'.,.,', 'parser.y', 536) def _reduce_196(val, _values, result) result = AST::Annotation::Dynamic::Name.new(name: val[0].value, location: val[0].location, kind: :instance) result end .,., module_eval(<<'.,.,', 'parser.y', 539) def _reduce_197(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::Dynamic::Name.new(name: val[2].value, location: loc, kind: :module) result end .,., module_eval(<<'.,.,', 'parser.y', 543) def _reduce_198(val, _values, result) loc = val.first.location + val.last.location result = AST::Annotation::Dynamic::Name.new(name: val[2].value, location: loc, kind: :module_instance) result end .,., module_eval(<<'.,.,', 'parser.y', 547) def _reduce_199(val, _values, result) result = val[0] result end .,., def _reduce_none(val, _values, result) val[0] end end # class Parser end # module Steep