class ANTLR3::Debug::TreeNodeStream

A module that wraps token stream methods with debugging event code. A debuggable parser will extend its input stream with this module if the stream is not already a Debug::TreeNodeStream.

Attributes

debug_listener[RW]

Public Class Methods

wrap( stream, debug_listener = nil ) click to toggle source
# File lib/antlr3/tree/debug.rb, line 113
def self.wrap( stream, debug_listener = nil )
  stream.extend( self )
  stream.debug_listener ||= debug_listener
end

Public Instance Methods

consume() click to toggle source
Calls superclass method
# File lib/antlr3/tree/debug.rb, line 119
def consume
  node = @input >> 1
  super
  @debug_listener.consume_node( node )
end
look( i = 1 ) click to toggle source
Calls superclass method
# File lib/antlr3/tree/debug.rb, line 125
def look( i = 1 )
  node = super
  id = @adaptor.unique_id( node )
  text = @adaptor.text_of( node )
  type = @adaptor.type_of( node )
  @debug_listener.look( i, node )
  return( node )
end
mark() click to toggle source
Calls superclass method
# File lib/antlr3/tree/debug.rb, line 143
def mark
  @last_marker = super
  @debug_listener.mark( @last_marker )
  return( @last_marker )
end
peek( i = 1 ) click to toggle source
# File lib/antlr3/tree/debug.rb, line 134
def peek( i = 1 )
  node = self >> 1
  id = @adaptor.unique_id( node )
  text = @adaptor.text_of( node )
  type = @adaptor.type_of( node )
  @debug_listener.look( i, node )
  return( type )
end
rewind( marker = nil ) click to toggle source
Calls superclass method
# File lib/antlr3/tree/debug.rb, line 149
def rewind( marker = nil )
  @debug_listener.rewind( marker )
  super( marker || @last_marker )
end