Ejemplo n.º 1
0
 public function &getTerminal($terminal = null)
 {
     $token =& $this->getToken();
     if (!$terminal) {
         $terminal = new phpParserTerminal();
     }
     if (is_string($token)) {
         if ($this->debug) {
             $this->log("STRING: {$token}");
         }
         $terminal->setToken($token);
         return $terminal;
     } else {
         if (!is_array($token)) {
             return $terminal;
         }
     }
     switch ($token[0]) {
         case T_CLOSE_TAG:
         case T_COMMENT:
         case T_DOC_COMMENT:
         case T_INLINE_HTML:
         case T_OPEN_TAG:
         case T_WHITESPACE:
             if ($this->debug) {
                 $this->log(sprintf("%s: %s\n", token_name($token[0]), $token[1]));
             }
             $function = __FUNCTION__;
             $terminal->addInvalidToken($token);
             return $this->{$function}($terminal);
     }
     if ($this->debug) {
         $this->log(sprintf("%s: %s\n", token_name($token[0]), $token[1]));
     }
     $terminal->setToken($token);
     return $terminal;
 }