Beispiel #1
0
 /**
  * Frees this parser, enabling it to be reused.
  *
  * @param bool $deep Whether to clean peek and reset errors.
  * @param int $position Position to reset.
  *
  * @return void
  */
 public function free($deep = false, $position = 0)
 {
     // WARNING! Use this method with care. It resets the scanner!
     $this->lexer->resetPosition($position);
     // Deep = true cleans peek and also any previously defined errors
     if ($deep) {
         $this->lexer->resetPeek();
     }
     $this->lexer->token = null;
     $this->lexer->lookahead = null;
 }