ebnf 2.4.0 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
data/etc/turtle.html CHANGED
@@ -1,150 +1,146 @@
1
- <!-- Generated with ebnf version 2.3.4. See https://github.com/dryruby/ebnf. -->
1
+ <!-- Generated with ebnf version 2.4.0. See https://github.com/dryruby/ebnf. -->
2
2
  <table class="grammar">
3
3
  <tbody id="grammar-productions" class="ebnf">
4
4
  <tr id="grammar-production-turtleDoc">
5
- <td>[1]</td>
6
5
  <td><code>turtleDoc</code></td>
7
6
  <td>::=</td>
8
7
  <td><a href="#grammar-production-statement">statement</a><code class="grammar-star">*</code></td>
9
8
  </tr>
10
9
  <tr id="grammar-production-statement">
11
- <td>[2]</td>
12
10
  <td><code>statement</code></td>
13
11
  <td>::=</td>
14
- <td><a href="#grammar-production-directive">directive</a> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code><a href="#grammar-production-triples">triples</a> "<code class="grammar-literal">.</code>"<code class="grammar-paren">)</code></td>
12
+ <td><a href="#grammar-production-directive">directive</a> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code><a href="#grammar-production-triples">triples</a> '<code class="grammar-literal">.</code>'<code class="grammar-paren">)</code></td>
15
13
  </tr>
16
14
  <tr id="grammar-production-directive">
17
- <td>[3]</td>
18
15
  <td><code>directive</code></td>
19
16
  <td>::=</td>
20
17
  <td><a href="#grammar-production-prefixID">prefixID</a> <code class="grammar-alt">|</code> <a href="#grammar-production-base">base</a> <code class="grammar-alt">|</code> <a href="#grammar-production-sparqlPrefix">sparqlPrefix</a> <code class="grammar-alt">|</code> <a href="#grammar-production-sparqlBase">sparqlBase</a></td>
21
18
  </tr>
22
19
  <tr id="grammar-production-prefixID">
23
- <td>[4]</td>
24
20
  <td><code>prefixID</code></td>
25
21
  <td>::=</td>
26
- <td>"<code class="grammar-literal">@prefix</code>" <a href="#grammar-production-PNAME_NS">PNAME_NS</a> <a href="#grammar-production-IRIREF">IRIREF</a> "<code class="grammar-literal">.</code>"</td>
22
+ <td>'<code class="grammar-literal">@prefix</code>' <a href="#grammar-production-PNAME_NS">PNAME_NS</a> <a href="#grammar-production-IRIREF">IRIREF</a> '<code class="grammar-literal">.</code>'</td>
27
23
  </tr>
28
24
  <tr id="grammar-production-base">
29
- <td>[5]</td>
30
25
  <td><code>base</code></td>
31
26
  <td>::=</td>
32
- <td>"<code class="grammar-literal">@base</code>" <a href="#grammar-production-IRIREF">IRIREF</a> "<code class="grammar-literal">.</code>"</td>
27
+ <td>'<code class="grammar-literal">@base</code>' <a href="#grammar-production-IRIREF">IRIREF</a> '<code class="grammar-literal">.</code>'</td>
33
28
  </tr>
34
29
  <tr id="grammar-production-sparqlPrefix">
35
- <td>[28s]</td>
36
30
  <td><code>sparqlPrefix</code></td>
37
31
  <td>::=</td>
38
- <td><a href="#grammar-production-SPARQL_PREFIX">SPARQL_PREFIX</a> <a href="#grammar-production-PNAME_NS">PNAME_NS</a> <a href="#grammar-production-IRIREF">IRIREF</a></td>
32
+ <td>"<code class="grammar-literal">PREFIX</code>" <a href="#grammar-production-PNAME_NS">PNAME_NS</a> <a href="#grammar-production-IRIREF">IRIREF</a></td>
39
33
  </tr>
40
34
  <tr id="grammar-production-sparqlBase">
41
- <td>[29s]</td>
42
35
  <td><code>sparqlBase</code></td>
43
36
  <td>::=</td>
44
- <td><a href="#grammar-production-SPARQL_BASE">SPARQL_BASE</a> <a href="#grammar-production-IRIREF">IRIREF</a></td>
37
+ <td>"<code class="grammar-literal">BASE</code>" <a href="#grammar-production-IRIREF">IRIREF</a></td>
45
38
  </tr>
46
39
  <tr id="grammar-production-triples">
47
- <td>[6]</td>
48
40
  <td><code>triples</code></td>
49
41
  <td>::=</td>
50
42
  <td><code class="grammar-paren">(</code><a href="#grammar-production-subject">subject</a> <a href="#grammar-production-predicateObjectList">predicateObjectList</a><code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code><a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a> <a href="#grammar-production-predicateObjectList">predicateObjectList</a><code class="grammar-opt">?</code><code class="grammar-paren">)</code></td>
51
43
  </tr>
52
44
  <tr id="grammar-production-predicateObjectList">
53
- <td>[7]</td>
54
45
  <td><code>predicateObjectList</code></td>
55
46
  <td>::=</td>
56
- <td><a href="#grammar-production-verb">verb</a> <a href="#grammar-production-objectList">objectList</a> <code class="grammar-paren">(</code>"<code class="grammar-literal">;</code>" <code class="grammar-paren">(</code><a href="#grammar-production-verb">verb</a> <a href="#grammar-production-objectList">objectList</a><code class="grammar-paren">)</code><code class="grammar-opt">?</code><code class="grammar-paren">)</code><code class="grammar-star">*</code></td>
47
+ <td><a href="#grammar-production-verb">verb</a> <a href="#grammar-production-objectList">objectList</a> <code class="grammar-paren">(</code>'<code class="grammar-literal">;</code>' <code class="grammar-paren">(</code><a href="#grammar-production-verb">verb</a> <a href="#grammar-production-objectList">objectList</a><code class="grammar-paren">)</code><code class="grammar-opt">?</code><code class="grammar-paren">)</code><code class="grammar-star">*</code></td>
57
48
  </tr>
58
49
  <tr id="grammar-production-objectList">
59
- <td>[8]</td>
60
50
  <td><code>objectList</code></td>
61
51
  <td>::=</td>
62
- <td><a href="#grammar-production-object">object</a> <code class="grammar-paren">(</code>"<code class="grammar-literal">,</code>" <a href="#grammar-production-object">object</a><code class="grammar-paren">)</code><code class="grammar-star">*</code></td>
52
+ <td><a href="#grammar-production-object">object</a> <a href="#grammar-production-annotation">annotation</a><code class="grammar-opt">?</code> <code class="grammar-paren">(</code>'<code class="grammar-literal">,</code>' <a href="#grammar-production-object">object</a> <a href="#grammar-production-annotation">annotation</a><code class="grammar-opt">?</code><code class="grammar-paren">)</code><code class="grammar-star">*</code></td>
63
53
  </tr>
64
54
  <tr id="grammar-production-verb">
65
- <td>[9]</td>
66
55
  <td><code>verb</code></td>
67
56
  <td>::=</td>
68
- <td><a href="#grammar-production-predicate">predicate</a> <code class="grammar-alt">|</code> "<code class="grammar-literal">a</code>"</td>
57
+ <td><a href="#grammar-production-predicate">predicate</a> <code class="grammar-alt">|</code> '<code class="grammar-literal">a</code>'</td>
69
58
  </tr>
70
59
  <tr id="grammar-production-subject">
71
- <td>[10]</td>
72
60
  <td><code>subject</code></td>
73
61
  <td>::=</td>
74
- <td><a href="#grammar-production-iri">iri</a> <code class="grammar-alt">|</code> <a href="#grammar-production-BlankNode">BlankNode</a> <code class="grammar-alt">|</code> <a href="#grammar-production-collection">collection</a></td>
62
+ <td><a href="#grammar-production-iri">iri</a> <code class="grammar-alt">|</code> <a href="#grammar-production-BlankNode">BlankNode</a> <code class="grammar-alt">|</code> <a href="#grammar-production-collection">collection</a> <code class="grammar-alt">|</code> <a href="#grammar-production-quotedTriple">quotedTriple</a></td>
75
63
  </tr>
76
64
  <tr id="grammar-production-predicate">
77
- <td>[11]</td>
78
65
  <td><code>predicate</code></td>
79
66
  <td>::=</td>
80
67
  <td><a href="#grammar-production-iri">iri</a></td>
81
68
  </tr>
82
69
  <tr id="grammar-production-object">
83
- <td>[12]</td>
84
70
  <td><code>object</code></td>
85
71
  <td>::=</td>
86
- <td><a href="#grammar-production-iri">iri</a> <code class="grammar-alt">|</code> <a href="#grammar-production-BlankNode">BlankNode</a> <code class="grammar-alt">|</code> <a href="#grammar-production-collection">collection</a> <code class="grammar-alt">|</code> <a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a> <code class="grammar-alt">|</code> <a href="#grammar-production-literal">literal</a></td>
72
+ <td><a href="#grammar-production-iri">iri</a> <code class="grammar-alt">|</code> <a href="#grammar-production-BlankNode">BlankNode</a> <code class="grammar-alt">|</code> <a href="#grammar-production-collection">collection</a> <code class="grammar-alt">|</code> <a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a> <code class="grammar-alt">|</code> <a href="#grammar-production-literal">literal</a> <code class="grammar-alt">|</code> <a href="#grammar-production-quotedTriple">quotedTriple</a></td>
87
73
  </tr>
88
74
  <tr id="grammar-production-literal">
89
- <td>[13]</td>
90
75
  <td><code>literal</code></td>
91
76
  <td>::=</td>
92
77
  <td><a href="#grammar-production-RDFLiteral">RDFLiteral</a> <code class="grammar-alt">|</code> <a href="#grammar-production-NumericLiteral">NumericLiteral</a> <code class="grammar-alt">|</code> <a href="#grammar-production-BooleanLiteral">BooleanLiteral</a></td>
93
78
  </tr>
94
79
  <tr id="grammar-production-blankNodePropertyList">
95
- <td>[14]</td>
96
80
  <td><code>blankNodePropertyList</code></td>
97
81
  <td>::=</td>
98
- <td>"<code class="grammar-literal">[</code>" <a href="#grammar-production-predicateObjectList">predicateObjectList</a> "<code class="grammar-literal">]</code>"</td>
82
+ <td>'<code class="grammar-literal">[</code>' <a href="#grammar-production-predicateObjectList">predicateObjectList</a> '<code class="grammar-literal">]</code>'</td>
99
83
  </tr>
100
84
  <tr id="grammar-production-collection">
101
- <td>[15]</td>
102
85
  <td><code>collection</code></td>
103
86
  <td>::=</td>
104
- <td>"<code class="grammar-literal">(</code>" <a href="#grammar-production-object">object</a><code class="grammar-star">*</code> "<code class="grammar-literal">)</code>"</td>
87
+ <td>'<code class="grammar-literal">(</code>' <a href="#grammar-production-object">object</a><code class="grammar-star">*</code> '<code class="grammar-literal">)</code>'</td>
105
88
  </tr>
106
89
  <tr id="grammar-production-NumericLiteral">
107
- <td>[16]</td>
108
90
  <td><code>NumericLiteral</code></td>
109
91
  <td>::=</td>
110
92
  <td><a href="#grammar-production-INTEGER">INTEGER</a> <code class="grammar-alt">|</code> <a href="#grammar-production-DECIMAL">DECIMAL</a> <code class="grammar-alt">|</code> <a href="#grammar-production-DOUBLE">DOUBLE</a></td>
