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