function getOperator()
{
static $lencache = array();
$i =& $this->N;
$data = substr($this->data, $i, 12);
foreach (self::$operators as $value => $token) {
if (!isset($lencache[$value])) {
$lencache[$value] = strlen($value);
}
$len = $lencache[$value];
switch (strncmp($data, $value, $len)) {
case -1:
if (strlen($data) == $len) {
break 2;
}
break;
case 0:
$this->token = $token;
$this->value = $value;
$i += $len;
return TRUE;
}
}
$data = $this->data[$i];
foreach (self::$operators_single as $value => $token) {
if ($value == $data) {
$this->token = $token;
$this->value = $value;
$i += 1;
return TRUE;
} else {
if ($value > $data) {
break;
}
}
}
return FALSE;
}