original_string: public function evaluate($expression)
      {
          $lexer = $this->getLexer();
          $tokens = $lexer->tokenize($expression);
  
          $translationStrategy = new \Math\TranslationStrategy\ShuntingYard();
  
          return $this->evaluateRPN($translationStrategy->translate($tokens));
      }
code: public function evaluate($expression)
      {
          $lexer = $this->getLexer();
          $tokens = $lexer->tokenize($expression);
  
          $translationStrategy = new \Math\TranslationStrategy\ShuntingYard();
  
          return $this->evaluateRPN($translationStrategy->translate($tokens));
      }
code_tokens: public function evaluate ( $ expression ) { $ lexer = $ this -> getLexer ( ) ; $ tokens = $ lexer -> tokenize ( $ expression ) ; $ translationStrategy = new \ Math \ TranslationStrategy \ ShuntingYard ( ) ; return $ this -> evaluateRPN ( $ translationStrategy -> translate ( $ tokens ) ) ; }
docstring: Evaluate string representing mathematical expression.
  
  @param string $expression
  @return float
docstring_tokens: Evaluate string representing mathematical expression .