private function processInteger()
{
$id = $this->processSingle('Integer');
$value = $this->atoms[$id]['code'];
if (strtolower(substr($value, 0, 2)) === '0b') {
$actual = bindec(substr($value, 2));
} elseif (strtolower(substr($value, 0, 2)) === '0x') {
$actual = hexdec(substr($value, 2));
} elseif (strtolower(substr($value, 0, 2)) === '0') {
// PHP 7 will just stop.
// PHP 5 will work until it fails
$actual = octdec(substr($value, 1));
} else {
$actual = $value;
}
$this->setAtom($id, array('intval' => abs($actual) > PHP_INT_MAX ? 0 : $actual));
if (!$this->isContext(self::CONTEXT_NOSEQUENCE) && $this->tokens[$this->id + 1][0] === T_CLOSE_TAG) {
$this->processSemicolon();
}
return $id;
}