module ANTLR3::Rewrite

Constants

RewriteOperation

Attributes

programs[R]

Public Instance Methods

delete( *args ) click to toggle source
# File lib/antlr3/streams/rewrite.rb, line 402
def delete( *args )
  @programs[ 'default' ].delete( *args )
end
delete_program( name = 'default' ) click to toggle source
# File lib/antlr3/streams/rewrite.rb, line 380
def delete_program( name = 'default' )
  @programs.delete( name )
end
insert_after( *args ) click to toggle source
# File lib/antlr3/streams/rewrite.rb, line 394
def insert_after( *args )
  @programs[ 'default' ].insert_after( *args )
end
insert_before( *args ) click to toggle source
# File lib/antlr3/streams/rewrite.rb, line 390
def insert_before( *args )
  @programs[ 'default' ].insert_before( *args )
end
original_string( start = 0, finish = size - 1 ) click to toggle source
# File lib/antlr3/streams/rewrite.rb, line 384
def original_string( start = 0, finish = size - 1 )
  @position == -1 and fill_buffer
  
  return( self[ start..finish ].map { |t| t.text }.join( '' ) )
end
program( name = 'default' ) click to toggle source
# File lib/antlr3/streams/rewrite.rb, line 376
def program( name = 'default' )
  return @programs[ name ]
end
render( *arguments ) click to toggle source
# File lib/antlr3/streams/rewrite.rb, line 406
def render( *arguments )
  case arguments.first
  when String, Symbol then name = arguments.shift.to_s
  else name = 'default'
  end
  @programs[ name ].execute( *arguments )
end
replace( *args ) click to toggle source
# File lib/antlr3/streams/rewrite.rb, line 398
def replace( *args )
  @programs[ 'default' ].replace( *args )
end
rewrite( program_name = 'default', range = nil ) { |program| ... } click to toggle source
# File lib/antlr3/streams/rewrite.rb, line 367
def rewrite( program_name = 'default', range = nil )
  program = @programs[ program_name ]
  if block_given?
    yield( program )
    program.execute( range )
  else program
  end
end

Private Instance Methods

initialize_rewrite() click to toggle source
# File lib/antlr3/streams/rewrite.rb, line 354
def initialize_rewrite
  @programs = Hash.new do |programs, name|
    if name.is_a?( String )
      programs[ name ] = RewriteProgram.new( self, name )
    else programs[ name.to_s ]
    end
  end
  
  @last_rewrite_token_indexes = {}
end