<?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; }
<?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"; if (!isset($_SESSION['bnf']) or $_GET['reset']) { $bnf = new BNF\bnf(); $bnf->parseRules(file_get_contents("json.bnf")); $_SESSION['bnf'] = serialize($bnf); } else { $bnf = unserialize($_SESSION['bnf']); } $graph = $bnf->table("object", 2); $graph .= $bnf->table("array", 1); $graph .= $bnf->table("value", 1); $graph .= $bnf->table("number", 1); $graph .= $bnf->table("string", 1); $graph .= $bnf->table("not empty string", 1); $graph .= $bnf->table("char content string", 1); ?> <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <?php echo $bnf->getCssLink(".."); ?> <title>Représentation JSON par chargement de règle bnf</title> </head> <body><pre> <?php foreach (array("object", "array", "value", "number", "string", "not empty string") as $rule) { echo "a(n) {$rule} : " . $bnf->render($rule) . "\n"; }