def __call__(self):
while self.pos < self.max_pos:<EOL><INDENT>match = self.find_match()<EOL>self.pos = match.end()<EOL><DEDENT>return self.root()<EOL>
Parse the given string data and sequentually update the current
        cursor position until the end is reached.

        Return the Root object if successful.