public function parse() {
        $p = 0;
        do {
            $p = $this->scanner->position();
            $this->consumeData();

            // FIXME: Add infinite loop protection.
        } while ($this->carryOn);
    }