parameters: (self, data)
docstring: @param data This should be a unicode string holding the data you want
             to parse. If you pass in a byte string, the Lexer will choke on
             non-ascii data.
function: def __init__(self, data):
          """
          @param data This should be a unicode string holding the data you want
             to parse. If you pass in a byte string, the Lexer will choke on
             non-ascii data.
             
          """
          
          CharStream.__init__(self)
          
    	# The data being scanned
          self.strdata = unicode(data)
          self.data = [ord(c) for c in self.strdata]
          
  	# How many characters are actually in the buffer
          self.n = len(data)
  
   	# 0..n-1 index into string of next char
          self.p = 0
  
  	# line number 1..n within the input
          self.line = 1
  
   	# The index of the character relative to the beginning of the
          # line 0..n-1
          self.charPositionInLine = 0
  
  	# A list of CharStreamState objects that tracks the stream state
          # values line, charPositionInLine, and p that can change as you
          # move through the input stream.  Indexed from 0..markDepth-1.
          self._markers = [ ]
          self.lastMarker = None
          self.markDepth = 0
  
          # What is name or source of this char stream?
          self.name = None
function_tokens: def __init__ ( self , data ) : CharStream . __init__ ( self ) # The data being scanned self . strdata = unicode ( data ) self . data = [ ord ( c ) for c in self . strdata ] # How many characters are actually in the buffer self . n = len ( data ) # 0..n-1 index into string of next char self . p = 0 # line number 1..n within the input self . line = 1 # The index of the character relative to the beginning of the # line 0..n-1 self . charPositionInLine = 0 # A list of CharStreamState objects that tracks the stream state # values line, charPositionInLine, and p that can change as you # move through the input stream.  Indexed from 0..markDepth-1. self . _markers = [ ] self . lastMarker = None self . markDepth = 0 # What is name or source of this char stream? self . name = None