mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* ext/ripper/Makefile.dev: removed.
* ext/ripper/ripper.rb.in: moved to lib/ripper/core.rb.in. * ext/ripper/lib/ripper/core.rb: new file. * ext/ripper/lib/ripper/core.rb.in: new file. * ext/ripper/tools/generate-ripper_rb.rb: change comment. * test/ripper/*.rb: on_scan removed. * test/ripper/*.rb: event name changed: on__ -> on_. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									bf189b88d3
								
							
						
					
					
						commit
						0c9d76889a
					
				
					 13 changed files with 1365 additions and 1352 deletions
				
			
		
							
								
								
									
										16
									
								
								ChangeLog
									
										
									
									
									
								
							
							
						
						
									
										16
									
								
								ChangeLog
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,3 +1,19 @@
 | 
			
		|||
Thu Sep 23 19:48:14 2004  Minero Aoki  <aamine@loveruby.net>
 | 
			
		||||
 | 
			
		||||
	* ext/ripper/Makefile.dev: removed.
 | 
			
		||||
 | 
			
		||||
	* ext/ripper/ripper.rb.in: moved to lib/ripper/core.rb.in.
 | 
			
		||||
 | 
			
		||||
	* ext/ripper/lib/ripper/core.rb: new file.
 | 
			
		||||
 | 
			
		||||
	* ext/ripper/lib/ripper/core.rb.in: new file.
 | 
			
		||||
 | 
			
		||||
	* ext/ripper/tools/generate-ripper_rb.rb: change comment.
 | 
			
		||||
 | 
			
		||||
	* test/ripper/*.rb: on__scan event removed.
 | 
			
		||||
 | 
			
		||||
	* test/ripper/*.rb: event name is changed: on__XXX -> on_XXX.
 | 
			
		||||
 | 
			
		||||
Thu Sep 23 09:29:14 2004  Yukihiro Matsumoto  <matz@ruby-lang.org>
 | 
			
		||||
 | 
			
		||||
	* hash.c (rb_hash_rehash): replace st_foreach() by its deep
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,11 +1,11 @@
 | 
			
		|||
MANIFEST
 | 
			
		||||
Makefile.dev
 | 
			
		||||
README
 | 
			
		||||
depend
 | 
			
		||||
eventids2.c
 | 
			
		||||
extconf.rb
 | 
			
		||||
ripper.rb.in
 | 
			
		||||
lib/ripper.rb
 | 
			
		||||
lib/ripper/core.rb
 | 
			
		||||
lib/ripper/core.rb.in
 | 
			
		||||
lib/ripper/filter.rb
 | 
			
		||||
lib/ripper/tokenizer.rb
 | 
			
		||||
test/check-event-arity.rb
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,18 +0,0 @@
 | 
			
		|||
# Makefile for ripper developpers
 | 
			
		||||
# !!! This file requires GNU make !!!
 | 
			
		||||
 | 
			
		||||
include Makefile
 | 
			
		||||
 | 
			
		||||
lib/ripper.rb: $(srcdir)/ripper.rb.in ids1 ids2 $(srcdir)/tools/generate-ripper_rb.rb
 | 
			
		||||
	$(RUBY) $(srcdir)/tools/generate-ripper_rb.rb $(srcdir)/ripper.rb.in ids1 ids2 > $@
 | 
			
		||||
 | 
			
		||||
test:
 | 
			
		||||
	$(RUBY) test/check-event-arity.rb $(hdrdir)/parse.y
 | 
			
		||||
	sh test/check-event-coverage.sh
 | 
			
		||||
	$(RUBY) test/check-scanner-event-coverage.rb
 | 
			
		||||
	$(RUBY) test/validate.rb > /dev/null
 | 
			
		||||
	@echo OK
 | 
			
		||||
 | 
			
		||||
preproc: ripper.E
 | 
			
		||||
ripper.E: ripper.c
 | 
			
		||||
	$(CC) -E $(CPPFLAGS) ripper.c | ruby $(srcdir)/tools/strip.rb > $@
 | 
			
		||||
| 
						 | 
				
			
			@ -14,3 +14,22 @@ ids1: $(srcdir)/tools/list-parse-event-ids.rb $(hdrdir)/parse.y
 | 
			
		|||
 | 
			
		||||
ids2: $(srcdir)/tools/list-scan-event-ids.rb $(srcdir)/eventids2.c
 | 
			
		||||
	$(RUBY) $(srcdir)/tools/list-scan-event-ids.rb -a $(srcdir)/eventids2.c > $@
 | 
			
		||||
 | 
			
		||||
rb: $(srcdir)/lib/ripper/core.rb
 | 
			
		||||
$(srcdir)/lib/ripper/core.rb: $(srcdir)/lib/ripper/core.rb.in ids1 ids2 $(srcdir)/tools/generate-ripper_rb.rb
 | 
			
		||||
	$(RUBY) $(srcdir)/tools/generate-ripper_rb.rb $(srcdir)/lib/ripper/core.rb.in ids1 ids2 > $@
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Entries for only ripper developpers: DO NOT USE
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
test:
 | 
			
		||||
	$(RUBY) test/check-event-arity.rb $(hdrdir)/parse.y
 | 
			
		||||
	sh test/check-event-coverage.sh
 | 
			
		||||
	$(RUBY) test/check-scanner-event-coverage.rb
 | 
			
		||||
	$(RUBY) test/validate.rb > /dev/null
 | 
			
		||||
	@echo OK
 | 
			
		||||
 | 
			
		||||
preproc: ripper.E
 | 
			
		||||
ripper.E: ripper.c
 | 
			
		||||
	$(CC) -E $(CPPFLAGS) ripper.c | $(RUBY) $(srcdir)/tools/strip.rb > $@
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,877 +1,3 @@
 | 
			
		|||
#
 | 
			
		||||
# This file is automatically generated from ripper.rb.in and parse.y.
 | 
			
		||||
# DO NOT MODIFY!!!!!!
 | 
			
		||||
#
 | 
			
		||||
#
 | 
			
		||||
# ripper.rb
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 2003,2004 Minero Aoki
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
require 'ripper.so'
 | 
			
		||||
 | 
			
		||||
class Ripper
 | 
			
		||||
  # Parses Ruby program read from _src_.
 | 
			
		||||
  # _src_ must be a String or a IO or a object which has #gets method.
 | 
			
		||||
  def Ripper.parse(src, filename = '(ripper)', lineno = 1)
 | 
			
		||||
    new(src, filename, lineno).parse
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # This table contains name of parser events and its arity.
 | 
			
		||||
  PARSER_EVENT_TABLE = {
 | 
			
		||||
    :BEGIN => 1,
 | 
			
		||||
    :END => 1,
 | 
			
		||||
    :alias => 2,
 | 
			
		||||
    :alias_error => 1,
 | 
			
		||||
    :aref => 2,
 | 
			
		||||
    :aref_field => 2,
 | 
			
		||||
    :arg_ambiguous => 0,
 | 
			
		||||
    :arg_paren => 1,
 | 
			
		||||
    :arglist_add => 2,
 | 
			
		||||
    :arglist_add_block => 2,
 | 
			
		||||
    :arglist_add_star => 2,
 | 
			
		||||
    :arglist_new => 0,
 | 
			
		||||
    :arglist_prepend => 2,
 | 
			
		||||
    :array => 1,
 | 
			
		||||
    :assign => 2,
 | 
			
		||||
    :assign_error => 1,
 | 
			
		||||
    :assoc_new => 2,
 | 
			
		||||
    :assoclist_from_args => 1,
 | 
			
		||||
    :bare_assoc_hash => 1,
 | 
			
		||||
    :begin => 1,
 | 
			
		||||
    :binary => 3,
 | 
			
		||||
    :blockvar_add_block => 2,
 | 
			
		||||
    :blockvar_add_star => 2,
 | 
			
		||||
    :blockvar_new => 1,
 | 
			
		||||
    :bodystmt => 4,
 | 
			
		||||
    :brace_block => 2,
 | 
			
		||||
    :break => 1,
 | 
			
		||||
    :call => 3,
 | 
			
		||||
    :case => 2,
 | 
			
		||||
    :class => 3,
 | 
			
		||||
    :class_name_error => 1,
 | 
			
		||||
    :command => 2,
 | 
			
		||||
    :command_call => 4,
 | 
			
		||||
    :const_ref => 1,
 | 
			
		||||
    :constpath_field => 2,
 | 
			
		||||
    :constpath_ref => 2,
 | 
			
		||||
    :def => 3,
 | 
			
		||||
    :defined => 1,
 | 
			
		||||
    :defs => 5,
 | 
			
		||||
    :do_block => 2,
 | 
			
		||||
    :dot2 => 2,
 | 
			
		||||
    :dot3 => 2,
 | 
			
		||||
    :dyna_symbol => 1,
 | 
			
		||||
    :else => 1,
 | 
			
		||||
    :elsif => 3,
 | 
			
		||||
    :ensure => 1,
 | 
			
		||||
    :fcall => 1,
 | 
			
		||||
    :field => 3,
 | 
			
		||||
    :for => 3,
 | 
			
		||||
    :hash => 1,
 | 
			
		||||
    :if => 3,
 | 
			
		||||
    :if_mod => 2,
 | 
			
		||||
    :ifop => 3,
 | 
			
		||||
    :iter_block => 2,
 | 
			
		||||
    :massign => 2,
 | 
			
		||||
    :method_add_arg => 2,
 | 
			
		||||
    :mlhs_add => 2,
 | 
			
		||||
    :mlhs_add_star => 2,
 | 
			
		||||
    :mlhs_new => 0,
 | 
			
		||||
    :mlhs_paren => 1,
 | 
			
		||||
    :module => 2,
 | 
			
		||||
    :mrhs_add => 2,
 | 
			
		||||
    :mrhs_add_star => 2,
 | 
			
		||||
    :mrhs_new => 0,
 | 
			
		||||
    :mrhs_new_from_arglist => 1,
 | 
			
		||||
    :next => 1,
 | 
			
		||||
    :opassign => 3,
 | 
			
		||||
    :param_error => 1,
 | 
			
		||||
    :params => 4,
 | 
			
		||||
    :paren => 1,
 | 
			
		||||
    :parse_error => 1,
 | 
			
		||||
    :program => 1,
 | 
			
		||||
    :qwords_add => 2,
 | 
			
		||||
    :qwords_new => 0,
 | 
			
		||||
    :redo => 0,
 | 
			
		||||
    :regexp_literal => 1,
 | 
			
		||||
    :rescue => 4,
 | 
			
		||||
    :rescue_mod => 2,
 | 
			
		||||
    :restparam => 1,
 | 
			
		||||
    :retry => 0,
 | 
			
		||||
    :return => 1,
 | 
			
		||||
    :return0 => 0,
 | 
			
		||||
    :sclass => 2,
 | 
			
		||||
    :space => 1,
 | 
			
		||||
    :stmts_add => 2,
 | 
			
		||||
    :stmts_new => 0,
 | 
			
		||||
    :string_add => 2,
 | 
			
		||||
    :string_concat => 2,
 | 
			
		||||
    :string_content => 0,
 | 
			
		||||
    :string_dvar => 1,
 | 
			
		||||
    :string_embexpr => 1,
 | 
			
		||||
    :string_literal => 1,
 | 
			
		||||
    :super => 1,
 | 
			
		||||
    :symbol => 1,
 | 
			
		||||
    :symbol_literal => 1,
 | 
			
		||||
    :topconst_field => 1,
 | 
			
		||||
    :topconst_ref => 1,
 | 
			
		||||
    :unary => 2,
 | 
			
		||||
    :undef => 1,
 | 
			
		||||
    :unless => 3,
 | 
			
		||||
    :unless_mod => 2,
 | 
			
		||||
    :until => 2,
 | 
			
		||||
    :until_mod => 2,
 | 
			
		||||
    :var_alias => 2,
 | 
			
		||||
    :var_field => 1,
 | 
			
		||||
    :var_ref => 1,
 | 
			
		||||
    :void_stmt => 0,
 | 
			
		||||
    :when => 3,
 | 
			
		||||
    :while => 2,
 | 
			
		||||
    :while_mod => 2,
 | 
			
		||||
    :word_add => 2,
 | 
			
		||||
    :word_new => 0,
 | 
			
		||||
    :words_add => 2,
 | 
			
		||||
    :words_new => 0,
 | 
			
		||||
    :xstring_add => 2,
 | 
			
		||||
    :xstring_literal => 1,
 | 
			
		||||
    :xstring_new => 0,
 | 
			
		||||
    :yield => 1,
 | 
			
		||||
    :yield0 => 0,
 | 
			
		||||
    :zsuper => 0
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  # This array contains name of parser events.
 | 
			
		||||
  PARSER_EVENTS = PARSER_EVENT_TABLE.keys
 | 
			
		||||
 | 
			
		||||
  # This table contains name of scanner events and its arity
 | 
			
		||||
  # (arity is always 1 for all scanner events).
 | 
			
		||||
  SCANNER_EVENT_TABLE = {
 | 
			
		||||
    :CHAR => 1,
 | 
			
		||||
    :__end__ => 1,
 | 
			
		||||
    :backref => 1,
 | 
			
		||||
    :backtick => 1,
 | 
			
		||||
    :comma => 1,
 | 
			
		||||
    :comment => 1,
 | 
			
		||||
    :const => 1,
 | 
			
		||||
    :cvar => 1,
 | 
			
		||||
    :embdoc => 1,
 | 
			
		||||
    :embdoc_beg => 1,
 | 
			
		||||
    :embdoc_end => 1,
 | 
			
		||||
    :embexpr_beg => 1,
 | 
			
		||||
    :embexpr_end => 1,
 | 
			
		||||
    :embvar => 1,
 | 
			
		||||
    :float => 1,
 | 
			
		||||
    :gvar => 1,
 | 
			
		||||
    :heredoc_beg => 1,
 | 
			
		||||
    :heredoc_end => 1,
 | 
			
		||||
    :ident => 1,
 | 
			
		||||
    :ignored_nl => 1,
 | 
			
		||||
    :int => 1,
 | 
			
		||||
    :ivar => 1,
 | 
			
		||||
    :kw => 1,
 | 
			
		||||
    :lbrace => 1,
 | 
			
		||||
    :lbracket => 1,
 | 
			
		||||
    :lparen => 1,
 | 
			
		||||
    :nl => 1,
 | 
			
		||||
    :op => 1,
 | 
			
		||||
    :period => 1,
 | 
			
		||||
    :qwords_beg => 1,
 | 
			
		||||
    :rbrace => 1,
 | 
			
		||||
    :rbracket => 1,
 | 
			
		||||
    :regexp_beg => 1,
 | 
			
		||||
    :regexp_end => 1,
 | 
			
		||||
    :rparen => 1,
 | 
			
		||||
    :semicolon => 1,
 | 
			
		||||
    :sp => 1,
 | 
			
		||||
    :symbeg => 1,
 | 
			
		||||
    :tstring_beg => 1,
 | 
			
		||||
    :tstring_content => 1,
 | 
			
		||||
    :tstring_end => 1,
 | 
			
		||||
    :words_beg => 1,
 | 
			
		||||
    :words_sep => 1
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  # This array contains name of scanner events.
 | 
			
		||||
  SCANNER_EVENTS = SCANNER_EVENT_TABLE.keys
 | 
			
		||||
 | 
			
		||||
  # This table contains name of all ripper events.
 | 
			
		||||
  EVENTS = PARSER_EVENTS + SCANNER_EVENTS
 | 
			
		||||
 | 
			
		||||
  ###                ###
 | 
			
		||||
  ### Event Handlers ###
 | 
			
		||||
  ###                ###
 | 
			
		||||
 | 
			
		||||
  private
 | 
			
		||||
 | 
			
		||||
  def warn(fmt, *args)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def warning(fmt, *args)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def compile_error(msg)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  #
 | 
			
		||||
  # Parser Events
 | 
			
		||||
  #
 | 
			
		||||
 | 
			
		||||
  def on_BEGIN(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_END(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_alias(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_alias_error(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_aref(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_aref_field(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_arg_ambiguous
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_arg_paren(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_arglist_add(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_arglist_add_block(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_arglist_add_star(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_arglist_new
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_arglist_prepend(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_array(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_assign(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_assign_error(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_assoc_new(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_assoclist_from_args(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_bare_assoc_hash(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_begin(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_binary(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_blockvar_add_block(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_blockvar_add_star(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_blockvar_new(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_bodystmt(a, b, c, d)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_brace_block(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_break(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_call(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_case(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_class(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_class_name_error(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_command(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_command_call(a, b, c, d)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_const_ref(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_constpath_field(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_constpath_ref(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_def(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_defined(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_defs(a, b, c, d, e)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_do_block(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_dot2(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_dot3(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_dyna_symbol(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_else(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_elsif(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_ensure(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_fcall(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_field(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_for(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_hash(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_if(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_if_mod(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_ifop(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_iter_block(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_massign(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_method_add_arg(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_mlhs_add(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_mlhs_add_star(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_mlhs_new
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_mlhs_paren(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_module(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_mrhs_add(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_mrhs_add_star(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_mrhs_new
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_mrhs_new_from_arglist(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_next(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_opassign(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_param_error(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_params(a, b, c, d)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_paren(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_parse_error(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_program(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_qwords_add(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_qwords_new
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_redo
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_regexp_literal(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_rescue(a, b, c, d)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_rescue_mod(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_restparam(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_retry
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_return(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_return0
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_sclass(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_space(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_stmts_add(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_stmts_new
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_string_add(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_string_concat(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_string_content
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_string_dvar(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_string_embexpr(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_string_literal(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_super(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_symbol(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_symbol_literal(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_topconst_field(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_topconst_ref(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_unary(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_undef(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_unless(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_unless_mod(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_until(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_until_mod(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_var_alias(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_var_field(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_var_ref(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_void_stmt
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_when(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_while(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_while_mod(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_word_add(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_word_new
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_words_add(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_words_new
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_xstring_add(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_xstring_literal(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_xstring_new
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_yield(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_yield0
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_zsuper
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  #
 | 
			
		||||
  # Lexer Events
 | 
			
		||||
  #
 | 
			
		||||
 | 
			
		||||
  def on_CHAR(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on___end__(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_backref(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_backtick(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_comma(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_comment(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_const(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_cvar(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_embdoc(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_embdoc_beg(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_embdoc_end(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_embexpr_beg(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_embexpr_end(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_embvar(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_float(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_gvar(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_heredoc_beg(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_heredoc_end(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_ident(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_ignored_nl(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_int(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_ivar(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_kw(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_lbrace(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_lbracket(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_lparen(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_nl(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_op(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_period(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_qwords_beg(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_rbrace(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_rbracket(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_regexp_beg(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_regexp_end(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_rparen(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_semicolon(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_sp(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_symbeg(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_tstring_beg(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_tstring_content(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_tstring_end(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_words_beg(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_words_sep(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
require 'ripper/core'
 | 
			
		||||
require 'ripper/tokenizer'
 | 
			
		||||
require 'ripper/filter'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										883
									
								
								ext/ripper/lib/ripper/core.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										883
									
								
								ext/ripper/lib/ripper/core.rb
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,883 @@
 | 
			
		|||
# This file is automatically generated from core.rb.in and parse.y.
 | 
			
		||||
# DO NOT MODIFY!!!!!!
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# ripper/core.rb
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 2003,2004 Minero Aoki
 | 
			
		||||
#
 | 
			
		||||
# This program is free software.
 | 
			
		||||
# You can distribute and/or modify this program under the Ruby License.
 | 
			
		||||
# For details of Ruby License, see ruby/COPYING.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
require 'ripper.so'
 | 
			
		||||
 | 
			
		||||
class Ripper
 | 
			
		||||
  # Parses Ruby program read from _src_.
 | 
			
		||||
  # _src_ must be a String or a IO or a object which has #gets method.
 | 
			
		||||
  def Ripper.parse(src, filename = '(ripper)', lineno = 1)
 | 
			
		||||
    new(src, filename, lineno).parse
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # This table contains name of parser events and its arity.
 | 
			
		||||
  PARSER_EVENT_TABLE = {
 | 
			
		||||
    :BEGIN => 1,
 | 
			
		||||
    :END => 1,
 | 
			
		||||
    :alias => 2,
 | 
			
		||||
    :alias_error => 1,
 | 
			
		||||
    :aref => 2,
 | 
			
		||||
    :aref_field => 2,
 | 
			
		||||
    :arg_ambiguous => 0,
 | 
			
		||||
    :arg_paren => 1,
 | 
			
		||||
    :arglist_add => 2,
 | 
			
		||||
    :arglist_add_block => 2,
 | 
			
		||||
    :arglist_add_star => 2,
 | 
			
		||||
    :arglist_new => 0,
 | 
			
		||||
    :arglist_prepend => 2,
 | 
			
		||||
    :array => 1,
 | 
			
		||||
    :assign => 2,
 | 
			
		||||
    :assign_error => 1,
 | 
			
		||||
    :assoc_new => 2,
 | 
			
		||||
    :assoclist_from_args => 1,
 | 
			
		||||
    :bare_assoc_hash => 1,
 | 
			
		||||
    :begin => 1,
 | 
			
		||||
    :binary => 3,
 | 
			
		||||
    :blockvar_add_block => 2,
 | 
			
		||||
    :blockvar_add_star => 2,
 | 
			
		||||
    :blockvar_new => 1,
 | 
			
		||||
    :bodystmt => 4,
 | 
			
		||||
    :brace_block => 2,
 | 
			
		||||
    :break => 1,
 | 
			
		||||
    :call => 3,
 | 
			
		||||
    :case => 2,
 | 
			
		||||
    :class => 3,
 | 
			
		||||
    :class_name_error => 1,
 | 
			
		||||
    :command => 2,
 | 
			
		||||
    :command_call => 4,
 | 
			
		||||
    :const_ref => 1,
 | 
			
		||||
    :constpath_field => 2,
 | 
			
		||||
    :constpath_ref => 2,
 | 
			
		||||
    :def => 3,
 | 
			
		||||
    :defined => 1,
 | 
			
		||||
    :defs => 5,
 | 
			
		||||
    :do_block => 2,
 | 
			
		||||
    :dot2 => 2,
 | 
			
		||||
    :dot3 => 2,
 | 
			
		||||
    :dyna_symbol => 1,
 | 
			
		||||
    :else => 1,
 | 
			
		||||
    :elsif => 3,
 | 
			
		||||
    :ensure => 1,
 | 
			
		||||
    :fcall => 1,
 | 
			
		||||
    :field => 3,
 | 
			
		||||
    :for => 3,
 | 
			
		||||
    :hash => 1,
 | 
			
		||||
    :if => 3,
 | 
			
		||||
    :if_mod => 2,
 | 
			
		||||
    :ifop => 3,
 | 
			
		||||
    :iter_block => 2,
 | 
			
		||||
    :massign => 2,
 | 
			
		||||
    :method_add_arg => 2,
 | 
			
		||||
    :mlhs_add => 2,
 | 
			
		||||
    :mlhs_add_star => 2,
 | 
			
		||||
    :mlhs_new => 0,
 | 
			
		||||
    :mlhs_paren => 1,
 | 
			
		||||
    :module => 2,
 | 
			
		||||
    :mrhs_add => 2,
 | 
			
		||||
    :mrhs_add_star => 2,
 | 
			
		||||
    :mrhs_new => 0,
 | 
			
		||||
    :mrhs_new_from_arglist => 1,
 | 
			
		||||
    :next => 1,
 | 
			
		||||
    :opassign => 3,
 | 
			
		||||
    :param_error => 1,
 | 
			
		||||
    :params => 4,
 | 
			
		||||
    :paren => 1,
 | 
			
		||||
    :parse_error => 1,
 | 
			
		||||
    :program => 1,
 | 
			
		||||
    :qwords_add => 2,
 | 
			
		||||
    :qwords_new => 0,
 | 
			
		||||
    :redo => 0,
 | 
			
		||||
    :regexp_literal => 1,
 | 
			
		||||
    :rescue => 4,
 | 
			
		||||
    :rescue_mod => 2,
 | 
			
		||||
    :restparam => 1,
 | 
			
		||||
    :retry => 0,
 | 
			
		||||
    :return => 1,
 | 
			
		||||
    :return0 => 0,
 | 
			
		||||
    :sclass => 2,
 | 
			
		||||
    :space => 1,
 | 
			
		||||
    :stmts_add => 2,
 | 
			
		||||
    :stmts_new => 0,
 | 
			
		||||
    :string_add => 2,
 | 
			
		||||
    :string_concat => 2,
 | 
			
		||||
    :string_content => 0,
 | 
			
		||||
    :string_dvar => 1,
 | 
			
		||||
    :string_embexpr => 1,
 | 
			
		||||
    :string_literal => 1,
 | 
			
		||||
    :super => 1,
 | 
			
		||||
    :symbol => 1,
 | 
			
		||||
    :symbol_literal => 1,
 | 
			
		||||
    :topconst_field => 1,
 | 
			
		||||
    :topconst_ref => 1,
 | 
			
		||||
    :unary => 2,
 | 
			
		||||
    :undef => 1,
 | 
			
		||||
    :unless => 3,
 | 
			
		||||
    :unless_mod => 2,
 | 
			
		||||
    :until => 2,
 | 
			
		||||
    :until_mod => 2,
 | 
			
		||||
    :var_alias => 2,
 | 
			
		||||
    :var_field => 1,
 | 
			
		||||
    :var_ref => 1,
 | 
			
		||||
    :void_stmt => 0,
 | 
			
		||||
    :when => 3,
 | 
			
		||||
    :while => 2,
 | 
			
		||||
    :while_mod => 2,
 | 
			
		||||
    :word_add => 2,
 | 
			
		||||
    :word_new => 0,
 | 
			
		||||
    :words_add => 2,
 | 
			
		||||
    :words_new => 0,
 | 
			
		||||
    :xstring_add => 2,
 | 
			
		||||
    :xstring_literal => 1,
 | 
			
		||||
    :xstring_new => 0,
 | 
			
		||||
    :yield => 1,
 | 
			
		||||
    :yield0 => 0,
 | 
			
		||||
    :zsuper => 0
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  # This array contains name of parser events.
 | 
			
		||||
  PARSER_EVENTS = PARSER_EVENT_TABLE.keys
 | 
			
		||||
 | 
			
		||||
  # This table contains name of scanner events and its arity
 | 
			
		||||
  # (arity is always 1 for all scanner events).
 | 
			
		||||
  SCANNER_EVENT_TABLE = {
 | 
			
		||||
    :CHAR => 1,
 | 
			
		||||
    :__end__ => 1,
 | 
			
		||||
    :backref => 1,
 | 
			
		||||
    :backtick => 1,
 | 
			
		||||
    :comma => 1,
 | 
			
		||||
    :comment => 1,
 | 
			
		||||
    :const => 1,
 | 
			
		||||
    :cvar => 1,
 | 
			
		||||
    :embdoc => 1,
 | 
			
		||||
    :embdoc_beg => 1,
 | 
			
		||||
    :embdoc_end => 1,
 | 
			
		||||
    :embexpr_beg => 1,
 | 
			
		||||
    :embexpr_end => 1,
 | 
			
		||||
    :embvar => 1,
 | 
			
		||||
    :float => 1,
 | 
			
		||||
    :gvar => 1,
 | 
			
		||||
    :heredoc_beg => 1,
 | 
			
		||||
    :heredoc_end => 1,
 | 
			
		||||
    :ident => 1,
 | 
			
		||||
    :ignored_nl => 1,
 | 
			
		||||
    :int => 1,
 | 
			
		||||
    :ivar => 1,
 | 
			
		||||
    :kw => 1,
 | 
			
		||||
    :lbrace => 1,
 | 
			
		||||
    :lbracket => 1,
 | 
			
		||||
    :lparen => 1,
 | 
			
		||||
    :nl => 1,
 | 
			
		||||
    :op => 1,
 | 
			
		||||
    :period => 1,
 | 
			
		||||
    :qwords_beg => 1,
 | 
			
		||||
    :rbrace => 1,
 | 
			
		||||
    :rbracket => 1,
 | 
			
		||||
    :regexp_beg => 1,
 | 
			
		||||
    :regexp_end => 1,
 | 
			
		||||
    :rparen => 1,
 | 
			
		||||
    :semicolon => 1,
 | 
			
		||||
    :sp => 1,
 | 
			
		||||
    :symbeg => 1,
 | 
			
		||||
    :tstring_beg => 1,
 | 
			
		||||
    :tstring_content => 1,
 | 
			
		||||
    :tstring_end => 1,
 | 
			
		||||
    :words_beg => 1,
 | 
			
		||||
    :words_sep => 1
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  # This array contains name of scanner events.
 | 
			
		||||
  SCANNER_EVENTS = SCANNER_EVENT_TABLE.keys
 | 
			
		||||
 | 
			
		||||
  # This table contains name of all ripper events.
 | 
			
		||||
  EVENTS = PARSER_EVENTS + SCANNER_EVENTS
 | 
			
		||||
 | 
			
		||||
  ###                ###
 | 
			
		||||
  ### Event Handlers ###
 | 
			
		||||
  ###                ###
 | 
			
		||||
 | 
			
		||||
  private
 | 
			
		||||
 | 
			
		||||
  # This method is called when weak warning is produced by the parser.
 | 
			
		||||
  # _fmt_ and _args_ is printf style.
 | 
			
		||||
  def warn(fmt, *args)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # This method is called when strong warning is produced by the parser.
 | 
			
		||||
  # _fmt_ and _args_ is printf style.
 | 
			
		||||
  def warning(fmt, *args)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # This method is called when the parser found syntax error.
 | 
			
		||||
  def compile_error(msg)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  #
 | 
			
		||||
  # Parser Events
 | 
			
		||||
  #
 | 
			
		||||
 | 
			
		||||
  def on_BEGIN(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_END(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_alias(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_alias_error(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_aref(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_aref_field(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_arg_ambiguous
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_arg_paren(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_arglist_add(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_arglist_add_block(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_arglist_add_star(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_arglist_new
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_arglist_prepend(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_array(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_assign(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_assign_error(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_assoc_new(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_assoclist_from_args(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_bare_assoc_hash(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_begin(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_binary(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_blockvar_add_block(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_blockvar_add_star(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_blockvar_new(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_bodystmt(a, b, c, d)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_brace_block(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_break(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_call(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_case(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_class(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_class_name_error(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_command(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_command_call(a, b, c, d)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_const_ref(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_constpath_field(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_constpath_ref(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_def(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_defined(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_defs(a, b, c, d, e)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_do_block(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_dot2(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_dot3(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_dyna_symbol(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_else(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_elsif(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_ensure(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_fcall(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_field(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_for(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_hash(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_if(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_if_mod(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_ifop(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_iter_block(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_massign(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_method_add_arg(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_mlhs_add(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_mlhs_add_star(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_mlhs_new
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_mlhs_paren(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_module(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_mrhs_add(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_mrhs_add_star(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_mrhs_new
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_mrhs_new_from_arglist(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_next(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_opassign(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_param_error(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_params(a, b, c, d)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_paren(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_parse_error(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_program(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_qwords_add(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_qwords_new
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_redo
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_regexp_literal(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_rescue(a, b, c, d)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_rescue_mod(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_restparam(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_retry
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_return(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_return0
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_sclass(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_space(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_stmts_add(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_stmts_new
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_string_add(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_string_concat(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_string_content
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_string_dvar(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_string_embexpr(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_string_literal(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_super(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_symbol(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_symbol_literal(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_topconst_field(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_topconst_ref(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_unary(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_undef(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_unless(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_unless_mod(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_until(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_until_mod(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_var_alias(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_var_field(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_var_ref(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_void_stmt
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_when(a, b, c)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_while(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_while_mod(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_word_add(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_word_new
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_words_add(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_words_new
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_xstring_add(a, b)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_xstring_literal(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_xstring_new
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_yield(a)
 | 
			
		||||
    a
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_yield0
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_zsuper
 | 
			
		||||
    nil
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  #
 | 
			
		||||
  # Lexer Events
 | 
			
		||||
  #
 | 
			
		||||
 | 
			
		||||
  def on_CHAR(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on___end__(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_backref(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_backtick(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_comma(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_comment(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_const(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_cvar(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_embdoc(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_embdoc_beg(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_embdoc_end(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_embexpr_beg(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_embexpr_end(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_embvar(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_float(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_gvar(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_heredoc_beg(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_heredoc_end(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_ident(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_ignored_nl(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_int(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_ivar(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_kw(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_lbrace(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_lbracket(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_lparen(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_nl(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_op(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_period(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_qwords_beg(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_rbrace(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_rbracket(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_regexp_beg(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_regexp_end(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_rparen(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_semicolon(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_sp(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_symbeg(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_tstring_beg(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_tstring_content(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_tstring_end(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_words_beg(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on_words_sep(token)
 | 
			
		||||
    token
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			@ -1,8 +1,12 @@
 | 
			
		|||
#
 | 
			
		||||
# ripper.rb
 | 
			
		||||
# ripper/core.rb
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 2003,2004 Minero Aoki
 | 
			
		||||
#
 | 
			
		||||
# This program is free software.
 | 
			
		||||
# You can distribute and/or modify this program under the Ruby License.
 | 
			
		||||
# For details of Ruby License, see ruby/COPYING.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
require 'ripper.so'
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -39,12 +43,17 @@ class Ripper
 | 
			
		|||
 | 
			
		||||
  private
 | 
			
		||||
 | 
			
		||||
  # This method is called when weak warning is produced by the parser.
 | 
			
		||||
  # _fmt_ and _args_ is printf style.
 | 
			
		||||
  def warn(fmt, *args)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # This method is called when strong warning is produced by the parser.
 | 
			
		||||
  # _fmt_ and _args_ is printf style.
 | 
			
		||||
  def warning(fmt, *args)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # This method is called when the parser found syntax error.
 | 
			
		||||
  def compile_error(msg)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -58,5 +67,3 @@ class Ripper
 | 
			
		|||
  #
 | 
			
		||||
#include handlers2
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
require 'ripper/tokenizer'
 | 
			
		||||
| 
						 | 
				
			
			@ -8,10 +8,12 @@
 | 
			
		|||
# For details of Ruby License, see ruby/COPYING.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
require 'ripper'
 | 
			
		||||
require 'ripper/core'
 | 
			
		||||
 | 
			
		||||
class Ripper
 | 
			
		||||
 | 
			
		||||
  # This class handles only scanner events,
 | 
			
		||||
  # and they are dispatched in the `right' order (same with input).
 | 
			
		||||
  class Filter
 | 
			
		||||
 | 
			
		||||
    def initialize(src, filename = '-', lineno = 1)
 | 
			
		||||
| 
						 | 
				
			
			@ -20,18 +22,27 @@ class Ripper
 | 
			
		|||
      @__col = nil
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    # The file name of the input.
 | 
			
		||||
    def filename
 | 
			
		||||
      @__parser.filename
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    # The line number of the current token.
 | 
			
		||||
    # This value starts from 1.
 | 
			
		||||
    # This method is valid only in event handlers.
 | 
			
		||||
    def lineno
 | 
			
		||||
      @__line
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    # The column number of the current token.
 | 
			
		||||
    # This value starts from 0.
 | 
			
		||||
    # This method is valid only in event handlers.
 | 
			
		||||
    def column
 | 
			
		||||
      @__col
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    # Starts parsing.  _init_ is a data accumulator.
 | 
			
		||||
    # It is passed to the next event handler (as of Enumerable#inject).
 | 
			
		||||
    def parse(init)
 | 
			
		||||
      data = init
 | 
			
		||||
      @__parser.parse.each do |pos, event, tok|
 | 
			
		||||
| 
						 | 
				
			
			@ -46,7 +57,11 @@ class Ripper
 | 
			
		|||
 | 
			
		||||
    private
 | 
			
		||||
 | 
			
		||||
    def on_default(event, tok, data)
 | 
			
		||||
    # This method is called when some event handler have not defined.
 | 
			
		||||
    # _event_ is :on_XXX, _token_ is scanned token, _data_ is a data
 | 
			
		||||
    # accumulator.  The return value of this method is passed to the
 | 
			
		||||
    # next event handler (as of Enumerable#inject).
 | 
			
		||||
    def on_default(event, token, data)
 | 
			
		||||
      data
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,6 +8,8 @@
 | 
			
		|||
# For details of Ruby License, see ruby/COPYING.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
require 'ripper/core'
 | 
			
		||||
 | 
			
		||||
class Ripper
 | 
			
		||||
 | 
			
		||||
  # Tokenizes Ruby program and returns an Array of String.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,10 +3,9 @@
 | 
			
		|||
def main
 | 
			
		||||
  template, ids1, ids2 = *ARGV
 | 
			
		||||
  print <<header
 | 
			
		||||
#
 | 
			
		||||
# This file is automatically generated from #{File.basename(template)} and parse.y.
 | 
			
		||||
# DO NOT MODIFY!!!!!!
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
header
 | 
			
		||||
  File.foreach(template) do |line|
 | 
			
		||||
    case line
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,9 +2,10 @@
 | 
			
		|||
# dummyparser.rb
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
class Node
 | 
			
		||||
require 'ripper'
 | 
			
		||||
 | 
			
		||||
  def initialize( name, *nodes )
 | 
			
		||||
class Node
 | 
			
		||||
  def initialize(name, *nodes)
 | 
			
		||||
    @name = name
 | 
			
		||||
    @children = nodes
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -14,512 +15,502 @@ class Node
 | 
			
		|||
  def to_s
 | 
			
		||||
    "#{@name}(#{@children.map {|n| n.to_s }.join(',')})"
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class NodeList
 | 
			
		||||
 | 
			
		||||
  def initialize
 | 
			
		||||
    @list = []
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  attr_reader :list
 | 
			
		||||
 | 
			
		||||
  def push( item )
 | 
			
		||||
  def push(item)
 | 
			
		||||
    @list.push item
 | 
			
		||||
    self
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def prepend( items )
 | 
			
		||||
  def prepend(items)
 | 
			
		||||
    @list[0,0] = items
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def to_s
 | 
			
		||||
    '[' + @list.join(',') + ']'
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class DummyParser < Ripper
 | 
			
		||||
 | 
			
		||||
  def method_missing( mid, *args )
 | 
			
		||||
    raise NoMethodError, "wrong method: #{mid}" unless /\Aon__/ === mid.to_s
 | 
			
		||||
    args[0]
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__program( stmts )
 | 
			
		||||
  def on_program(stmts)
 | 
			
		||||
    $thru_program = true
 | 
			
		||||
    stmts
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__stmts_new
 | 
			
		||||
  def on_stmts_new
 | 
			
		||||
    NodeList.new
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__stmts_add( stmts, st )
 | 
			
		||||
  def on_stmts_add(stmts, st)
 | 
			
		||||
    stmts.push st
 | 
			
		||||
    stmts
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__void_stmt
 | 
			
		||||
  def on_void_stmt
 | 
			
		||||
    Node.new('void')
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__BEGIN( stmts )
 | 
			
		||||
  def on_BEGIN(stmts)
 | 
			
		||||
    Node.new('BEGIN', stmts)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__END( stmts )
 | 
			
		||||
  def on_END(stmts)
 | 
			
		||||
    Node.new('END', stmts)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__var_ref( name )
 | 
			
		||||
  def on_var_ref(name)
 | 
			
		||||
    Node.new('ref', name)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__alias(a, b)
 | 
			
		||||
  def on_alias(a, b)
 | 
			
		||||
    Node.new('alias', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__var_alias(a, b)
 | 
			
		||||
  def on_var_alias(a, b)
 | 
			
		||||
    Node.new('valias', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__alias_error(a)
 | 
			
		||||
  def on_alias_error(a)
 | 
			
		||||
    Node.new('aliaserr', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__aref(a, b)
 | 
			
		||||
  def on_aref(a, b)
 | 
			
		||||
    Node.new('aref', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__aref_field(a, b)
 | 
			
		||||
  def on_aref_field(a, b)
 | 
			
		||||
    Node.new('aref_field', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__arg_ambiguous
 | 
			
		||||
  def on_arg_ambiguous
 | 
			
		||||
    Node.new('arg_ambiguous')
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__arg_paren( args )
 | 
			
		||||
  def on_arg_paren(args)
 | 
			
		||||
    args
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__arglist_new
 | 
			
		||||
  def on_arglist_new
 | 
			
		||||
    NodeList.new
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__arglist_add( list, arg )
 | 
			
		||||
  def on_arglist_add(list, arg)
 | 
			
		||||
    list.push(arg)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__arglist_add_block( list, blk )
 | 
			
		||||
  def on_arglist_add_block(list, blk)
 | 
			
		||||
    list.push('&' + blk.to_s)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__arglist_add_star( list, arg )
 | 
			
		||||
  def on_arglist_add_star(list, arg)
 | 
			
		||||
    list.push('*' + arg.to_s)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__arglist_prepend( list, args )
 | 
			
		||||
  def on_arglist_prepend(list, args)
 | 
			
		||||
    list.prepend args
 | 
			
		||||
    list
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__method_add_arg( m, arg )
 | 
			
		||||
  def on_method_add_arg(m, arg)
 | 
			
		||||
    m.children.push arg
 | 
			
		||||
    m
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__assoc_new(a, b)
 | 
			
		||||
  def on_assoc_new(a, b)
 | 
			
		||||
    Node.new('assoc', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__bare_assoc_hash( assoc_list )
 | 
			
		||||
  def on_bare_assoc_hash(assoc_list)
 | 
			
		||||
    Node.new('assocs', *assoc_list)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__assoclist_from_args(a)
 | 
			
		||||
  def on_assoclist_from_args(a)
 | 
			
		||||
    Node.new('assocs', *a.list)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  ######## untested
 | 
			
		||||
 | 
			
		||||
  def on__array(a)
 | 
			
		||||
  def on_array(a)
 | 
			
		||||
    Node.new('array', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__assign(a, b)
 | 
			
		||||
  def on_assign(a, b)
 | 
			
		||||
    Node.new('assign', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__assign_error(a)
 | 
			
		||||
  def on_assign_error(a)
 | 
			
		||||
    Node.new('assign_error', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__begin(a)
 | 
			
		||||
  def on_begin(a)
 | 
			
		||||
    Node.new('begin', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__binary(a, b, c)
 | 
			
		||||
  def on_binary(a, b, c)
 | 
			
		||||
    Node.new('binary', a, b, c)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__block_var(a)
 | 
			
		||||
  def on_block_var(a)
 | 
			
		||||
    Node.new('block_var', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__bodystmt(a, b, c, d)
 | 
			
		||||
  def on_bodystmt(a, b, c, d)
 | 
			
		||||
    Node.new('bodystmt', a, b, c, d)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__brace_block(a, b)
 | 
			
		||||
  def on_brace_block(a, b)
 | 
			
		||||
    Node.new('brace_block', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__break(a)
 | 
			
		||||
  def on_break(a)
 | 
			
		||||
    Node.new('break', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__call(a, b, c)
 | 
			
		||||
  def on_call(a, b, c)
 | 
			
		||||
    Node.new('call', a, b, c)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__case(a, b)
 | 
			
		||||
  def on_case(a, b)
 | 
			
		||||
    Node.new('case', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__class(a, b, c)
 | 
			
		||||
  def on_class(a, b, c)
 | 
			
		||||
    Node.new('class', a, b, c)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__class_name_error(a)
 | 
			
		||||
  def on_class_name_error(a)
 | 
			
		||||
    Node.new('class_name_error', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__command(a, b)
 | 
			
		||||
  def on_command(a, b)
 | 
			
		||||
    Node.new('command', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__command_call(a, b, c, d)
 | 
			
		||||
  def on_command_call(a, b, c, d)
 | 
			
		||||
    Node.new('command_call', a, b, c, d)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__const_ref(a)
 | 
			
		||||
  def on_const_ref(a)
 | 
			
		||||
    Node.new('const_ref', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__constpath_field(a, b)
 | 
			
		||||
  def on_constpath_field(a, b)
 | 
			
		||||
    Node.new('constpath_field', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__constpath_ref(a, b)
 | 
			
		||||
  def on_constpath_ref(a, b)
 | 
			
		||||
    Node.new('constpath_ref', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__def(a, b, c)
 | 
			
		||||
  def on_def(a, b, c)
 | 
			
		||||
    Node.new('def', a, b, c)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__defined(a)
 | 
			
		||||
  def on_defined(a)
 | 
			
		||||
    Node.new('defined', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__defs(a, b, c, d, e)
 | 
			
		||||
  def on_defs(a, b, c, d, e)
 | 
			
		||||
    Node.new('defs', a, b, c, d, e)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__do_block(a, b)
 | 
			
		||||
  def on_do_block(a, b)
 | 
			
		||||
    Node.new('do_block', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__dot2(a, b)
 | 
			
		||||
  def on_dot2(a, b)
 | 
			
		||||
    Node.new('dot2', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__dot3(a, b)
 | 
			
		||||
  def on_dot3(a, b)
 | 
			
		||||
    Node.new('dot3', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__dyna_symbol(a)
 | 
			
		||||
  def on_dyna_symbol(a)
 | 
			
		||||
    Node.new('dyna_symbol', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__else(a)
 | 
			
		||||
  def on_else(a)
 | 
			
		||||
    Node.new('else', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__elsif(a, b, c)
 | 
			
		||||
  def on_elsif(a, b, c)
 | 
			
		||||
    Node.new('elsif', a, b, c)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__ensure(a)
 | 
			
		||||
  def on_ensure(a)
 | 
			
		||||
    Node.new('ensure', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__fcall(a)
 | 
			
		||||
  def on_fcall(a)
 | 
			
		||||
    Node.new('fcall', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__field(a, b, c)
 | 
			
		||||
  def on_field(a, b, c)
 | 
			
		||||
    Node.new('field', a, b, c)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__for(a, b, c)
 | 
			
		||||
  def on_for(a, b, c)
 | 
			
		||||
    Node.new('for', a, b, c)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__hash(a)
 | 
			
		||||
  def on_hash(a)
 | 
			
		||||
    Node.new('hash', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__if(a, b, c)
 | 
			
		||||
  def on_if(a, b, c)
 | 
			
		||||
    Node.new('if', a, b, c)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__if_mod(a, b)
 | 
			
		||||
  def on_if_mod(a, b)
 | 
			
		||||
    Node.new('if_mod', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__ifop(a, b, c)
 | 
			
		||||
  def on_ifop(a, b, c)
 | 
			
		||||
    Node.new('ifop', a, b, c)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__iter_block(a, b)
 | 
			
		||||
  def on_iter_block(a, b)
 | 
			
		||||
    Node.new('iter_block', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__massign(a, b)
 | 
			
		||||
  def on_massign(a, b)
 | 
			
		||||
    Node.new('massign', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__mlhs_add(a, b)
 | 
			
		||||
  def on_mlhs_add(a, b)
 | 
			
		||||
    Node.new('mlhs_add', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__mlhs_add_star(a, b)
 | 
			
		||||
  def on_mlhs_add_star(a, b)
 | 
			
		||||
    Node.new('mlhs_add_star', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__mlhs_new
 | 
			
		||||
  def on_mlhs_new
 | 
			
		||||
    Node.new('mlhs_new')
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__mlhs_paren(a)
 | 
			
		||||
  def on_mlhs_paren(a)
 | 
			
		||||
    Node.new('mlhs_paren', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__module(a, b)
 | 
			
		||||
  def on_module(a, b)
 | 
			
		||||
    Node.new('module', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__mrhs_add(a, b)
 | 
			
		||||
  def on_mrhs_add(a, b)
 | 
			
		||||
    Node.new('mrhs_add', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__mrhs_add_star(a, b)
 | 
			
		||||
  def on_mrhs_add_star(a, b)
 | 
			
		||||
    Node.new('mrhs_add_star', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__mrhs_new
 | 
			
		||||
  def on_mrhs_new
 | 
			
		||||
    Node.new('mrhs_new')
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__mrhs_new_from_arglist(a)
 | 
			
		||||
  def on_mrhs_new_from_arglist(a)
 | 
			
		||||
    Node.new('mrhs_new_from_arglist', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__next(a)
 | 
			
		||||
  def on_next(a)
 | 
			
		||||
    Node.new('next', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__opassign(a, b, c)
 | 
			
		||||
  def on_opassign(a, b, c)
 | 
			
		||||
    Node.new('opassign', a, b, c)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__param_error(a)
 | 
			
		||||
  def on_param_error(a)
 | 
			
		||||
    Node.new('param_error', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__params(a, b, c, d)
 | 
			
		||||
  def on_params(a, b, c, d)
 | 
			
		||||
    Node.new('params', a, b, c, d)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__paren(a)
 | 
			
		||||
  def on_paren(a)
 | 
			
		||||
    Node.new('paren', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__parse_error(a)
 | 
			
		||||
  def on_parse_error(a)
 | 
			
		||||
    Node.new('parse_error', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__qwords_add(a, b)
 | 
			
		||||
  def on_qwords_add(a, b)
 | 
			
		||||
    Node.new('qwords_add', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__qwords_new
 | 
			
		||||
  def on_qwords_new
 | 
			
		||||
    Node.new('qwords_new')
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__redo
 | 
			
		||||
  def on_redo
 | 
			
		||||
    Node.new('redo')
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__regexp_literal(a)
 | 
			
		||||
  def on_regexp_literal(a)
 | 
			
		||||
    Node.new('regexp_literal', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__rescue(a, b, c, d)
 | 
			
		||||
  def on_rescue(a, b, c, d)
 | 
			
		||||
    Node.new('rescue', a, b, c, d)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__rescue_mod(a, b)
 | 
			
		||||
  def on_rescue_mod(a, b)
 | 
			
		||||
    Node.new('rescue_mod', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__restparam(a)
 | 
			
		||||
  def on_restparam(a)
 | 
			
		||||
    Node.new('restparam', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__retry
 | 
			
		||||
  def on_retry
 | 
			
		||||
    Node.new('retry')
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__return(a)
 | 
			
		||||
  def on_return(a)
 | 
			
		||||
    Node.new('return', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__return0
 | 
			
		||||
  def on_return0
 | 
			
		||||
    Node.new('return0')
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__sclass(a, b)
 | 
			
		||||
  def on_sclass(a, b)
 | 
			
		||||
    Node.new('sclass', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__space(a)
 | 
			
		||||
  def on_space(a)
 | 
			
		||||
    Node.new('space', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__string_add(a, b)
 | 
			
		||||
  def on_string_add(a, b)
 | 
			
		||||
    Node.new('string_add', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__string_concat(a, b)
 | 
			
		||||
  def on_string_concat(a, b)
 | 
			
		||||
    Node.new('string_concat', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__string_content
 | 
			
		||||
  def on_string_content
 | 
			
		||||
    Node.new('string_content')
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__string_dvar(a)
 | 
			
		||||
  def on_string_dvar(a)
 | 
			
		||||
    Node.new('string_dvar', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__string_embexpr(a)
 | 
			
		||||
  def on_string_embexpr(a)
 | 
			
		||||
    Node.new('string_embexpr', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__string_literal(a)
 | 
			
		||||
  def on_string_literal(a)
 | 
			
		||||
    Node.new('string_literal', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__super(a)
 | 
			
		||||
  def on_super(a)
 | 
			
		||||
    Node.new('super', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__symbol(a)
 | 
			
		||||
  def on_symbol(a)
 | 
			
		||||
    Node.new('symbol', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__symbol_literal(a)
 | 
			
		||||
  def on_symbol_literal(a)
 | 
			
		||||
    Node.new('symbol_literal', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__topconst_field(a)
 | 
			
		||||
  def on_topconst_field(a)
 | 
			
		||||
    Node.new('topconst_field', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__topconst_ref(a)
 | 
			
		||||
  def on_topconst_ref(a)
 | 
			
		||||
    Node.new('topconst_ref', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__unary(a, b)
 | 
			
		||||
  def on_unary(a, b)
 | 
			
		||||
    Node.new('unary', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__undef(a)
 | 
			
		||||
  def on_undef(a)
 | 
			
		||||
    Node.new('undef', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__unless(a, b, c)
 | 
			
		||||
  def on_unless(a, b, c)
 | 
			
		||||
    Node.new('unless', a, b, c)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__unless_mod(a, b)
 | 
			
		||||
  def on_unless_mod(a, b)
 | 
			
		||||
    Node.new('unless_mod', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__until_mod(a, b)
 | 
			
		||||
  def on_until_mod(a, b)
 | 
			
		||||
    Node.new('until_mod', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__var_field(a)
 | 
			
		||||
  def on_var_field(a)
 | 
			
		||||
    Node.new('var_field', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__when(a, b, c)
 | 
			
		||||
  def on_when(a, b, c)
 | 
			
		||||
    Node.new('when', a, b, c)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__while(a, b)
 | 
			
		||||
  def on_while(a, b)
 | 
			
		||||
    Node.new('while', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__while_mod(a, b)
 | 
			
		||||
  def on_while_mod(a, b)
 | 
			
		||||
    Node.new('while_mod', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__word_add(a, b)
 | 
			
		||||
  def on_word_add(a, b)
 | 
			
		||||
    Node.new('word_add', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__word_new
 | 
			
		||||
  def on_word_new
 | 
			
		||||
    Node.new('word_new')
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__words_add(a, b)
 | 
			
		||||
  def on_words_add(a, b)
 | 
			
		||||
    Node.new('words_add', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__words_new
 | 
			
		||||
  def on_words_new
 | 
			
		||||
    Node.new('words_new')
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__xstring_add(a, b)
 | 
			
		||||
  def on_xstring_add(a, b)
 | 
			
		||||
    Node.new('xstring_add', a, b)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__xstring_literal(a)
 | 
			
		||||
  def on_xstring_literal(a)
 | 
			
		||||
    Node.new('xstring_literal', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__xstring_new
 | 
			
		||||
  def on_xstring_new
 | 
			
		||||
    Node.new('xstring_new')
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__yield(a)
 | 
			
		||||
  def on_yield(a)
 | 
			
		||||
    Node.new('yield', a)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__yield0
 | 
			
		||||
  def on_yield0
 | 
			
		||||
    Node.new('yield0')
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def on__zsuper
 | 
			
		||||
  def on_zsuper
 | 
			
		||||
    Node.new('zsuper')
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,12 +2,9 @@
 | 
			
		|||
# test_parser_events.rb
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
require 'ripper.so'
 | 
			
		||||
require 'dummyparser'
 | 
			
		||||
raise "ripper version differ" unless Ripper::Version == '0.1.0'
 | 
			
		||||
require 'test/unit'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TestRipper_ParserEvents < Test::Unit::TestCase
 | 
			
		||||
 | 
			
		||||
  def parse(str)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue