<?php require_once "autoload.php"; $bnf = new BNF\bnf(); $bnf->parseRules(file_get_contents("json.bnf")); echo $bnf->render("object") . "\n "; echo $bnf->render("array") . "\n "; echo $bnf->render("value") . "\n "; echo $bnf->render("number") . "\n "; echo $bnf->render("string") . "\n "; echo $bnf->render("not empty string") . "\n ";
<?php require_once "autoload.php"; $bnf = new BNF\bnf(); $bnf->parseRules(file_get_contents("json.bnf")); echo $bnf->render("object") . "\n "; echo $bnf->render("array") . "\n "; echo $bnf->render("value") . "\n "; echo $bnf->render("number") . "\n "; echo $bnf->render("string") . "\n "; echo $bnf->render("not empty string") . "\n "; $rules = new BNF\bnf(); $rules->parseRules(file_get_contents("rules.bnf")); echo $rules->render("phrase", " ") . "\n";
<?php require_once "autoload.php"; if (!isset($_SESSION['bnf']) or $_GET['reset']) { $bnf = new BNF\bnf(); $syntax = BNF\bnfPrepareSpecialSyntax::ecma("ECMA_262_simple.bnf"); $bnf->parseRules($syntax); $_SESSION['bnf'] = serialize($bnf); $_SESSION['syntax'] = $syntax; } else { $bnf = unserialize($_SESSION['bnf']); $syntax = $_SESSION['syntax']; } $file = fopen("ECMA_262_simple.bnf", "r"); $titles = array(); $sees = array(); $rule = ""; while ($line = fgets($file)) { if ($line[0] == "#") { if ($line[1] == "#") { if (isset($sees[count($sees) - 1])) { $sees[count($sees) - 1]['strrule'] = htmlspecialchars($rule); } $rule = ""; $titles[count($titles) - 1]['see']++; $sees[] = array('value' => "See section " . trim(substr($line, 6)), "title" => $titles[count($titles) - 1]['title'], "subtitle" => isset($titles[count($titles) - 1]['subtitle']) ? $titles[count($titles) - 1]['subtitle'] : ""); } else { if (isset($line[4]) and $line[4] != "." or count($titles) == 0) { $titles[] = array(); $titles[count($titles) - 1]['see'] = 0; }