Define non-terminal and production
authorStian Soiland-Reyes <>
Tue, 10 Jul 2012 14:11:37 +0100
changeset 3870 aa8abf6d2ee6
parent 3860 a91e5fc0372d
child 3871 01d2cc8809e3
Define non-terminal and production

Reference for EBNF
--- a/model/prov-n.html	Tue Jul 10 13:20:24 2012 +0100
+++ b/model/prov-n.html	Tue Jul 10 14:11:37 2012 +0100
@@ -32,6 +32,10 @@
 	border-color: gray;
 	-moz-border-radius: ;
+.grammarRef {
+    font-family: "Consolas", "Inconsolata", "Liberation", "Monaco", "Monospace", monospace ;
+    text-size: 90% ;
     <script src="grammar/ll.js" class="remove"></script>
@@ -498,16 +502,29 @@
 <section id="grammar-notation">
 <h3>EBNF Grammar</h3>
-<p>The grammar is specified using the Extended  Backus-Naur Form (EBNF) notation.</p>
+<p>The grammar is specified using a subset of the Extended Backus-Naur
+Form (EBNF) notation, as defined in Extensible Markup Language (XML) 1.1
+[[XML11]] section <a
+The below provides an introduction to the EBNF notation used in
+this document.</p>
 <div class="grammar">
-  Each production rule (or <dfn>production</dfn>, for short) in the grammar defines one non-terminal symbol <span class="nonterminal">E</span>, in the following form:</p>
+  EBNF specifies a series of production rules (<dfn>production</dfn>). 
+  Each production rule in the grammar defines a symbol <span
+  class="nonterminal">E</span> (the <dfn>non-terminal symbol</dfn>)
+  using the following form:</p>
 <span class="nonterminal">E</span>&nbsp;::= <em>term</em>
-<p>Within the term on the right-hand side of a rule, the following terms are used to match strings of one or more characters:
+<p>Within the term on the right-hand side of a rule, the following
+<em>term</em>s are used to match strings of one or more characters:
-<span class="nonterminal">E</span>: matches term satisfying rule for symbol E.
+<span class="nonterminal">E</span>: matches production for non-terminal symbol E.
@@ -516,7 +533,7 @@
-<span class="optional"><em>term</em></span>: optional <em>term</em>, matches <em>term</em> or nothing.
+<span class="optional"><em>term</em></span>: optional, matches <em>term</em> or nothing.
@@ -537,9 +554,13 @@
 <section id="main-productions">
 <h3>Main Productions</h3>
-The grammar is centered on nonterminals for various types of <a class="grammarRef" href="#prod-expression">expression</a>. The main production is introduced here below as it reflects the rationale for the design of the entire grammar. Note that parser developers may use the top level
-<a class="grammarRef" href="#prod-bundle">bundle</a>  nonterminal as a starting point instead.
+The grammar groups the general PROV-N <em>non-terminals</em> in a
+<em>production rule</em> called <code class="grammarRef">expression</code>
+(shown below). This production is introduced as it provides an 
+entry point for the core expressions of this grammar. Note that parser
+developers should use the production rule for the <a href="#prod-bundle">top
+level <span class="grammarRef">bundle</span></a> as a starting point