Пример #1
0
 /**
  * @param string $tplName
  * @param string $source
  * @return string target codes 
  */
 public function compile($tplName, $source)
 {
     $lexer = new Lexer();
     $tokenStream = $lexer->lex($source, $tplName);
     $parser = new Parser\Parser();
     $nodeTree = $parser->parse($tokenStream);
     return $nodeTree->compile();
 }
Пример #2
0
 /**
  * Parses the given regular expression and returns its structure
  * 
  * @param string $regex The regular expression to parse
  * 
  * @return Pattern\Regex
  * 
  * @static
  */
 public static function parse($regex)
 {
     $parser = new Parser\Parser($regex);
     return $parser->parse();
 }
             while ($i < $count && $tokens[$i - 1][0] == T_NS_SEPARATOR) {
                 $context .= '\\' . $tokens[$i][1];
                 $i += 2;
             }
             continue;
         }
         if (($tokens[$i - 2][0] == T_CLASS || $tokens[$i - 2][0] == T_INTERFACE) && $tokens[$i - 1][0] == T_WHITESPACE && $tokens[$i][0] == T_STRING) {
             $class_name = $tokens[$i][1];
             $classArray[$context . '\\' . $class_name] = $relativeToOutput;
         }
     }
 }
 $info = new Program\createAutoloadFileProgramInfo();
 $parser = new Parser\Parser($info);
 $usage = new Parser\UsageFormat();
 $result = $parser->parse($_SERVER['argv'], 1);
 if (!$result()) {
     if ($result->displayHelp()) {
         echo $info->usage($usage);
         exit(0);
     }
     foreach ($result->getMessages() as $m) {
         echo ' - ' . $m . "\n";
     }
     $usage->format = Parser\UsageFormat::SHORT_TEXT;
     echo $info->usage($usage);
     exit(1);
 }
 if ($result->displayHelp()) {
     echo $info->usage($usage);
     exit(0);