예제 #1
0
파일: Parser.php 프로젝트: jabouzi/projet
 protected function doScan(Scanner $scanner)
 {
     $quotechar = $scanner->token_type();
     $ret = false;
     $string = "";
     while ($token = $scanner->nextToken()) {
         if ($token == $quotechar) {
             $ret = true;
             break;
         }
         $string .= $scanner->token();
     }
     if ($string && !$this->discard) {
         $scanner->pushResult($string);
     }
     return $ret;
 }
예제 #2
0
 function handleMatch(Parser $parser, Scanner $scanner)
 {
     $comp1 = $scanner->popResult();
     $comp2 = $scanner->popResult();
     $scanner->pushResult(new BooleanAndExpression($comp1, $comp2));
 }