function next()
{
$this->token_start = null;
if (++$this->pos < $this->size) {
if (isset($this->char_map[$this->doc[$this->pos]])) {
if (is_string($this->char_map[$this->doc[$this->pos]])) {
return $this->token = $this->{$this->char_map[$this->doc[$this->pos]]}();
} else {
return $this->token = $this->char_map[$this->doc[$this->pos]];
}
} else {
return $this->token = self::TOK_UNKNOWN;
}
} else {
return $this->token = self::TOK_NULL;
}
}