private function processPrint()
{
if (in_array($this->tokens[$this->id][0], array(T_INCLUDE, T_INCLUDE_ONCE, T_REQUIRE, T_REQUIRE_ONCE))) {
$nameId = $this->addAtom('Include');
} else {
$nameId = $this->addAtom('Identifier');
}
$this->setAtom($nameId, array('code' => $this->tokens[$this->id][1], 'fullcode' => $this->tokens[$this->id][1], 'variadic' => false, 'reference' => false, 'line' => $this->tokens[$this->id][2], 'token' => $this->getToken($this->tokens[$this->id][0])));
$argumentsId = $this->addAtom('Arguments');
$fullcode = array();
$finals = $this->precedence->get($this->tokens[$this->id][0]);
while (!in_array($this->tokens[$this->id + 1][0], $finals)) {
$this->processNext();
}
$indexId = $this->popExpression();
$this->setAtom($indexId, array('rank' => 0));
$this->addLink($argumentsId, $indexId, 'ARGUMENT');
$fullcode[] = $this->atoms[$indexId]['fullcode'];
$this->setAtom($argumentsId, array('code' => $this->tokens[$this->id][1], 'fullcode' => implode(', ', $fullcode), 'line' => $this->tokens[$this->id][2], 'token' => $this->getToken($this->tokens[$this->id][0])));
$functioncallId = $this->addAtom('Functioncall');
$this->setAtom($functioncallId, array('code' => $this->atoms[$nameId]['code'], 'fullcode' => $this->atoms[$nameId]['code'] . ' ' . $this->atoms[$argumentsId]['fullcode'], 'variadic' => false, 'line' => $this->atoms[$nameId]['line'], 'token' => $this->atoms[$nameId]['token'], 'fullnspath' => '\\' . strtolower($this->atoms[$nameId]['code'])));
$this->addLink($functioncallId, $argumentsId, 'ARGUMENTS');
$this->addLink($functioncallId, $nameId, 'NAME');
$this->pushExpression($functioncallId);
if ($this->tokens[$this->id + 1][0] === T_CLOSE_TAG) {
$this->processSemicolon();
}
return $functioncallId;
}