111
93
  </tr>
112
94
  <tr id="grammar-production-RDFLiteral">
113
- <td>[128s]</td>
114
95
  <td><code>RDFLiteral</code></td>
115
96
  <td>::=</td>
116
- <td><a href="#grammar-production-String">String</a> <code class="grammar-paren">(</code><a href="#grammar-production-LANGTAG">LANGTAG</a> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code>"<code class="grammar-literal">^^</code>" <a href="#grammar-production-iri">iri</a><code class="grammar-paren">)</code><code class="grammar-paren">)</code><code class="grammar-opt">?</code></td>
97
+ <td><a href="#grammar-production-String">String</a> <code class="grammar-paren">(</code><a href="#grammar-production-LANGTAG">LANGTAG</a> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code>'<code class="grammar-literal">^^</code>' <a href="#grammar-production-iri">iri</a><code class="grammar-paren">)</code><code class="grammar-paren">)</code><code class="grammar-opt">?</code></td>
117
98
  </tr>
118
99
  <tr id="grammar-production-BooleanLiteral">
119
- <td>[133s]</td>
120
100
  <td><code>BooleanLiteral</code></td>
121
101
  <td>::=</td>
122
- <td>"<code class="grammar-literal">true</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">false</code>"</td>
102
+ <td>'<code class="grammar-literal">true</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">false</code>'</td>
123
103
  </tr>
124
104
  <tr id="grammar-production-String">
125
- <td>[17]</td>
126
105
  <td><code>String</code></td>
127
106
  <td>::=</td>
128
107
  <td><a href="#grammar-production-STRING_LITERAL_QUOTE">STRING_LITERAL_QUOTE</a> <code class="grammar-alt">|</code> <a href="#grammar-production-STRING_LITERAL_SINGLE_QUOTE">STRING_LITERAL_SINGLE_QUOTE</a> <code class="grammar-alt">|</code> <a href="#grammar-production-STRING_LITERAL_LONG_SINGLE_QUOTE">STRING_LITERAL_LONG_SINGLE_QUOTE</a> <code class="grammar-alt">|</code> <a href="#grammar-production-STRING_LITERAL_LONG_QUOTE">STRING_LITERAL_LONG_QUOTE</a></td>
129
108
  </tr>
130
109
  <tr id="grammar-production-iri">
131
- <td>[135s]</td>
132
110
  <td><code>iri</code></td>
133
111
  <td>::=</td>
134
112
  <td><a href="#grammar-production-IRIREF">IRIREF</a> <code class="grammar-alt">|</code> <a href="#grammar-production-PrefixedName">PrefixedName</a></td>
135
113
  </tr>
136
114
  <tr id="grammar-production-PrefixedName">
137
- <td>[136s]</td>
138
115
  <td><code>PrefixedName</code></td>
139
116
  <td>::=</td>
140
117
  <td><a href="#grammar-production-PNAME_LN">PNAME_LN</a> <code class="grammar-alt">|</code> <a href="#grammar-production-PNAME_NS">PNAME_NS</a></td>
141
118
  </tr>
142
119
  <tr id="grammar-production-BlankNode">
143
- <td>[137s]</td>
144
120
  <td><code>BlankNode</code></td>
145
121
  <td>::=</td>
146
122
  <td><a href="#grammar-production-BLANK_NODE_LABEL">BLANK_NODE_LABEL</a> <code class="grammar-alt">|</code> <a href="#grammar-production-ANON">ANON</a></td>
147
123
  </tr>
124
+ <tr id="grammar-production-quotedTriple">
125
+ <td><code>quotedTriple</code></td>
126
+ <td>::=</td>
127
+ <td>'<code class="grammar-literal">&lt;&lt;</code>' <a href="#grammar-production-qtSubject">qtSubject</a> <a href="#grammar-production-predicate">predicate</a> <a href="#grammar-production-qtObject">qtObject</a> '<code class="grammar-literal">&gt;&gt;</code>'</td>
128
+ </tr>
129
+ <tr id="grammar-production-qtSubject">
130
+ <td><code>qtSubject</code></td>
131
+ <td>::=</td>
132
+ <td><a href="#grammar-production-iri">iri</a> <code class="grammar-alt">|</code> <a href="#grammar-production-BlankNode">BlankNode</a> <code class="grammar-alt">|</code> <a href="#grammar-production-quotedTriple">quotedTriple</a></td>
133
+ </tr>
134
+ <tr id="grammar-production-qtObject">
135
+ <td><code>qtObject</code></td>
136
+ <td>::=</td>
137
+ <td><a href="#grammar-production-iri">iri</a> <code class="grammar-alt">|</code> <a href="#grammar-production-BlankNode">BlankNode</a> <code class="grammar-alt">|</code> <a href="#grammar-production-literal">literal</a> <code class="grammar-alt">|</code> <a href="#grammar-production-quotedTriple">quotedTriple</a></td>
138
+ </tr>
139
+ <tr id="grammar-production-annotation">
140
+ <td><code>annotation</code></td>
141
+ <td>::=</td>
142
+ <td>'<code class="grammar-literal">{|</code>' <a href="#grammar-production-predicateObjectList">predicateObjectList</a> '<code class="grammar-literal">|}</code>'</td>
143
+ </tr>
148
144
  <tr id="grammar-declaration-terminals">
149
145
  <td>@terminals</td>
150
146
  <td><code></code></td>
@@ -152,237 +148,191 @@
152
148
  <td><strong># Productions for terminals</strong></td>
153
149
  </tr>
154
150
  <tr id="grammar-production-IRIREF">
155
- <td>[18]</td>
156
151
  <td><code>IRIREF</code></td>
157
152
  <td>::=</td>
158
- <td>"<code class="grammar-literal">&lt;</code>" <code class="grammar-paren">(</code><code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">^&lt;&gt;&quot;{}|^`\</code><code class="grammar-brac">]</code> <code class="grammar-diff">-</code> <code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="null">#x00</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="space">#x20</abbr></code><code class="grammar-brac">]</code><code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <a href="#grammar-production-UCHAR">UCHAR</a><code class="grammar-paren">)</code><code class="grammar-star">*</code> "<code class="grammar-literal">&gt;</code>"</td>
153
+ <td>'<code class="grammar-literal">&lt;</code>' <code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">^</code><code class="grammar-char-escape"><abbr title="null">#x00</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="space">#x20</abbr></code><code class="grammar-literal">&lt;&gt;&quot;{}|^`\</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <a href="#grammar-production-UCHAR">UCHAR</a><code class="grammar-paren">)</code><code class="grammar-star">*</code> '<code class="grammar-literal">&gt;</code>'</td>
159
154
  </tr>
160
155
  <tr id="grammar-production-PNAME_NS">
161
- <td>[139s]</td>
162
156
  <td><code>PNAME_NS</code></td>
163
157
  <td>::=</td>
164
- <td><a href="#grammar-production-PN_PREFIX">PN_PREFIX</a><code class="grammar-opt">?</code> "<code class="grammar-literal">:</code>"</td>
158
+ <td><a href="#grammar-production-PN_PREFIX">PN_PREFIX</a><code class="grammar-opt">?</code> '<code class="grammar-literal">:</code>'</td>
165
159
  </tr>
166
160
  <tr id="grammar-production-PNAME_LN">
167
- <td>[140s]</td>
168
161
  <td><code>PNAME_LN</code></td>
169
162
  <td>::=</td>
170
163
  <td><a href="#grammar-production-PNAME_NS">PNAME_NS</a> <a href="#grammar-production-PN_LOCAL">PN_LOCAL</a></td>
171
164
  </tr>
172
165
  <tr id="grammar-production-BLANK_NODE_LABEL">
173
- <td>[141s]</td>
174
166
  <td><code>BLANK_NODE_LABEL</code></td>
175
167
  <td>::=</td>
176
- <td>"<code class="grammar-literal">_:</code>" <code class="grammar-paren">(</code><a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code><code class="grammar-paren">)</code> <code class="grammar-paren">(</code><code class="grammar-paren">(</code><a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code class="grammar-alt">|</code> "<code class="grammar-literal">.</code>"<code class="grammar-paren">)</code><code class="grammar-star">*</code> <a href="#grammar-production-PN_CHARS">PN_CHARS</a><code class="grammar-paren">)</code><code class="grammar-opt">?</code></td>
168
+ <td>'<code class="grammar-literal">_:</code>' <code class="grammar-paren">(</code><a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code><code class="grammar-paren">)</code> <code class="grammar-paren">(</code><code class="grammar-paren">(</code><a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code class="grammar-alt">|</code> '<code class="grammar-literal">.</code>'<code class="grammar-paren">)</code><code class="grammar-star">*</code> <a href="#grammar-production-PN_CHARS">PN_CHARS</a><code class="grammar-paren">)</code><code class="grammar-opt">?</code></td>
177
169
  </tr>
178
170
  <tr id="grammar-production-LANGTAG">
179
- <td>[144s]</td>
180
171
  <td><code>LANGTAG</code></td>
181
172
  <td>::=</td>
182
- <td>"<code class="grammar-literal">@</code>" <code class="grammar-brac">[</code><code class="grammar-literal">a-zA-Z</code><code class="grammar-brac">]</code><code class="grammar-plus">+</code> <code class="grammar-paren">(</code>"<code class="grammar-literal">-</code>" <code class="grammar-brac">[</code><code class="grammar-literal">a-zA-Z0-9</code><code class="grammar-brac">]</code><code class="grammar-plus">+</code><code class="grammar-paren">)</code><code class="grammar-star">*</code></td>
173
+ <td>'<code class="grammar-literal">@</code>' <code class="grammar-brac">[</code><code class="grammar-literal">a-zA-Z</code><code class="grammar-brac">]</code><code class="grammar-plus">+</code> <code class="grammar-paren">(</code>'<code class="grammar-literal">-</code>' <code class="grammar-brac">[</code><code class="grammar-literal">a-zA-Z0-9</code><code class="grammar-brac">]</code><code class="grammar-plus">+</code><code class="grammar-paren">)</code><code class="grammar-star">*</code></td>
183
174
  </tr>
184
175
  <tr id="grammar-production-INTEGER">
185
- <td>[19]</td>
186
176
  <td><code>INTEGER</code></td>
187
177
  <td>::=</td>
188
178
  <td><code class="grammar-brac">[</code><code class="grammar-literal">+-</code><code class="grammar-brac">]</code><code class="grammar-opt">?</code> <code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code><code class="grammar-plus">+</code></td>
189
179
  </tr>
190
180
  <tr id="grammar-production-DECIMAL">
191
- <td>[20]</td>
192
181
  <td><code>DECIMAL</code></td>
193
182
  <td>::=</td>
194
- <td><code class="grammar-brac">[</code><code class="grammar-literal">+-</code><code class="grammar-brac">]</code><code class="grammar-opt">?</code> <code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code><code class="grammar-star">*</code> "<code class="grammar-literal">.</code>" <code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code><code class="grammar-plus">+</code><code class="grammar-paren">)</code></td>
183
+ <td><code class="grammar-brac">[</code><code class="grammar-literal">+-</code><code class="grammar-brac">]</code><code class="grammar-opt">?</code> <code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code><code class="grammar-star">*</code> '<code class="grammar-literal">.</code>' <code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code><code class="grammar-plus">+</code><code class="grammar-paren">)</code></td>
195
184
  </tr>
196
185
  <tr id="grammar-production-DOUBLE">
197
- <td>[21]</td>
198
186
  <td><code>DOUBLE</code></td>
