Example #1
0
 /**
  * @param array $args
  *
  * @return Input|false
  */
 public function parse($args = null)
 {
     $fsm = new BacktrackingRunner($this->usageDefinition->getInitialState(), new UsageParserContext());
     $symbols = $this->getInputSequence($args);
     if (!$symbols) {
         return false;
     }
     $result = $fsm->input($symbols);
     return $result === false ? false : new Input($result, $this->optionRepository);
 }