示例#1
0
 public function testIsEquals()
 {
     $this->assertTrue(ScannerHelper::isEquals("-", array("-", "_")));
     $this->assertTrue(ScannerHelper::isEquals("_", array("-", "_")));
     $this->assertFalse(ScannerHelper::isEquals("a", array("-", "_")));
 }
示例#2
0
文件: Scanner.php 项目: bgarrels/ebnf
 /**
  * Scans an identifier [a-zA-Z\-_].
  *
  * @return Token
  */
 private function scannIdentifier()
 {
     $pos = $this->createPosition();
     $str = $this->currentCharacter();
     while ($this->hasNextCharacter()) {
         $this->nextCharacter();
         if (ScannerHelper::isAlphaNum($this->currentCharacter()) || ScannerHelper::isEquals($this->currentCharacter(), array("-", "_"))) {
             $str .= $this->currentCharacter();
         } else {
             $this->backupCharacter();
             break;
         }
     }
     return new Token(Token::IDENTIFIER, $str, $pos);
 }