'@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.'

def __init__(self, data):

    CharStream.__init__(self)
    self.strdata = unicode(data)
    self.data = [ord(c) for c in self.strdata]
    self.n = len(data)
    self.p = 0
    self.line = 1
    self.charPositionInLine = 0
    self._markers = []
    self.lastMarker = None
    self.markDepth = 0
    self.name = None
