value; if ($value) return $value; $token =& $this->token; if (is_string($token)) { $value =& $token; return $value; } switch ($token[0]) { case NUMLIT: case STRINGLIT: $value = eval("return {$token[1]};"); break; case VARID: case VAROP: $value = $token[1]; break; default; // FIXME echo "UNKNOWN TOKEN!!\n"; var_dump($token); echo "\n"; break; } return $value; } public function &getToken() { return $this->token; } public function &getTokenString() { if (is_array($this->token)) { return $this->token[1]; } else { return $this->token; } } public function replaceTokenString($string) { if (is_array($this->token)) { $this->token[1] =& $string; } else { $this->token =& $string; } } public function setToken(&$token) { $this->token =& $token; } }