original_string: public function process($input)
      {
          if (!isset($this->_rules[$this->_currentState])) {
              include_once 'Zend/Search/Exception.php';
              throw new Zend_Search_Exception('There is no any rule for current state (' . $this->_currentState . ').');
          }
          if (!isset($this->_rules[$this->_currentState][$input])) {
              include_once 'Zend/Search/Exception.php';
              throw new Zend_Search_Exception('There is no any rule for {current state, input} pair (' . $this->_currentState . ', ' . $input . ').');
          }
  
          $sourceState = $this->_currentState;
          $targetState = $this->_rules[$this->_currentState][$input];
  
          if ($sourceState != $targetState  &&  isset($this->_exitActions[$sourceState])) {
              foreach ($this->_exitActions[$sourceState] as $action) {
                  $action->doAction();
              }
          }
          if (isset($this->_inputActions[$sourceState]) 
              && isset($this->_inputActions[$sourceState][$input])
          ) {
              foreach ($this->_inputActions[$sourceState][$input] as $action) {
                  $action->doAction();
              }
          }
  
  
          $this->_currentState = $targetState;
  
          if (isset($this->_transitionActions[$sourceState]) 
              && isset($this->_transitionActions[$sourceState][$targetState])
          ) {
              foreach ($this->_transitionActions[$sourceState][$targetState] as $action) {
                  $action->doAction();
              }
          }
          if ($sourceState != $targetState  &&  isset($this->_entryActions[$targetState])) {
              foreach ($this->_entryActions[$targetState] as $action) {
                  $action->doAction();
              }
          }
      }
code: public function process($input)
      {
          if (!isset($this->_rules[$this->_currentState])) {
              include_once 'Zend/Search/Exception.php';
              throw new Zend_Search_Exception('There is no any rule for current state (' . $this->_currentState . ').');
          }
          if (!isset($this->_rules[$this->_currentState][$input])) {
              include_once 'Zend/Search/Exception.php';
              throw new Zend_Search_Exception('There is no any rule for {current state, input} pair (' . $this->_currentState . ', ' . $input . ').');
          }
  
          $sourceState = $this->_currentState;
          $targetState = $this->_rules[$this->_currentState][$input];
  
          if ($sourceState != $targetState  &&  isset($this->_exitActions[$sourceState])) {
              foreach ($this->_exitActions[$sourceState] as $action) {
                  $action->doAction();
              }
          }
          if (isset($this->_inputActions[$sourceState]) 
              && isset($this->_inputActions[$sourceState][$input])
          ) {
              foreach ($this->_inputActions[$sourceState][$input] as $action) {
                  $action->doAction();
              }
          }
  
  
          $this->_currentState = $targetState;
  
          if (isset($this->_transitionActions[$sourceState]) 
              && isset($this->_transitionActions[$sourceState][$targetState])
          ) {
              foreach ($this->_transitionActions[$sourceState][$targetState] as $action) {
                  $action->doAction();
              }
          }
          if ($sourceState != $targetState  &&  isset($this->_entryActions[$targetState])) {
              foreach ($this->_entryActions[$targetState] as $action) {
                  $action->doAction();
              }
          }
      }
code_tokens: public function process ( $ input ) { if ( ! isset ( $ this -> _rules [ $ this -> _currentState ] ) ) { include_once 'Zend/Search/Exception.php' ; throw new Zend_Search_Exception ( 'There is no any rule for current state (' . $ this -> _currentState . ').' ) ; } if ( ! isset ( $ this -> _rules [ $ this -> _currentState ] [ $ input ] ) ) { include_once 'Zend/Search/Exception.php' ; throw new Zend_Search_Exception ( 'There is no any rule for {current state, input} pair (' . $ this -> _currentState . ', ' . $ input . ').' ) ; } $ sourceState = $ this -> _currentState ; $ targetState = $ this -> _rules [ $ this -> _currentState ] [ $ input ] ; if ( $ sourceState != $ targetState && isset ( $ this -> _exitActions [ $ sourceState ] ) ) { foreach ( $ this -> _exitActions [ $ sourceState ] as $ action ) { $ action -> doAction ( ) ; } } if ( isset ( $ this -> _inputActions [ $ sourceState ] ) && isset ( $ this -> _inputActions [ $ sourceState ] [ $ input ] ) ) { foreach ( $ this -> _inputActions [ $ sourceState ] [ $ input ] as $ action ) { $ action -> doAction ( ) ; } } $ this -> _currentState = $ targetState ; if ( isset ( $ this -> _transitionActions [ $ sourceState ] ) && isset ( $ this -> _transitionActions [ $ sourceState ] [ $ targetState ] ) ) { foreach ( $ this -> _transitionActions [ $ sourceState ] [ $ targetState ] as $ action ) { $ action -> doAction ( ) ; } } if ( $ sourceState != $ targetState && isset ( $ this -> _entryActions [ $ targetState ] ) ) { foreach ( $ this -> _entryActions [ $ targetState ] as $ action ) { $ action -> doAction ( ) ; } } }
docstring: Process an input
  
  @param  mixed $input
  @throws Zend_Search_Exception
docstring_tokens: Process an input