Esempio n. 1
0
 public function convertWhiteSpaceToRange(Scope $head, Scope $result, Lexer $lexer)
 {
     if ($lexer->isNextToken(Lexer::T_SHORT_S)) {
         # spaces, tabs, and line breaks
         #0009 #0010 #0012 #0013 #0032
         $head->addLiteral(chr(9));
         $head->addLiteral(chr(10));
         $head->addLiteral(chr(12));
         $head->addLiteral(chr(13));
         $head->addLiteral(chr(32));
     } else {
         # not spaces, tabs, and line breaks
         #0000-0008  #0011  #0014 - #0031
         for ($i = 0; $i <= 8; $i++) {
             $head->addLiteral(chr($i));
         }
         $head->addLiteral(chr(11));
         for ($i = 14; $i <= 31; $i++) {
             $head->addLiteral(chr($i));
         }
     }
 }
Esempio n. 2
0
 /**
  *  Parse the current token for new Quantifiers
  *
  *  @access public
  *  @return ReverseRegex\Generator\Scope a new head
  *  @param ReverseRegex\Generator\LiteralScope $head
  *  @param ReverseRegex\Generator\Scope $set
  *  @param ReverseRegex\Lexer $lexer
  */
 public function parse(Scope $head, Scope $set, Lexer $lexer)
 {
     $character = $this->evaluate($lexer);
     $head->addLiteral($character);
     return $head;
 }