<?php require_once '../../runtime/Php/antlr.php'; require_once 'CommonLexer.php'; require_once 'Simple_CommonLexer.php'; require_once 'SimpleLexer.php'; require_once 'SimpleParser.php'; # # usage: php Main.php input # $input = new ANTLRFileStream(dirname(__FILE__) . DIRECTORY_SEPARATOR . $argv[1]); $lexer = new SimpleLexer($input); //$lexer = new CommonLexer($input); $tokens = new CommonTokenStream($lexer); /*foreach ($tokens->getTokens() as $t) { echo $t."\n"; }*/ $parser = new SimpleParser($tokens); $parser->file();
// C:\\data\\home\\ewger\\development\\php\\antlrPhp\\examples\\import\\Simple.g:21:1: expr : ( INT | FLOAT ); public function expr() { try { if ($this->input->LA(1) >= $this->getToken('INT') && $this->input->LA(1) <= $this->getToken('FLOAT')) { $this->input->consume(); $this->state->errorRecovery = false; } else { $mse = new MismatchedSetException(null, $this->input); throw mse; } } catch (RecognitionException $re) { $this->reportError($re); $this->recover($this->input, $re); } catch (Exception $e) { throw $e; } return; } } SimpleParser::$FOLLOW_13_in_file32 = new Set(array(4)); SimpleParser::$FOLLOW_ID_in_file34 = new Set(array(14)); SimpleParser::$FOLLOW_14_in_file36 = new Set(array(15)); SimpleParser::$FOLLOW_decl_in_file51 = new Set(array(1, 15)); SimpleParser::$FOLLOW_15_in_decl66 = new Set(array(4)); SimpleParser::$FOLLOW_ID_in_decl68 = new Set(array(14, 16)); SimpleParser::$FOLLOW_16_in_decl71 = new Set(array(5, 6)); SimpleParser::$FOLLOW_expr_in_decl73 = new Set(array(14)); SimpleParser::$FOLLOW_14_in_decl77 = new Set(array(1)); SimpleParser::$FOLLOW_set_in_expr0 = new Set(array(1));
public function parserError() { $this->parser->parserError(); }
if ($sql && $roster->db->num_rows($sql) > 0) { $realmData = $roster->db->fetch($sql, SQL_ASSOC); } else { $realmData['server_name'] = ''; $realmData['server_region'] = ''; $realmData['servertype'] = ''; $realmData['serverstatus'] = ''; $realmData['serverpop'] = ''; $realmData['timestamp'] = '0'; } //==========[ STATUS GENERATION CODE ]================================================= // Check timestamp, update when ready $current_time = date('i') * 1; if ($current_time >= $realmData['timestamp'] + $roster->config['rs_timer'] || $current_time < $realmData['timestamp']) { $xmlsource = urlgrabber($xmlsource); $simpleParser = new SimpleParser(); $simpleParser->parse($xmlsource); $err = 1; if ($xmlsource != false) { if ($region == 'US') { foreach ($simpleParser->data->rs->r as $value) { if (str_replace(' ', '', $value->n) == str_replace(' ', '', $realmname)) { $err = 0; switch (strtoupper($value->s)) { case '0': $realmData['serverstatus'] = 'DOWN'; break; case '1': $realmData['serverstatus'] = 'UP'; break; case '2':