199
187
  <td>::=</td>
200
- <td><code class="grammar-brac">[</code><code class="grammar-literal">+-</code><code class="grammar-brac">]</code><code class="grammar-opt">?</code> <code class="grammar-paren">(</code><code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code><code class="grammar-plus">+</code> "<code class="grammar-literal">.</code>" <code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code><code class="grammar-star">*</code> <a href="#grammar-production-EXPONENT">EXPONENT</a><code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code>"<code class="grammar-literal">.</code>" <code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code><code class="grammar-plus">+</code> <a href="#grammar-production-EXPONENT">EXPONENT</a><code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code><code class="grammar-plus">+</code> <a href="#grammar-production-EXPONENT">EXPONENT</a><code class="grammar-paren">)</code><code class="grammar-paren">)</code></td>
188
+ <td><code class="grammar-brac">[</code><code class="grammar-literal">+-</code><code class="grammar-brac">]</code><code class="grammar-opt">?</code> <code class="grammar-paren">(</code><code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code><code class="grammar-plus">+</code> '<code class="grammar-literal">.</code>' <code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code><code class="grammar-star">*</code> <a href="#grammar-production-EXPONENT">EXPONENT</a><code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code>'<code class="grammar-literal">.</code>' <code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code><code class="grammar-plus">+</code> <a href="#grammar-production-EXPONENT">EXPONENT</a><code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code><code class="grammar-plus">+</code> <a href="#grammar-production-EXPONENT">EXPONENT</a><code class="grammar-paren">)</code><code class="grammar-paren">)</code></td>
201
189
  </tr>
202
190
  <tr id="grammar-production-EXPONENT">
203
- <td>[154s]</td>
204
191
  <td><code>EXPONENT</code></td>
205
192
  <td>::=</td>
206
193
  <td><code class="grammar-brac">[</code><code class="grammar-literal">eE</code><code class="grammar-brac">]</code> <code class="grammar-brac">[</code><code class="grammar-literal">+-</code><code class="grammar-brac">]</code><code class="grammar-opt">?</code> <code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code><code class="grammar-plus">+</code></td>
207
194
  </tr>
208
195
  <tr id="grammar-production-STRING_LITERAL_QUOTE">
209
- <td>[22]</td>
210
196
  <td><code>STRING_LITERAL_QUOTE</code></td>
211
197
  <td>::=</td>
212
- <td>'<code class="grammar-literal">&quot;</code>' <code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">^</code><code class="grammar-char-escape"><abbr title="dquote">#x22</abbr></code><code class="grammar-char-escape"><abbr title="back slash">#x5C</abbr></code><code class="grammar-char-escape"><abbr title="new line">#x0A</abbr></code><code class="grammar-char-escape"><abbr title="carriage return">#x0D</abbr></code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <a href="#grammar-production-ECHAR">ECHAR</a> <code class="grammar-alt">|</code> <a href="#grammar-production-UCHAR">UCHAR</a><code class="grammar-paren">)</code><code class="grammar-star">*</code> '<code class="grammar-literal">&quot;</code>'</td>
198
+ <td>'<code class="grammar-literal">&quot;</code>' <code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">^</code><code class="grammar-char-escape"><abbr title="dquote">#x22</abbr></code><code class="grammar-char-escape"><abbr title="backslash">#x5C</abbr></code><code class="grammar-char-escape"><abbr title="new line">#x0A</abbr></code><code class="grammar-char-escape"><abbr title="carriage return">#x0D</abbr></code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <a href="#grammar-production-ECHAR">ECHAR</a> <code class="grammar-alt">|</code> <a href="#grammar-production-UCHAR">UCHAR</a><code class="grammar-paren">)</code><code class="grammar-star">*</code> '<code class="grammar-literal">&quot;</code>'</td>
213
199
  </tr>
214
200
  <tr id="grammar-production-STRING_LITERAL_SINGLE_QUOTE">
215
- <td>[23]</td>
216
201
  <td><code>STRING_LITERAL_SINGLE_QUOTE</code></td>
217
202
  <td>::=</td>
218
- <td>"<code class="grammar-literal">&apos;</code>" <code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">^</code><code class="grammar-char-escape"><abbr title="apos">#x27</abbr></code><code class="grammar-char-escape"><abbr title="back slash">#x5C</abbr></code><code class="grammar-char-escape"><abbr title="new line">#x0A</abbr></code><code class="grammar-char-escape"><abbr title="carriage return">#x0D</abbr></code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <a href="#grammar-production-ECHAR">ECHAR</a> <code class="grammar-alt">|</code> <a href="#grammar-production-UCHAR">UCHAR</a><code class="grammar-paren">)</code><code class="grammar-star">*</code> "<code class="grammar-literal">&apos;</code>"</td>
203
+ <td>"<code class="grammar-literal">&apos;</code>" <code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">^</code><code class="grammar-char-escape"><abbr title="apos">#x27</abbr></code><code class="grammar-char-escape"><abbr title="backslash">#x5C</abbr></code><code class="grammar-char-escape"><abbr title="new line">#x0A</abbr></code><code class="grammar-char-escape"><abbr title="carriage return">#x0D</abbr></code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <a href="#grammar-production-ECHAR">ECHAR</a> <code class="grammar-alt">|</code> <a href="#grammar-production-UCHAR">UCHAR</a><code class="grammar-paren">)</code><code class="grammar-star">*</code> "<code class="grammar-literal">&apos;</code>"</td>
219
204
  </tr>
220
205
  <tr id="grammar-production-STRING_LITERAL_LONG_SINGLE_QUOTE">
221
- <td>[24]</td>
222
206
  <td><code>STRING_LITERAL_LONG_SINGLE_QUOTE</code></td>
223
207
  <td>::=</td>
