예제 #1
0
 /**
  * @param Lexer $lexer
  * @param char $char
  */
 public function input(Lexer $lexer, $char)
 {
     if ($char == '=') {
         $this->buffer .= $char;
     } else {
         if (self::isBlank($char)) {
             $lexer->pushOperator(new TokenComparisonBinop($this->buffer));
         } else {
             $lexer->pushOperator(new TokenComparisonBinop($this->buffer));
             $lexer->forwardInput($char);
         }
     }
 }
예제 #2
0
 /**
  * @param Lexer $lexer
  * @param char $char
  */
 public function input(Lexer $lexer, $char)
 {
     if ($char == ')') {
         $lexer->pushOperator(new TokenFunction($this->buffer, 0));
         $lexer->closeParenthesis();
     } else {
         if ($char == '(') {
             $lexer->pushOperator(new TokenFunction($this->buffer, 1));
             $lexer->pushOperator(new TokenLParen());
         } else {
             if (self::isBlank($char)) {
             } else {
                 if ($char == "'") {
                     $lexer->pushOperator(new TokenFunction($this->buffer, 1));
                     $lexer->setStateString();
                 } else {
                     $lexer->pushOperator(new TokenFunction($this->buffer, 1));
                     $lexer->forwardInput($char);
                 }
             }
         }
     }
 }