~ s/IRIref/iri/
authorEric Prud'hommeaux <eric@w3.org>
Sat, 31 Mar 2012 19:58:10 -0400
changeset 251 97caa695bdb3
parent 250 a39a922e1a50
child 252 7074e1c448e0
~ s/IRIref/iri/
~ s/IRI_REF/IRIREF/
~ BLANK_NODE_LABEL doesn't use PN_LOCAL
rdf-turtle/turtle-bnf.html
--- a/rdf-turtle/turtle-bnf.html	Fri Mar 30 12:52:44 2012 -0700
+++ b/rdf-turtle/turtle-bnf.html	Sat Mar 31 19:58:10 2012 -0400
@@ -3,289 +3,237 @@
 
 <tbody><tr><td colspan="4" class="grammarSection"><h3><a id="productions" name="productions">Productions</a>:</h3></td></tr></tbody>
 
-<tbody class="prod">
+<tbody class="term">
 <tr valign="baseline">
 <td><a id="prod-turtle2-turtleDoc" name="prod-turtle2-turtleDoc"></a>[<span class="prodNo">1</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production prod">turtleDoc</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">(<span class="prod"><a class="grammarRef" href="#prod-turtle2-statement">statement</a></span>)*</code></td>
-
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-statement">statement</a></span>*</code></td>
 </tr>
 </tbody>
 
-<tbody class="prod">
+<tbody class="term">
 <tr valign="baseline">
 <td><a id="prod-turtle2-statement" name="prod-turtle2-statement"></a>[<span class="prodNo">2</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production prod">statement</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-directive">directive</a></span> "."<br/>
-
-| <span class="prod"><a class="grammarRef" href="#prod-turtle2-triples">triples</a></span> "."</code></td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-directive">directive</a></span> '.' | <span class="prod"><a class="grammarRef" href="#prod-turtle2-triples">triples</a></span> '.'</code></td>
 </tr>
 </tbody>
 
-<tbody class="prod">
+<tbody class="term">
 <tr valign="baseline">
 <td><a id="prod-turtle2-directive" name="prod-turtle2-directive"></a>[<span class="prodNo">3</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production prod">directive</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-prefixID">prefixID</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#prod-turtle2-base">base</a></span></code></td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-prefixID">prefixID</a></span> | <span class="prod"><a class="grammarRef" href="#prod-turtle2-base">base</a></span></code></td>
 </tr>
 </tbody>
 
-<tbody class="prod">
+<tbody class="term">
 <tr valign="baseline">
 <td><a id="prod-turtle2-prefixID" name="prod-turtle2-prefixID"></a>[<span class="prodNo">4</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production prod">prefixID</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-PREFIX">PREFIX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-PNAME_NS">PNAME_NS</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-IRI_REF">IRI_REF</a></span></code></td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-PREFIX">PREFIX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-PNAME_NS">PNAME_NS</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-IRIREF">IRIREF</a></span></code></td>
 </tr>
 </tbody>
 
-<tbody class="prod">
+<tbody class="term">
 <tr valign="baseline">
 <td><a id="prod-turtle2-base" name="prod-turtle2-base"></a>[<span class="prodNo">5</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production prod">base</code></td>
-
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-BASE">BASE</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-IRI_REF">IRI_REF</a></span></code></td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-BASE">BASE</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-IRIREF">IRIREF</a></span></code></td>
 </tr>
 </tbody>
 
-<tbody class="prod">
+<tbody class="term">
 <tr valign="baseline">
 <td><a id="prod-turtle2-triples" name="prod-turtle2-triples"></a>[<span class="prodNo">6</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production prod">triples</code></td>
-
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
 <td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-subject">subject</a></span> <span class="prod"><a class="grammarRef" href="#prod-turtle2-predicateObjectList">predicateObjectList</a></span></code></td>
 </tr>
 </tbody>
 
-<tbody class="prod">
+<tbody class="term">
 <tr valign="baseline">
 <td><a id="prod-turtle2-predicateObjectList" name="prod-turtle2-predicateObjectList"></a>[<span class="prodNo">7</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production prod">predicateObjectList</code></td>
-
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-verb">verb</a></span> <span class="prod"><a class="grammarRef" href="#prod-turtle2-objectList">objectList</a></span> (( ";" <span class="prod"><a class="grammarRef" href="#prod-turtle2-verb">verb</a></span> <span class="prod"><a class="grammarRef" href="#prod-turtle2-objectList">objectList</a></span> ))* (";")?</code></td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-verb">verb</a></span> <span class="prod"><a class="grammarRef" href="#prod-turtle2-objectList">objectList</a></span> ( ';' <span class="prod"><a class="grammarRef" href="#prod-turtle2-verb">verb</a></span> <span class="prod"><a class="grammarRef" href="#prod-turtle2-objectList">objectList</a></span> )* ';'?</code></td>
 </tr>
 </tbody>
 
-<tbody class="prod">
-
+<tbody class="term">
 <tr valign="baseline">
 <td><a id="prod-turtle2-objectList" name="prod-turtle2-objectList"></a>[<span class="prodNo">8</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production prod">objectList</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-object">object</a></span> (( "," <span class="prod"><a class="grammarRef" href="#prod-turtle2-object">object</a></span> ))*</code></td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-object">object</a></span> ( ',' <span class="prod"><a class="grammarRef" href="#prod-turtle2-object">object</a></span> )*</code></td>
 </tr>
-
 </tbody>
 
-<tbody class="prod">
+<tbody class="term">
 <tr valign="baseline">
 <td><a id="prod-turtle2-verb" name="prod-turtle2-verb"></a>[<span class="prodNo">9</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production prod">verb</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-predicate">predicate</a></span><br/>
-| "a"</code></td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-predicate">predicate</a></span> | 'a'</code></td>
 </tr>
-
 </tbody>
 
-<tbody class="prod">
+<tbody class="term">
 <tr valign="baseline">
 <td><a id="prod-turtle2-subject" name="prod-turtle2-subject"></a>[<span class="prodNo">10</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production prod">subject</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-IRIref">IRIref</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#prod-turtle2-blank">blank</a></span></code></td>
-
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-iri">iri</a></span> | <span class="prod"><a class="grammarRef" href="#prod-turtle2-blank">blank</a></span></code></td>
 </tr>
 </tbody>
 
-<tbody class="prod">
+<tbody class="term">
 <tr valign="baseline">
 <td><a id="prod-turtle2-predicate" name="prod-turtle2-predicate"></a>[<span class="prodNo">11</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production prod">predicate</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-IRIref">IRIref</a></span></code></td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-iri">iri</a></span></code></td>
 </tr>
 </tbody>
 
-<tbody class="prod">
+<tbody class="term">
 <tr valign="baseline">
 <td><a id="prod-turtle2-object" name="prod-turtle2-object"></a>[<span class="prodNo">12</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production prod">object</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-IRIref">IRIref</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#prod-turtle2-blank">blank</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#prod-turtle2-literal">literal</a></span></code></td>
-
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-iri">iri</a></span> | <span class="prod"><a class="grammarRef" href="#prod-turtle2-blank">blank</a></span> | <span class="prod"><a class="grammarRef" href="#prod-turtle2-literal">literal</a></span></code></td>
 </tr>
 </tbody>
 
-<tbody class="prod">
+<tbody class="term">
 <tr valign="baseline">
 <td><a id="prod-turtle2-literal" name="prod-turtle2-literal"></a>[<span class="prodNo">13</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production prod">literal</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-RDFLiteral">RDFLiteral</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#prod-turtle2-NumericLiteral">NumericLiteral</a></span><br/>
-
-| <span class="prod"><a class="grammarRef" href="#prod-turtle2-BooleanLiteral">BooleanLiteral</a></span></code></td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-RDFLiteral">RDFLiteral</a></span> | <span class="prod"><a class="grammarRef" href="#prod-turtle2-NumericLiteral">NumericLiteral</a></span> | <span class="prod"><a class="grammarRef" href="#prod-turtle2-BooleanLiteral">BooleanLiteral</a></span></code></td>
 </tr>
 </tbody>
 
-<tbody class="prod">
+<tbody class="term">
 <tr valign="baseline">
 <td><a id="prod-turtle2-blank" name="prod-turtle2-blank"></a>[<span class="prodNo">14</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production prod">blank</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-BlankNode">BlankNode</a></span><br/>
-
-| <span class="prod"><a class="grammarRef" href="#prod-turtle2-blankNodePropertyList">blankNodePropertyList</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#prod-turtle2-collection">collection</a></span></code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-turtle2-blankNodePropertyList" name="prod-turtle2-blankNodePropertyList"></a>[<span class="prodNo">15</span>]&nbsp;&nbsp;&nbsp;</td>
-<td><code class="production prod">blankNodePropertyList</code></td>
-
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"[" <span class="prod"><a class="grammarRef" href="#prod-turtle2-predicateObjectList">predicateObjectList</a></span> "]"</code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-turtle2-collection" name="prod-turtle2-collection"></a>[<span class="prodNo">16</span>]&nbsp;&nbsp;&nbsp;</td>
-<td><code class="production prod">collection</code></td>
-
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"(" (<span class="prod"><a class="grammarRef" href="#prod-turtle2-object">object</a></span>)* ")"</code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-turtle2-RDFLiteral" name="prod-turtle2-RDFLiteral"></a>[<span class="prodNo">17</span>]&nbsp;&nbsp;&nbsp;</td>
-<td><code class="production prod">RDFLiteral</code></td>
-
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-String">String</a></span> (( <span class="prod"><a class="grammarRef" href="#term-turtle2-LANGTAG">LANGTAG</a></span> | ( "^^" <span class="prod"><a class="grammarRef" href="#prod-turtle2-IRIref">IRIref</a></span> ) ))?</code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-
-<td><a id="prod-turtle2-NumericLiteral" name="prod-turtle2-NumericLiteral"></a>[<span class="prodNo">18</span>]&nbsp;&nbsp;&nbsp;</td>
-<td><code class="production prod">NumericLiteral</code></td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-NumericLiteralUnsigned">NumericLiteralUnsigned</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#prod-turtle2-NumericLiteralPositive">NumericLiteralPositive</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#prod-turtle2-NumericLiteralNegative">NumericLiteralNegative</a></span></code></td>
-
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-turtle2-NumericLiteralUnsigned" name="prod-turtle2-NumericLiteralUnsigned"></a>[<span class="prodNo">19</span>]&nbsp;&nbsp;&nbsp;</td>
-<td><code class="production prod">NumericLiteralUnsigned</code></td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-INTEGER">INTEGER</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#term-turtle2-DECIMAL">DECIMAL</a></span><br/>
-
-| <span class="prod"><a class="grammarRef" href="#term-turtle2-DOUBLE">DOUBLE</a></span></code></td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-BlankNode">BlankNode</a></span> | <span class="prod"><a class="grammarRef" href="#prod-turtle2-blankNodePropertyList">blankNodePropertyList</a></span> | <span class="prod"><a class="grammarRef" href="#prod-turtle2-collection">collection</a></span></code></td>
 </tr>
 </tbody>
 
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-turtle2-NumericLiteralPositive" name="prod-turtle2-NumericLiteralPositive"></a>[<span class="prodNo">20</span>]&nbsp;&nbsp;&nbsp;</td>
-<td><code class="production prod">NumericLiteralPositive</code></td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-INTEGER_POSITIVE">INTEGER_POSITIVE</a></span><br/>
-
-| <span class="prod"><a class="grammarRef" href="#term-turtle2-DECIMAL_POSITIVE">DECIMAL_POSITIVE</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#term-turtle2-DOUBLE_POSITIVE">DOUBLE_POSITIVE</a></span></code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
+<tbody class="term">
 <tr valign="baseline">
-<td><a id="prod-turtle2-NumericLiteralNegative" name="prod-turtle2-NumericLiteralNegative"></a>[<span class="prodNo">21</span>]&nbsp;&nbsp;&nbsp;</td>
-<td><code class="production prod">NumericLiteralNegative</code></td>
-
+<td><a id="prod-turtle2-blankNodePropertyList" name="prod-turtle2-blankNodePropertyList"></a>[<span class="prodNo">15</span>]&nbsp;&nbsp;&nbsp;</td>
+<td><code class="production prod">blankNodePropertyList</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-INTEGER_NEGATIVE">INTEGER_NEGATIVE</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#term-turtle2-DECIMAL_NEGATIVE">DECIMAL_NEGATIVE</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#term-turtle2-DOUBLE_NEGATIVE">DOUBLE_NEGATIVE</a></span></code></td>
-</tr>
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-turtle2-BooleanLiteral" name="prod-turtle2-BooleanLiteral"></a>[<span class="prodNo">22</span>]&nbsp;&nbsp;&nbsp;</td>
-
-<td><code class="production prod">BooleanLiteral</code></td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"true"<br/>
-| "false"</code></td>
+<td><code class="content">'[' <span class="prod"><a class="grammarRef" href="#prod-turtle2-predicateObjectList">predicateObjectList</a></span> ']'</code></td>
 </tr>
 </tbody>
 
-<tbody class="prod">
+<tbody class="term">
 <tr valign="baseline">
-<td><a id="prod-turtle2-String" name="prod-turtle2-String"></a>[<span class="prodNo">23</span>]&nbsp;&nbsp;&nbsp;</td>
-
-<td><code class="production prod">String</code></td>
+<td><a id="prod-turtle2-collection" name="prod-turtle2-collection"></a>[<span class="prodNo">16</span>]&nbsp;&nbsp;&nbsp;</td>
+<td><code class="production prod">collection</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-STRING_LITERAL1">STRING_LITERAL1</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#term-turtle2-STRING_LITERAL2">STRING_LITERAL2</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#term-turtle2-STRING_LITERAL_LONG1">STRING_LITERAL_LONG1</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#term-turtle2-STRING_LITERAL_LONG2">STRING_LITERAL_LONG2</a></span></code></td>
+<td><code class="content">'(' <span class="prod"><a class="grammarRef" href="#prod-turtle2-object">object</a></span>* ')'</code></td>
 </tr>
 </tbody>
 
-<tbody class="prod">
+<tbody class="term">
 <tr valign="baseline">
-<td><a id="prod-turtle2-IRIref" name="prod-turtle2-IRIref"></a>[<span class="prodNo">24</span>]&nbsp;&nbsp;&nbsp;</td>
-<td><code class="production prod">IRIref</code></td>
+<td><a id="prod-turtle2-RDFLiteral" name="prod-turtle2-RDFLiteral"></a>[<span class="prodNo">121s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td><code class="production prod">RDFLiteral</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-IRI_REF">IRI_REF</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#prod-turtle2-PrefixedName">PrefixedName</a></span></code></td>
-</tr>
-
-</tbody>
-
-<tbody class="prod">
-<tr valign="baseline">
-<td><a id="prod-turtle2-PrefixedName" name="prod-turtle2-PrefixedName"></a>[<span class="prodNo">25</span>]&nbsp;&nbsp;&nbsp;</td>
-<td><code class="production prod">PrefixedName</code></td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-PNAME_LN">PNAME_LN</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#term-turtle2-PNAME_NS">PNAME_NS</a></span></code></td>
-
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-String">String</a></span> ( <span class="prod"><a class="grammarRef" href="#term-turtle2-LANGTAG">LANGTAG</a></span> | ( '^^' <span class="prod"><a class="grammarRef" href="#prod-turtle2-iri">iri</a></span> ) )?</code></td>
 </tr>
 </tbody>
 
-<tbody class="prod">
+<tbody class="term">
 <tr valign="baseline">
-<td><a id="prod-turtle2-BlankNode" name="prod-turtle2-BlankNode"></a>[<span class="prodNo">26</span>]&nbsp;&nbsp;&nbsp;</td>
+<td><a id="prod-turtle2-NumericLiteral" name="prod-turtle2-NumericLiteral"></a>[<span class="prodNo">122s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td><code class="production prod">NumericLiteral</code></td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#prod-turtle2-NumericLiteralUnsigned">NumericLiteralUnsigned</a></span> | <span class="prod"><a class="grammarRef" href="#prod-turtle2-NumericLiteralPositive">NumericLiteralPositive</a></span> | <span class="prod"><a class="grammarRef" href="#prod-turtle2-NumericLiteralNegative">NumericLiteralNegative</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="prod-turtle2-NumericLiteralUnsigned" name="prod-turtle2-NumericLiteralUnsigned"></a>[<span class="prodNo">123s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td><code class="production prod">NumericLiteralUnsigned</code></td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-INTEGER">INTEGER</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-DECIMAL">DECIMAL</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-DOUBLE">DOUBLE</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="prod-turtle2-NumericLiteralPositive" name="prod-turtle2-NumericLiteralPositive"></a>[<span class="prodNo">124s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td><code class="production prod">NumericLiteralPositive</code></td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-INTEGER_POSITIVE">INTEGER_POSITIVE</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-DECIMAL_POSITIVE">DECIMAL_POSITIVE</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-DOUBLE_POSITIVE">DOUBLE_POSITIVE</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="prod-turtle2-NumericLiteralNegative" name="prod-turtle2-NumericLiteralNegative"></a>[<span class="prodNo">125s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td><code class="production prod">NumericLiteralNegative</code></td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-INTEGER_NEGATIVE">INTEGER_NEGATIVE</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-DECIMAL_NEGATIVE">DECIMAL_NEGATIVE</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-DOUBLE_NEGATIVE">DOUBLE_NEGATIVE</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="prod-turtle2-BooleanLiteral" name="prod-turtle2-BooleanLiteral"></a>[<span class="prodNo">126s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td><code class="production prod">BooleanLiteral</code></td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content">'true' | 'false'</code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="prod-turtle2-String" name="prod-turtle2-String"></a>[<span class="prodNo">127s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td><code class="production prod">String</code></td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-STRING_LITERAL1">STRING_LITERAL1</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-STRING_LITERAL2">STRING_LITERAL2</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-STRING_LITERAL_LONG1">STRING_LITERAL_LONG1</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-STRING_LITERAL_LONG2">STRING_LITERAL_LONG2</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="prod-turtle2-iri" name="prod-turtle2-iri"></a>[<span class="prodNo">128s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td><code class="production prod">iri</code></td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-IRIREF">IRIREF</a></span> | <span class="prod"><a class="grammarRef" href="#prod-turtle2-PrefixedName">PrefixedName</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="prod-turtle2-PrefixedName" name="prod-turtle2-PrefixedName"></a>[<span class="prodNo">129s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td><code class="production prod">PrefixedName</code></td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-PNAME_LN">PNAME_LN</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-PNAME_NS">PNAME_NS</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="prod-turtle2-BlankNode" name="prod-turtle2-BlankNode"></a>[<span class="prodNo">130t</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production prod">BlankNode</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-BLANK_NODE_LABEL">BLANK_NODE_LABEL</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#term-turtle2-ANON">ANON</a></span></code></td>
-
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-BLANK_NODE_LABEL">BLANK_NODE_LABEL</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-ANON">ANON</a></span></code></td>
 </tr>
 </tbody>
 
@@ -294,7 +242,7 @@
 <td><a id="term-turtle2-BASE" name="term-turtle2-BASE"></a>[<span class="prodNo">27</span>]&nbsp;&nbsp;&nbsp;</td>
 <td>&lt;<code class="production term">BASE</code>&gt;</td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"@base"</code></td>
+<td><code class="content">'@base'</code></td>
 </tr>
 </tbody>
 
@@ -303,201 +251,178 @@
 <td><a id="term-turtle2-PREFIX" name="term-turtle2-PREFIX"></a>[<span class="prodNo">28</span>]&nbsp;&nbsp;&nbsp;</td>
 <td>&lt;<code class="production term">PREFIX</code>&gt;</td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"@prefix"</code></td>
-</tr>
-</tbody>
-
-<tbody class="term">
-
-<tr valign="baseline">
-<td><a id="term-turtle2-IRI_REF" name="term-turtle2-IRI_REF"></a>[<span class="prodNo">29</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">IRI_REF</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"&lt;" (( [^&lt;&gt;\"{}|^`\\] - [#0000- ] | <span class="prod"><a class="grammarRef" href="#term-turtle2-UCHAR">UCHAR</a></span> ))* "&gt;"</code></td>
-
-</tr>
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-<td><a id="term-turtle2-PNAME_NS" name="term-turtle2-PNAME_NS"></a>[<span class="prodNo">30</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">PNAME_NS</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">(( <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_PREFIX">PN_PREFIX</a></span> ))? ":"</code></td>
-
-</tr>
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-<td><a id="term-turtle2-PNAME_LN" name="term-turtle2-PNAME_LN"></a>[<span class="prodNo">31</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">PNAME_LN</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-PNAME_NS">PNAME_NS</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_LOCAL">PN_LOCAL</a></span></code></td>
-
-</tr>
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-<td><a id="term-turtle2-BLANK_NODE_LABEL" name="term-turtle2-BLANK_NODE_LABEL"></a>[<span class="prodNo">32</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">BLANK_NODE_LABEL</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"_:" <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_LOCAL">PN_LOCAL</a></span></code></td>
-</tr>
-
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-<td><a id="term-turtle2-LANGTAG" name="term-turtle2-LANGTAG"></a>[<span class="prodNo">33</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">LANGTAG</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-BASE">BASE</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#term-turtle2-PREFIX">PREFIX</a></span><br/>
-
-| "@" ([a-zA-Z])+ (( "-" ([a-zA-Z0-9])+ ))*</code></td>
-</tr>
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-<td><a id="term-turtle2-INTEGER" name="term-turtle2-INTEGER"></a>[<span class="prodNo">34</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">INTEGER</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">([0-9])+</code></td>
-
-</tr>
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-<td><a id="term-turtle2-DECIMAL" name="term-turtle2-DECIMAL"></a>[<span class="prodNo">35</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">DECIMAL</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">([0-9])+ "." ([0-9])+<br/>
-| "." ([0-9])+</code></td>
-
-</tr>
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-<td><a id="term-turtle2-DOUBLE" name="term-turtle2-DOUBLE"></a>[<span class="prodNo">36</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">DOUBLE</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">([0-9])+ "." ([0-9])+ <span class="prod"><a class="grammarRef" href="#term-turtle2-EXPONENT">EXPONENT</a></span><br/>
-| "." (( [0-9] ))+ <span class="prod"><a class="grammarRef" href="#term-turtle2-EXPONENT">EXPONENT</a></span><br/>
-
-| (( [0-9] ))+ <span class="prod"><a class="grammarRef" href="#term-turtle2-EXPONENT">EXPONENT</a></span></code></td>
+<td><code class="content">'@prefix'</code></td>
 </tr>
 </tbody>
 
 <tbody class="term">
 <tr valign="baseline">
-<td><a id="term-turtle2-INTEGER_POSITIVE" name="term-turtle2-INTEGER_POSITIVE"></a>[<span class="prodNo">37</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">INTEGER_POSITIVE</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"+" <span class="prod"><a class="grammarRef" href="#term-turtle2-INTEGER">INTEGER</a></span></code></td>
-
-</tr>
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-<td><a id="term-turtle2-DECIMAL_POSITIVE" name="term-turtle2-DECIMAL_POSITIVE"></a>[<span class="prodNo">38</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">DECIMAL_POSITIVE</code>&gt;</td>
+<td><a id="term-turtle2-IRIREF" name="term-turtle2-IRIREF"></a>[<span class="prodNo">131t</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">IRIREF</code>&gt;</td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"+" <span class="prod"><a class="grammarRef" href="#term-turtle2-DECIMAL">DECIMAL</a></span></code></td>
-</tr>
-
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-<td><a id="term-turtle2-DOUBLE_POSITIVE" name="term-turtle2-DOUBLE_POSITIVE"></a>[<span class="prodNo">39</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">DOUBLE_POSITIVE</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"+" <span class="prod"><a class="grammarRef" href="#term-turtle2-DOUBLE">DOUBLE</a></span></code></td>
-</tr>
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-<td><a id="term-turtle2-INTEGER_NEGATIVE" name="term-turtle2-INTEGER_NEGATIVE"></a>[<span class="prodNo">40</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">INTEGER_NEGATIVE</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"-" <span class="prod"><a class="grammarRef" href="#term-turtle2-INTEGER">INTEGER</a></span></code></td>
+<td><code class="content">'&lt;' ( [^#x00-#x20&lt;&gt;\"{}|^`\\] | <span class="prod"><a class="grammarRef" href="#term-turtle2-UCHAR">UCHAR</a></span> )* '&gt;'</code></td>
 </tr>
 </tbody>
 
 <tbody class="term">
 <tr valign="baseline">
-<td><a id="term-turtle2-DECIMAL_NEGATIVE" name="term-turtle2-DECIMAL_NEGATIVE"></a>[<span class="prodNo">41</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">DECIMAL_NEGATIVE</code>&gt;</td>
+<td><a id="term-turtle2-PNAME_NS" name="term-turtle2-PNAME_NS"></a>[<span class="prodNo">132s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">PNAME_NS</code>&gt;</td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"-" <span class="prod"><a class="grammarRef" href="#term-turtle2-DECIMAL">DECIMAL</a></span></code></td>
-</tr>
-</tbody>
-
-<tbody class="term">
-
-<tr valign="baseline">
-<td><a id="term-turtle2-DOUBLE_NEGATIVE" name="term-turtle2-DOUBLE_NEGATIVE"></a>[<span class="prodNo">42</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">DOUBLE_NEGATIVE</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"-" <span class="prod"><a class="grammarRef" href="#term-turtle2-DOUBLE">DOUBLE</a></span></code></td>
-</tr>
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-
-<td><a id="term-turtle2-EXPONENT" name="term-turtle2-EXPONENT"></a>[<span class="prodNo">43</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">EXPONENT</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">[eE] ([+-])? ([0-9])+</code></td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-PN_PREFIX">PN_PREFIX</a></span>? ':'</code></td>
 </tr>
 </tbody>
 
 <tbody class="term">
 <tr valign="baseline">
-<td><a id="term-turtle2-STRING_LITERAL1" name="term-turtle2-STRING_LITERAL1"></a>[<span class="prodNo">44</span>]&nbsp;&nbsp;&nbsp;</td>
-
-<td>&lt;<code class="production term">STRING_LITERAL1</code>&gt;</td>
+<td><a id="term-turtle2-PNAME_LN" name="term-turtle2-PNAME_LN"></a>[<span class="prodNo">133s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">PNAME_LN</code>&gt;</td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"'" (( ( [^'\\\n\r] ) | <span class="prod"><a class="grammarRef" href="#term-turtle2-ECHAR">ECHAR</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-UCHAR">UCHAR</a></span> ))* "'"</code></td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-PNAME_NS">PNAME_NS</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_LOCAL">PN_LOCAL</a></span></code></td>
 </tr>
 </tbody>
 
 <tbody class="term">
 <tr valign="baseline">
-
-<td><a id="term-turtle2-STRING_LITERAL2" name="term-turtle2-STRING_LITERAL2"></a>[<span class="prodNo">45</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">STRING_LITERAL2</code>&gt;</td>
+<td><a id="term-turtle2-BLANK_NODE_LABEL" name="term-turtle2-BLANK_NODE_LABEL"></a>[<span class="prodNo">134t</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">BLANK_NODE_LABEL</code>&gt;</td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">'"' (( ( [^\"\\\n\r] ) | <span class="prod"><a class="grammarRef" href="#term-turtle2-ECHAR">ECHAR</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-UCHAR">UCHAR</a></span> ))* '"'</code></td>
-
+<td><code class="content">'_:' ( <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS_U">PN_CHARS_U</a></span> | [0-9] ) ( ( <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS">PN_CHARS</a></span> | '.' )* <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS">PN_CHARS</a></span> )?</code></td>
 </tr>
 </tbody>
 
 <tbody class="term">
 <tr valign="baseline">
-<td><a id="term-turtle2-STRING_LITERAL_LONG1" name="term-turtle2-STRING_LITERAL_LONG1"></a>[<span class="prodNo">46</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">STRING_LITERAL_LONG1</code>&gt;</td>
+<td><a id="term-turtle2-LANGTAG" name="term-turtle2-LANGTAG"></a>[<span class="prodNo">137s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">LANGTAG</code>&gt;</td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"'''" (( (( "'" | "''" ))? ( [^'\\] | <span class="prod"><a class="grammarRef" href="#term-turtle2-ECHAR">ECHAR</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-UCHAR">UCHAR</a></span> ) ))* "'''"</code></td>
-
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-BASE">BASE</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-PREFIX">PREFIX</a></span> | '@' [a-zA-Z]+ ( '-' [a-zA-Z0-9]+ )*</code></td>
 </tr>
 </tbody>
 
 <tbody class="term">
 <tr valign="baseline">
-<td><a id="term-turtle2-STRING_LITERAL_LONG2" name="term-turtle2-STRING_LITERAL_LONG2"></a>[<span class="prodNo">47</span>]&nbsp;&nbsp;&nbsp;</td>
+<td><a id="term-turtle2-INTEGER" name="term-turtle2-INTEGER"></a>[<span class="prodNo">138s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">INTEGER</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content">[0-9]+</code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-DECIMAL" name="term-turtle2-DECIMAL"></a>[<span class="prodNo">139s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">DECIMAL</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content">[0-9]+ '.' [0-9]+ | '.' [0-9]+</code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-DOUBLE" name="term-turtle2-DOUBLE"></a>[<span class="prodNo">140s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">DOUBLE</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content">[0-9]+ '.' [0-9]+ <span class="prod"><a class="grammarRef" href="#term-turtle2-EXPONENT">EXPONENT</a></span> | '.' [0-9]+ <span class="prod"><a class="grammarRef" href="#term-turtle2-EXPONENT">EXPONENT</a></span> | [0-9]+ <span class="prod"><a class="grammarRef" href="#term-turtle2-EXPONENT">EXPONENT</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-INTEGER_POSITIVE" name="term-turtle2-INTEGER_POSITIVE"></a>[<span class="prodNo">141s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">INTEGER_POSITIVE</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content">'+' <span class="prod"><a class="grammarRef" href="#term-turtle2-INTEGER">INTEGER</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-DECIMAL_POSITIVE" name="term-turtle2-DECIMAL_POSITIVE"></a>[<span class="prodNo">142s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">DECIMAL_POSITIVE</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content">'+' <span class="prod"><a class="grammarRef" href="#term-turtle2-DECIMAL">DECIMAL</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-DOUBLE_POSITIVE" name="term-turtle2-DOUBLE_POSITIVE"></a>[<span class="prodNo">143s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">DOUBLE_POSITIVE</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content">'+' <span class="prod"><a class="grammarRef" href="#term-turtle2-DOUBLE">DOUBLE</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-INTEGER_NEGATIVE" name="term-turtle2-INTEGER_NEGATIVE"></a>[<span class="prodNo">144s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">INTEGER_NEGATIVE</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content">'-' <span class="prod"><a class="grammarRef" href="#term-turtle2-INTEGER">INTEGER</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-DECIMAL_NEGATIVE" name="term-turtle2-DECIMAL_NEGATIVE"></a>[<span class="prodNo">145s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">DECIMAL_NEGATIVE</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content">'-' <span class="prod"><a class="grammarRef" href="#term-turtle2-DECIMAL">DECIMAL</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-DOUBLE_NEGATIVE" name="term-turtle2-DOUBLE_NEGATIVE"></a>[<span class="prodNo">146s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">DOUBLE_NEGATIVE</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content">'-' <span class="prod"><a class="grammarRef" href="#term-turtle2-DOUBLE">DOUBLE</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-EXPONENT" name="term-turtle2-EXPONENT"></a>[<span class="prodNo">147s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">EXPONENT</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content">[eE] [+-]? [0-9]+</code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-STRING_LITERAL1" name="term-turtle2-STRING_LITERAL1"></a>[<span class="prodNo">148s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">STRING_LITERAL1</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content">"'" ( [^#x27#x5C#xA#xD] | <span class="prod"><a class="grammarRef" href="#term-turtle2-ECHAR">ECHAR</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-UCHAR">UCHAR</a></span> )* "'"</code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-STRING_LITERAL2" name="term-turtle2-STRING_LITERAL2"></a>[<span class="prodNo">149s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">STRING_LITERAL2</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content">'"' ( [^#x22#x5C#xA#xD] | <span class="prod"><a class="grammarRef" href="#term-turtle2-ECHAR">ECHAR</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-UCHAR">UCHAR</a></span> )* '"'</code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-STRING_LITERAL_LONG1" name="term-turtle2-STRING_LITERAL_LONG1"></a>[<span class="prodNo">150s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">STRING_LITERAL_LONG1</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content">"'''" ( ( "'" | "''" )? ( [^'\] | <span class="prod"><a class="grammarRef" href="#term-turtle2-ECHAR">ECHAR</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-UCHAR">UCHAR</a></span> ) )* "'''"</code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-STRING_LITERAL_LONG2" name="term-turtle2-STRING_LITERAL_LONG2"></a>[<span class="prodNo">151s</span>]&nbsp;&nbsp;&nbsp;</td>
 <td>&lt;<code class="production term">STRING_LITERAL_LONG2</code>&gt;</td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">'"""' (( (( '"' | '""' ))? ( [^\"\\] | <span class="prod"><a class="grammarRef" href="#term-turtle2-ECHAR">ECHAR</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-UCHAR">UCHAR</a></span> ) ))* '"""'</code></td>
-
+<td><code class="content">'"""' ( ( '"' | '""' )? ( [^"\] | <span class="prod"><a class="grammarRef" href="#term-turtle2-ECHAR">ECHAR</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-UCHAR">UCHAR</a></span> ) )* '"""'</code></td>
 </tr>
 </tbody>
 
@@ -506,167 +431,125 @@
 <td><a id="term-turtle2-UCHAR" name="term-turtle2-UCHAR"></a>[<span class="prodNo">48</span>]&nbsp;&nbsp;&nbsp;</td>
 <td>&lt;<code class="production term">UCHAR</code>&gt;</td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">( "\\u" <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> )<br/>
-
-| ( "\\U" <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> )</code></td>
-
-</tr>
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-<td><a id="term-turtle2-ECHAR" name="term-turtle2-ECHAR"></a>[<span class="prodNo">49</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">ECHAR</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"\\" [tbnrf\\\"']</code></td>
-</tr>
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-<td><a id="term-turtle2-NIL" name="term-turtle2-NIL"></a>[<span class="prodNo">50</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">NIL</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"(" (( <span class="prod"><a class="grammarRef" href="#term-turtle2-WS">WS</a></span> ))* ")"</code></td>
-</tr>
-
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-<td><a id="term-turtle2-WS" name="term-turtle2-WS"></a>[<span class="prodNo">51</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">WS</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">" "<br/>
-| "\t"<br/>
-| "\r"<br/>
-
-| "\n"</code></td>
-</tr>
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-<td><a id="term-turtle2-ANON" name="term-turtle2-ANON"></a>[<span class="prodNo">52</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">ANON</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"[" (( <span class="prod"><a class="grammarRef" href="#term-turtle2-WS">WS</a></span> ))* "]"</code></td>
-
-</tr>
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-<td><a id="term-turtle2-PN_CHARS_BASE" name="term-turtle2-PN_CHARS_BASE"></a>[<span class="prodNo">53</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">PN_CHARS_BASE</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">[A-Z]<br/>
-| [a-z]<br/>
-
-| [#00C0-#00D6]<br/>
-| [#00D8-#00F6]<br/>
-| [#00F8-#02FF]<br/>
-| [#0370-#037D]<br/>
-| [#037F-#1FFF]<br/>
-| [#200C-#200D]<br/>
-| [#2070-#218F]<br/>
-| [#2C00-#2FEF]<br/>
-| [#3001-#D7FF]<br/>
-
-| [#F900-#FDCF]<br/>
-| [#FDF0-#FFFD]<br/>
-| [#10000-#EFFFF]<br/>
-| <span class="prod"><a class="grammarRef" href="#term-turtle2-UCHAR">UCHAR</a></span></code></td>
+<td><code class="content">( '\u' <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> )<br/>
+| ( '\U' <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> )</code></td>
 </tr>
 </tbody>
 
 <tbody class="term">
 <tr valign="baseline">
-<td><a id="term-turtle2-PN_CHARS_U" name="term-turtle2-PN_CHARS_U"></a>[<span class="prodNo">54</span>]&nbsp;&nbsp;&nbsp;</td>
-
-<td>&lt;<code class="production term">PN_CHARS_U</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS_BASE">PN_CHARS_BASE</a></span><br/>
-| "_"</code></td>
-</tr>
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-<td><a id="term-turtle2-PN_CHARS" name="term-turtle2-PN_CHARS"></a>[<span class="prodNo">55</span>]&nbsp;&nbsp;&nbsp;</td>
-
-<td>&lt;<code class="production term">PN_CHARS</code>&gt;</td>
+<td><a id="term-turtle2-ECHAR" name="term-turtle2-ECHAR"></a>[<span class="prodNo">152s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">ECHAR</code>&gt;</td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS_U">PN_CHARS_U</a></span><br/>
-| "-"<br/>
-| [0-9]<br/>
-| <br/>
-| [#0300-#036F]<br/>
-| [#203F-#2040]</code></td>
-</tr>
-
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-<td><a id="term-turtle2-PN_PREFIX" name="term-turtle2-PN_PREFIX"></a>[<span class="prodNo">56</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">PN_PREFIX</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS_BASE">PN_CHARS_BASE</a></span> (( (( <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS">PN_CHARS</a></span> | "." ))* <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS">PN_CHARS</a></span> ))?</code></td>
-
+<td><code class="content">'\' [tbnrf\\\"']</code></td>
 </tr>
 </tbody>
 
 <tbody class="term">
 <tr valign="baseline">
-<td><a id="term-turtle2-PN_LOCAL" name="term-turtle2-PN_LOCAL"></a>[<span class="prodNo">57</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">PN_LOCAL</code>&gt;</td>
+<td><a id="term-turtle2-NIL" name="term-turtle2-NIL"></a>[<span class="prodNo">157s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">NIL</code>&gt;</td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">( <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS_U">PN_CHARS_U</a></span> | [0-9] | <span class="prod"><a class="grammarRef" href="#term-turtle2-PLX">PLX</a></span> ) (( (( <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS">PN_CHARS</a></span> | "." | <span class="prod"><a class="grammarRef" href="#term-turtle2-PLX">PLX</a></span> ))* ( <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS">PN_CHARS</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-PLX">PLX</a></span> ) ))?</code></td>
-
-</tr>
-</tbody>
-
-<tbody class="term">
-<tr valign="baseline">
-<td><a id="term-turtle2-PLX" name="term-turtle2-PLX"></a>[<span class="prodNo">58</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">PLX</code>&gt;</td>
-<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-PERCENT">PERCENT</a></span><br/>
-| <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_LOCAL_ESC">PN_LOCAL_ESC</a></span></code></td>
-
+<td><code class="content">'(' <span class="prod"><a class="grammarRef" href="#term-turtle2-WS">WS</a></span>* ')'</code></td>
 </tr>
 </tbody>
 
 <tbody class="term">
 <tr valign="baseline">
-<td><a id="term-turtle2-PERCENT" name="term-turtle2-PERCENT"></a>[<span class="prodNo">59</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">PERCENT</code>&gt;</td>
+<td><a id="term-turtle2-WS" name="term-turtle2-WS"></a>[<span class="prodNo">158s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">WS</code>&gt;</td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"%" <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span></code></td>
-
+<td><code class="content">' ' | "\t" | "\r" | "\n"</code></td>
 </tr>
 </tbody>
 
 <tbody class="term">
 <tr valign="baseline">
-<td><a id="term-turtle2-HEX" name="term-turtle2-HEX"></a>[<span class="prodNo">60</span>]&nbsp;&nbsp;&nbsp;</td>
-<td>&lt;<code class="production term">HEX</code>&gt;</td>
+<td><a id="term-turtle2-ANON" name="term-turtle2-ANON"></a>[<span class="prodNo">159s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">ANON</code>&gt;</td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">[0-9]<br/>
-| [A-F]<br/>
-
-| [a-f]</code></td>
+<td><code class="content">'[' <span class="prod"><a class="grammarRef" href="#term-turtle2-WS">WS</a></span>* ']'</code></td>
 </tr>
 </tbody>
 
 <tbody class="term">
 <tr valign="baseline">
-<td><a id="term-turtle2-PN_LOCAL_ESC" name="term-turtle2-PN_LOCAL_ESC"></a>[<span class="prodNo">61</span>]&nbsp;&nbsp;&nbsp;</td>
+<td><a id="term-turtle2-PN_CHARS_BASE" name="term-turtle2-PN_CHARS_BASE"></a>[<span class="prodNo">160s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">PN_CHARS_BASE</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content">[A-Z] | [a-z] | [#00C0-#00D6] | [#00D8-#00F6] | [#00F8-#02FF] | [#0370-#037D] | [#037F-#1FFF] | [#200C-#200D] | [#2070-#218F] | [#2C00-#2FEF] | [#3001-#D7FF] | [#F900-#FDCF] | [#FDF0-#FFFD] | [#10000-#EFFFF]</code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-PN_CHARS_U" name="term-turtle2-PN_CHARS_U"></a>[<span class="prodNo">161s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">PN_CHARS_U</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS_BASE">PN_CHARS_BASE</a></span> | '_'</code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-PN_CHARS" name="term-turtle2-PN_CHARS"></a>[<span class="prodNo">163s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">PN_CHARS</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS_U">PN_CHARS_U</a></span> | '-' | [0-9] | #00B7 | [#0300-#036F] | [#203F-#2040]</code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-PN_PREFIX" name="term-turtle2-PN_PREFIX"></a>[<span class="prodNo">164s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">PN_PREFIX</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS_BASE">PN_CHARS_BASE</a></span> ( ( <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS">PN_CHARS</a></span> | '.' )* <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS">PN_CHARS</a></span> )?</code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-PN_LOCAL" name="term-turtle2-PN_LOCAL"></a>[<span class="prodNo">165s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">PN_LOCAL</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content">( <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS_U">PN_CHARS_U</a></span> | [0-9] | <span class="prod"><a class="grammarRef" href="#term-turtle2-PLX">PLX</a></span> ) ( ( <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS">PN_CHARS</a></span> | '.' | <span class="prod"><a class="grammarRef" href="#term-turtle2-PLX">PLX</a></span> )* ( <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_CHARS">PN_CHARS</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-PLX">PLX</a></span> ) )?</code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-PLX" name="term-turtle2-PLX"></a>[<span class="prodNo">166s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">PLX</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content"><span class="prod"><a class="grammarRef" href="#term-turtle2-PERCENT">PERCENT</a></span> | <span class="prod"><a class="grammarRef" href="#term-turtle2-PN_LOCAL_ESC">PN_LOCAL_ESC</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-PERCENT" name="term-turtle2-PERCENT"></a>[<span class="prodNo">167s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">PERCENT</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content">'%' <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span> <span class="prod"><a class="grammarRef" href="#term-turtle2-HEX">HEX</a></span></code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-HEX" name="term-turtle2-HEX"></a>[<span class="prodNo">168s</span>]&nbsp;&nbsp;&nbsp;</td>
+<td>&lt;<code class="production term">HEX</code>&gt;</td>
+<td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
+<td><code class="content">[0-9] | [A-F] | [a-f]</code></td>
+</tr>
+</tbody>
+
+<tbody class="term">
+<tr valign="baseline">
+<td><a id="term-turtle2-PN_LOCAL_ESC" name="term-turtle2-PN_LOCAL_ESC"></a>[<span class="prodNo">169s</span>]&nbsp;&nbsp;&nbsp;</td>
 <td>&lt;<code class="production term">PN_LOCAL_ESC</code>&gt;</td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">"\\" ( "_" | "~" | "." | "-" | "!" | "$" | "&amp;" | "'" | "(" | ")" | "*" | "+" | "," | ";" | "=" | ":" | "/" | "?" | "#" | "@" | "%" )</code></td>
-
+<td><code class="content">'\' ( '_' | '~' | '.' | '-' | '!' | '$' | '&amp;' | "'" | '(' | ')' | '*' | '+' | ',' | ';' | '=' | ':' | '/' | '?' | '#' | '@' | '%' )</code></td>
 </tr>
 </tbody>
 
@@ -675,9 +558,9 @@
 <td><a id="term-turtle2-PASSED_TOKENS" name="term-turtle2-PASSED_TOKENS"></a>[<span class="prodNo">62</span>]&nbsp;&nbsp;&nbsp;</td>
 <td><code class="production directive">PASSED TOKENS</code></td>
 <td>&nbsp;&nbsp;&nbsp;::=&nbsp;&nbsp;&nbsp;</td>
-<td><code class="content">([ \t\r\n])+<br/>
-| "#" ([^\r\n])*</code></td>
-
+<td><code class="content">[ \t\r\n]+<br/>
+| '#' [^\r\n]*</code></td>
 </tr>
 </tbody>
-</table>
\ No newline at end of file
+
+</table>