224
208
  <td>"<code class="grammar-literal">&apos;&apos;&apos;</code>" <code class="grammar-paren">(</code><code class="grammar-paren">(</code>"<code class="grammar-literal">&apos;</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">&apos;&apos;</code>"<code class="grammar-paren">)</code><code class="grammar-opt">?</code> <code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">^&apos;\</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <a href="#grammar-production-ECHAR">ECHAR</a> <code class="grammar-alt">|</code> <a href="#grammar-production-UCHAR">UCHAR</a><code class="grammar-paren">)</code><code class="grammar-paren">)</code><code class="grammar-star">*</code> "<code class="grammar-literal">&apos;&apos;&apos;</code>"</td>
225
209
  </tr>
226
210
  <tr id="grammar-production-STRING_LITERAL_LONG_QUOTE">
227
- <td>[25]</td>
228
211
  <td><code>STRING_LITERAL_LONG_QUOTE</code></td>
229
212
  <td>::=</td>
230
213
  <td>'<code class="grammar-literal">&quot;&quot;&quot;</code>' <code class="grammar-paren">(</code><code class="grammar-paren">(</code>'<code class="grammar-literal">&quot;</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">&quot;&quot;</code>'<code class="grammar-paren">)</code><code class="grammar-opt">?</code> <code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">^&quot;\</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <a href="#grammar-production-ECHAR">ECHAR</a> <code class="grammar-alt">|</code> <a href="#grammar-production-UCHAR">UCHAR</a><code class="grammar-paren">)</code><code class="grammar-paren">)</code><code class="grammar-star">*</code> '<code class="grammar-literal">&quot;&quot;&quot;</code>'</td>
231
214
  </tr>
232
215
  <tr id="grammar-production-UCHAR">
233
- <td>[26]</td>
234
216
  <td><code>UCHAR</code></td>
235
217
  <td>::=</td>
236
- <td><code class="grammar-paren">(</code>"<code class="grammar-literal">u</code>" <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a><code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code>"<code class="grammar-literal">U</code>" <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a><code class="grammar-paren">)</code></td>
218
+ <td><code class="grammar-paren">(</code>'<code class="grammar-literal">\u</code>' <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a><code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code>'<code class="grammar-literal">\U</code>' <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a><code class="grammar-paren">)</code></td>
237
219
  </tr>
238
220
  <tr id="grammar-production-ECHAR">
239
- <td>[159s]</td>
240
221
  <td><code>ECHAR</code></td>
241
222
  <td>::=</td>
242
- <td>"<code class="grammar-literal">\</code>" <code class="grammar-brac">[</code><code class="grammar-literal">tbnrf&quot;&apos;</code><code class="grammar-brac">]</code></td>
243
- </tr>
244
- <tr id="grammar-production-SPARQL_PREFIX">
245
- <td>[28t]</td>
246
- <td><code>SPARQL_PREFIX</code></td>
247
- <td>::=</td>
248
- <td><code class="grammar-brac">[</code><code class="grammar-literal">Pp</code><code class="grammar-brac">]</code> <code class="grammar-brac">[</code><code class="grammar-literal">Rr</code><code class="grammar-brac">]</code> <code class="grammar-brac">[</code><code class="grammar-literal">Ee</code><code class="grammar-brac">]</code> <code class="grammar-brac">[</code><code class="grammar-literal">Ff</code><code class="grammar-brac">]</code> <code class="grammar-brac">[</code><code class="grammar-literal">Ii</code><code class="grammar-brac">]</code> <code class="grammar-brac">[</code><code class="grammar-literal">Xx</code><code class="grammar-brac">]</code></td>
223
+ <td>'<code class="grammar-literal">\</code>' <code class="grammar-brac">[</code><code class="grammar-literal">tbnrf\&quot;&apos;</code><code class="grammar-brac">]</code></td>
249
224
  </tr>
250
- <tr id="grammar-production-SPARQL_BASE">
251
- <td>[29t]</td>
252
- <td><code>SPARQL_BASE</code></td>
225
+ <tr id="grammar-production-NIL">
226
+ <td><code>NIL</code></td>
253
227
  <td>::=</td>
254
- <td><code class="grammar-brac">[</code><code class="grammar-literal">Bb</code><code class="grammar-brac">]</code> <code class="grammar-brac">[</code><code class="grammar-literal">Aa</code><code class="grammar-brac">]</code> <code class="grammar-brac">[</code><code class="grammar-literal">Ss</code><code class="grammar-brac">]</code> <code class="grammar-brac">[</code><code class="grammar-literal">Ee</code><code class="grammar-brac">]</code></td>
228
+ <td>'<code class="grammar-literal">(</code>' <a href="#grammar-production-WS">WS</a><code class="grammar-star">*</code> '<code class="grammar-literal">)</code>'</td>
255
229
  </tr>
256
230
  <tr id="grammar-production-WS">
257
- <td>[161s]</td>
258
231
  <td><code>WS</code></td>
259
232
  <td>::=</td>
260
233
  <td><code class="grammar-char-escape"><abbr title="space">#x20</abbr></code> <code class="grammar-alt">|</code> <code class="grammar-char-escape"><abbr title="horizontal tab">#x09</abbr></code> <code class="grammar-alt">|</code> <code class="grammar-char-escape"><abbr title="carriage return">#x0D</abbr></code> <code class="grammar-alt">|</code> <code class="grammar-char-escape"><abbr title="new line">#x0A</abbr></code></td>
261
234
  </tr>
262
235
  <tr id="grammar-production-ANON">
263
- <td>[162s]</td>
264
236
  <td><code>ANON</code></td>
265
237
  <td>::=</td>
266
- <td>"<code class="grammar-literal">[</code>" <a href="#grammar-production-WS">WS</a><code class="grammar-star">*</code> "<code class="grammar-literal">]</code>"</td>
238
+ <td>'<code class="grammar-literal">[</code>' <a href="#grammar-production-WS">WS</a><code class="grammar-star">*</code> '<code class="grammar-literal">]</code>'</td>
267
239
  </tr>
268
240
  <tr id="grammar-production-PN_CHARS_BASE">
269
- <td>[163s]</td>
270
241
  <td><code>PN_CHARS_BASE</code></td>
271
242
  <td>::=</td>
272
243
  <td><code class="grammar-brac">[</code><code class="grammar-literal">A-Z</code><code class="grammar-brac">]</code></td>
273
244
  </tr>
274
245
  <tr>
275
- <td colspan=2></td>
276
246
  <td><code class="grammar-alt">|</code></td>
277
247
  <td><code class="grammar-brac">[</code><code class="grammar-literal">a-z</code><code class="grammar-brac">]</code></td>
278
248
  </tr>
279
249
  <tr>
280
- <td colspan=2></td>
281
250
  <td><code class="grammar-alt">|</code></td>
282
251
  <td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode U+00C0">#xC0</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode U+00D6">#xD6</abbr></code><code class="grammar-brac">]</code></td>
283
252
  </tr>
284
253
  <tr>
285
- <td colspan=2></td>
286
254
  <td><code class="grammar-alt">|</code></td>
287
255
  <td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode U+00D8">#xD8</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode U+00F6">#xF6</abbr></code><code class="grammar-brac">]</code></td>
288
256
  </tr>
289
257
  <tr>
290
- <td colspan=2></td>
291
258
  <td><code class="grammar-alt">|</code></td>
292
259
  <td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode U+00F8">#xF8</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode U+02FF">#x02FF</abbr></code><code class="grammar-brac">]</code></td>
293
260
  </tr>
294
261
  <tr>
295
- <td colspan=2></td>
296
262
  <td><code class="grammar-alt">|</code></td>
297
263
  <td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode U+0370">#x0370</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode U+037D">#x037D</abbr></code><code class="grammar-brac">]</code></td>
298
264
  </tr>
299
265
  <tr>
300
- <td colspan=2></td>
301
266
  <td><code class="grammar-alt">|</code></td>
302
267
  <td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode U+037F">#x037F</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode U+1FFF">#x1FFF</abbr></code><code class="grammar-brac">]</code></td>
303
268
  </tr>
304
269
  <tr>
305
- <td colspan=2></td>
306
270
  <td><code class="grammar-alt">|</code></td>
307
271
  <td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode U+200C">#x200C</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode U+200D">#x200D</abbr></code><code class="grammar-brac">]</code></td>
308
272
  </tr>
309
273
  <tr>
310
- <td colspan=2></td>
311
274
  <td><code class="grammar-alt">|</code></td>
312
275
  <td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode U+2070">#x2070</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode U+218F">#x218F</abbr></code><code class="grammar-brac">]</code></td>
313
276
  </tr>
314
277
  <tr>
315
- <td colspan=2></td>
316
278
  <td><code class="grammar-alt">|</code></td>
317
279
  <td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode U+2C00">#x2C00</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode U+2FEF">#x2FEF</abbr></code><code class="grammar-brac">]</code></td>
318
280
  </tr>
319
281
  <tr>
320
- <td colspan=2></td>
321
282
  <td><code class="grammar-alt">|</code></td>
322
283
  <td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode U+3001">#x3001</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode U+D7FF">#xD7FF</abbr></code><code class="grammar-brac">]</code></td>
323
284
  </tr>
324
285
  <tr>
325
- <td colspan=2></td>
326
286
  <td><code class="grammar-alt">|</code></td>
327
287
  <td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode U+F900">#xF900</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode U+FDCF">#xFDCF</abbr></code><code class="grammar-brac">]</code></td>
328
288
  </tr>
329
289
  <tr>
330
- <td colspan=2></td>
331
290
  <td><code class="grammar-alt">|</code></td>
332
291
  <td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode U+FDF0">#xFDF0</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode U+FFFD">#xFFFD</abbr></code><code class="grammar-brac">]</code></td>
333
292
  </tr>
334
293
  <tr>
335
- <td colspan=2></td>
336
294
  <td><code class="grammar-alt">|</code></td>
337
295
  <td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode U+10000">#x00010000</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode U+EFFFF">#x000EFFFF</abbr></code><code class="grammar-brac">]</code></td>
338
296
  </tr>
339
297
  <tr id="grammar-production-PN_CHARS_U">
340
- <td>[164s]</td>
341
298
  <td><code>PN_CHARS_U</code></td>
342
299
  <td>::=</td>
343
- <td><a href="#grammar-production-PN_CHARS_BASE">PN_CHARS_BASE</a> <code class="grammar-alt">|</code> "<code class="grammar-literal">_</code>"</td>
300
+ <td><a href="#grammar-production-PN_CHARS_BASE">PN_CHARS_BASE</a> <code class="grammar-alt">|</code> '<code class="grammar-literal">_</code>'</td>
344
301
  </tr>
345
302
  <tr id="grammar-production-PN_CHARS">
346
- <td>[166s]</td>
347
303
  <td><code>PN_CHARS</code></td>
348
304
  <td>::=</td>
349
- <td><a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code class="grammar-alt">|</code> "<code class="grammar-literal">-</code>" <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <code class="grammar-char-escape"><abbr title="unicode U+00B7">#xB7</abbr></code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode U+0300">#x0300</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode U+036F">#x036F</abbr></code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode U+203F">#x203F</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode U+2040">#x2040</abbr></code><code class="grammar-brac">]</code></td>
305
+ <td><a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code class="grammar-alt">|</code> '<code class="grammar-literal">-</code>' <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <code class="grammar-char-escape"><abbr title="unicode U+00B7">#xB7</abbr></code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode U+0300">#x0300</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode U+036F">#x036F</abbr></code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode U+203F">#x203F</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode U+2040">#x2040</abbr></code><code class="grammar-brac">]</code></td>
350
306
  </tr>
351
307
  <tr id="grammar-production-PN_PREFIX">
352
- <td>[167s]</td>
353
308
  <td><code>PN_PREFIX</code></td>
354
309
  <td>::=</td>
355
- <td><a href="#grammar-production-PN_CHARS_BASE">PN_CHARS_BASE</a> <code class="grammar-paren">(</code><code class="grammar-paren">(</code><a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code class="grammar-alt">|</code> "<code class="grammar-literal">.</code>"<code class="grammar-paren">)</code><code class="grammar-star">*</code> <a href="#grammar-production-PN_CHARS">PN_CHARS</a><code class="grammar-paren">)</code><code class="grammar-opt">?</code></td>
310
+ <td><a href="#grammar-production-PN_CHARS_BASE">PN_CHARS_BASE</a> <code class="grammar-paren">(</code><code class="grammar-paren">(</code><a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code class="grammar-alt">|</code> '<code class="grammar-literal">.</code>'<code class="grammar-paren">)</code><code class="grammar-star">*</code> <a href="#grammar-production-PN_CHARS">PN_CHARS</a><code class="grammar-paren">)</code><code class="grammar-opt">?</code></td>
356
311
  </tr>
357
312
  <tr id="grammar-production-PN_LOCAL">
358
- <td>[168s]</td>
359
313
  <td><code>PN_LOCAL</code></td>
360
314
  <td>::=</td>
361
- <td><code class="grammar-paren">(</code><a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code class="grammar-alt">|</code> "<code class="grammar-literal">:</code>" <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <a href="#grammar-production-PLX">PLX</a><code class="grammar-paren">)</code> <code class="grammar-paren">(</code><code class="grammar-paren">(</code><a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code class="grammar-alt">|</code> "<code class="grammar-literal">.</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">:</code>" <code class="grammar-alt">|</code> <a href="#grammar-production-PLX">PLX</a><code class="grammar-paren">)</code><code class="grammar-star">*</code> <code class="grammar-paren">(</code><a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code class="grammar-alt">|</code> "<code class="grammar-literal">:</code>" <code class="grammar-alt">|</code> <a href="#grammar-production-PLX">PLX</a><code class="grammar-paren">)</code><code class="grammar-paren">)</code><code class="grammar-opt">?</code></td>
315
+ <td><code class="grammar-paren">(</code><a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code class="grammar-alt">|</code> '<code class="grammar-literal">:</code>' <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <a href="#grammar-production-PLX">PLX</a><code class="grammar-paren">)</code> <code class="grammar-paren">(</code><code class="grammar-paren">(</code><a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code class="grammar-alt">|</code> '<code class="grammar-literal">.</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">:</code>' <code class="grammar-alt">|</code> <a href="#grammar-production-PLX">PLX</a><code class="grammar-paren">)</code><code class="grammar-star">*</code> <code class="grammar-paren">(</code><a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code class="grammar-alt">|</code> '<code class="grammar-literal">:</code>' <code class="grammar-alt">|</code> <a href="#grammar-production-PLX">PLX</a><code class="grammar-paren">)</code><code class="grammar-paren">)</code><code class="grammar-opt">?</code></td>
362
316
  </tr>
363
317
  <tr id="grammar-production-PLX">
364
- <td>[169s]</td>
365
318
  <td><code>PLX</code></td>
366
319
  <td>::=</td>
367
320
  <td><a href="#grammar-production-PERCENT">PERCENT</a> <code class="grammar-alt">|</code> <a href="#grammar-production-PN_LOCAL_ESC">PN_LOCAL_ESC</a></td>
368
321
  </tr>
369
322
  <tr id="grammar-production-PERCENT">
370
- <td>[170s]</td>
371
323
  <td><code>PERCENT</code></td>
372
324
  <td>::=</td>
373
- <td>"<code class="grammar-literal">%</code>" <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a></td>
325
+ <td>'<code class="grammar-literal">%</code>' <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a></td>
374
326
  </tr>
375
327
  <tr id="grammar-production-HEX">
376
- <td>[171s]</td>
377
328
  <td><code>HEX</code></td>
378
329
  <td>::=</td>
379
- <td><code class="grammar-brac">[</code><code class="grammar-literal">0-9A-Fa-f</code><code class="grammar-brac">]</code></td>
330
+ <td><code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">A-F</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">a-f</code><code class="grammar-brac">]</code></td>
380
331
  </tr>
381
332
  <tr id="grammar-production-PN_LOCAL_ESC">
382
- <td>[172s]</td>
383
333
  <td><code>PN_LOCAL_ESC</code></td>
384
334
  <td>::=</td>
385
- <td>"<code class="grammar-literal">\</code>" <code class="grammar-paren">(</code>"<code class="grammar-literal">_</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">~</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">.</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">-</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">!</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">$</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">&amp;</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">&apos;</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">(</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">)</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">*</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">+</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">,</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">;</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">=</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">/</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">?</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">#</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">@</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">%</code>"<code class="grammar-paren">)</code></td>
335
+ <td>'<code class="grammar-literal">\</code>' <code class="grammar-paren">(</code>'<code class="grammar-literal">_</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">~</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">.</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">-</code>' <code class="grammar-alt">|</code> "<code class="grammar-literal">!</code>" <code class="grammar-alt">|</code> '<code class="grammar-literal">$</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">&amp;</code>' <code class="grammar-alt">|</code> "<code class="grammar-literal">&apos;</code>" <code class="grammar-alt">|</code> '<code class="grammar-literal">(</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">)</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">*</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">+</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">,</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">;</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">=</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">/</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">?</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">#</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">@</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">%</code>'<code class="grammar-paren">)</code></td>
386
336
  </tr>
387
337
  </tbody>
388
338
  </table>