Example #1
0
 /**
  * @param Symbol $symbol
  *
  * @return Closure
  */
 public function advance(Symbol $symbol)
 {
     $closure = new self([]);
     foreach ($this->states as $state) {
         $closure->addStates($state->getReachableStatesBySymbol($symbol));
     }
     $closure->addReachableStatesByEpsilonSymbol();
     return $closure;
 }