Example #1
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 ";
$rules = new BNF\bnf();
$rules->parseRules(file_get_contents("rules.bnf"));
echo $rules->render("phrase", " ") . "\n";
Example #2
0
<?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;
            }
Example #3
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 ";
Example #4
0
<?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&eacute;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";
}