ebnf 2.3.3 → 2.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/etc/turtle.html +126 -177
- data/lib/ebnf/ll1/lexer.rb +1 -1
- data/lib/ebnf/writer.rb +16 -14
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 507c2fb1540ade02c7fd97e8379a9da0175025f9658b14f00111748d46ab86a5
|
|
4
|
+
data.tar.gz: 51e580981bec7097249da661cb76c9a2ae0cf97e2a3e87c500494aad9147a603
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 51486439b64d9ac1fac9cbea93b9326f37cc59e2125d68ba3ecf86e52b2d5aa653bdd83bd2d366ef4f4a1705ce629e4b927c89f03884a380929378ab7f253ca8
|
|
7
|
+
data.tar.gz: f2036691fcd52736d63a615db302ef2efc45220a174740af984768a546e250d1b376d54d606d1a34e3886913c740f5c50dedae2a8ee9962e5d5533aec23c432d
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.3.
|
|
1
|
+
2.3.4
|
data/etc/turtle.html
CHANGED
|
@@ -1,387 +1,336 @@
|
|
|
1
1
|
|
|
2
|
+
<!-- Generated with ebnf version #{EBNF::VERSION}. See https://github.com/dryruby/ebnf. -->
|
|
2
3
|
<table class="grammar">
|
|
3
4
|
<tbody id="grammar-productions" class="ebnf">
|
|
4
|
-
<tr id="grammar-
|
|
5
|
+
<tr id="grammar-OpenStruct-turtleDoc">
|
|
5
6
|
<td>[1]</td>
|
|
6
|
-
<td><code>turtleDoc</code></td>
|
|
7
7
|
<td>::=</td>
|
|
8
|
-
<td><a href="#grammar-production-statement">statement</a><code>*</code></td>
|
|
8
|
+
<td><a href="#grammar-production-statement">statement</a><code class="grammar-star">*</code></td>
|
|
9
9
|
</tr>
|
|
10
|
-
<tr id="grammar-
|
|
10
|
+
<tr id="grammar-OpenStruct-statement">
|
|
11
11
|
<td>[2]</td>
|
|
12
|
-
<td><code>statement</code></td>
|
|
13
12
|
<td>::=</td>
|
|
14
|
-
<td><a href="#grammar-production-directive">directive</a> <code>|</code> <code>(</code><a href="#grammar-production-triples">triples</a> "<code class="grammar-literal">.</code>"<code>)</code></td>
|
|
13
|
+
<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
14
|
</tr>
|
|
16
|
-
<tr id="grammar-
|
|
15
|
+
<tr id="grammar-OpenStruct-directive">
|
|
17
16
|
<td>[3]</td>
|
|
18
|
-
<td><code>directive</code></td>
|
|
19
17
|
<td>::=</td>
|
|
20
|
-
<td><a href="#grammar-production-prefixID">prefixID</a> <code>|</code> <a href="#grammar-production-base">base</a> <code>|</code> <a href="#grammar-production-sparqlPrefix">sparqlPrefix</a> <code>|</code> <a href="#grammar-production-sparqlBase">sparqlBase</a></td>
|
|
18
|
+
<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
19
|
</tr>
|
|
22
|
-
<tr id="grammar-
|
|
20
|
+
<tr id="grammar-OpenStruct-prefixID">
|
|
23
21
|
<td>[4]</td>
|
|
24
|
-
<td><code>prefixID</code></td>
|
|
25
22
|
<td>::=</td>
|
|
26
|
-
<td
|
|
23
|
+
<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
24
|
</tr>
|
|
28
|
-
<tr id="grammar-
|
|
25
|
+
<tr id="grammar-OpenStruct-base">
|
|
29
26
|
<td>[5]</td>
|
|
30
|
-
<td><code>base</code></td>
|
|
31
27
|
<td>::=</td>
|
|
32
|
-
<td
|
|
28
|
+
<td>"<code class="grammar-literal">@base</code>" <a href="#grammar-production-IRIREF">IRIREF</a> "<code class="grammar-literal">.</code>"</td>
|
|
33
29
|
</tr>
|
|
34
|
-
<tr id="grammar-
|
|
30
|
+
<tr id="grammar-OpenStruct-sparqlPrefix">
|
|
35
31
|
<td>[28s]</td>
|
|
36
|
-
<td><code>sparqlPrefix</code></td>
|
|
37
32
|
<td>::=</td>
|
|
38
33
|
<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>
|
|
39
34
|
</tr>
|
|
40
|
-
<tr id="grammar-
|
|
35
|
+
<tr id="grammar-OpenStruct-sparqlBase">
|
|
41
36
|
<td>[29s]</td>
|
|
42
|
-
<td><code>sparqlBase</code></td>
|
|
43
37
|
<td>::=</td>
|
|
44
38
|
<td><a href="#grammar-production-SPARQL_BASE">SPARQL_BASE</a> <a href="#grammar-production-IRIREF">IRIREF</a></td>
|
|
45
39
|
</tr>
|
|
46
|
-
<tr id="grammar-
|
|
40
|
+
<tr id="grammar-OpenStruct-triples">
|
|
47
41
|
<td>[6]</td>
|
|
48
|
-
<td><code>triples</code></td>
|
|
49
42
|
<td>::=</td>
|
|
50
|
-
<td><code>(</code><a href="#grammar-production-subject">subject</a> <a href="#grammar-production-predicateObjectList">predicateObjectList</a><code>)</code> <code>|</code> <code>(</code><a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a> <a href="#grammar-production-predicateObjectList">predicateObjectList</a><code>?</code><code>)</code></td>
|
|
43
|
+
<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
44
|
</tr>
|
|
52
|
-
<tr id="grammar-
|
|
45
|
+
<tr id="grammar-OpenStruct-predicateObjectList">
|
|
53
46
|
<td>[7]</td>
|
|
54
|
-
<td><code>predicateObjectList</code></td>
|
|
55
47
|
<td>::=</td>
|
|
56
|
-
<td><a href="#grammar-production-verb">verb</a> <a href="#grammar-production-objectList">objectList</a> <code>(</code>"<code class="grammar-literal">;</code>" <code>(</code><a href="#grammar-production-verb">verb</a> <a href="#grammar-production-objectList">objectList</a><code>)</code><code>?</code><code>)</code><code>*</code></td>
|
|
48
|
+
<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
49
|
</tr>
|
|
58
|
-
<tr id="grammar-
|
|
50
|
+
<tr id="grammar-OpenStruct-objectList">
|
|
59
51
|
<td>[8]</td>
|
|
60
|
-
<td><code>objectList</code></td>
|
|
61
52
|
<td>::=</td>
|
|
62
|
-
<td><a href="#grammar-production-object">object</a> <code>(</code>"<code class="grammar-literal">,</code>" <a href="#grammar-production-object">object</a><code>)</code><code>*</code></td>
|
|
53
|
+
<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>
|
|
63
54
|
</tr>
|
|
64
|
-
<tr id="grammar-
|
|
55
|
+
<tr id="grammar-OpenStruct-verb">
|
|
65
56
|
<td>[9]</td>
|
|
66
|
-
<td><code>verb</code></td>
|
|
67
57
|
<td>::=</td>
|
|
68
|
-
<td><a href="#grammar-production-predicate">predicate</a> <code>|</code> "<code class="grammar-literal">a</code>"</td>
|
|
58
|
+
<td><a href="#grammar-production-predicate">predicate</a> <code class="grammar-alt">|</code> "<code class="grammar-literal">a</code>"</td>
|
|
69
59
|
</tr>
|
|
70
|
-
<tr id="grammar-
|
|
60
|
+
<tr id="grammar-OpenStruct-subject">
|
|
71
61
|
<td>[10]</td>
|
|
72
|
-
<td><code>subject</code></td>
|
|
73
62
|
<td>::=</td>
|
|
74
|
-
<td><a href="#grammar-production-iri">iri</a> <code>|</code> <a href="#grammar-production-BlankNode">BlankNode</a> <code>|</code> <a href="#grammar-production-collection">collection</a></td>
|
|
63
|
+
<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>
|
|
75
64
|
</tr>
|
|
76
|
-
<tr id="grammar-
|
|
65
|
+
<tr id="grammar-OpenStruct-predicate">
|
|
77
66
|
<td>[11]</td>
|
|
78
|
-
<td><code>predicate</code></td>
|
|
79
67
|
<td>::=</td>
|
|
80
68
|
<td><a href="#grammar-production-iri">iri</a></td>
|
|
81
69
|
</tr>
|
|
82
|
-
<tr id="grammar-
|
|
70
|
+
<tr id="grammar-OpenStruct-object">
|
|
83
71
|
<td>[12]</td>
|
|
84
|
-
<td><code>object</code></td>
|
|
85
72
|
<td>::=</td>
|
|
86
|
-
<td><a href="#grammar-production-iri">iri</a> <code>|</code> <a href="#grammar-production-BlankNode">BlankNode</a> <code>|</code> <a href="#grammar-production-collection">collection</a> <code>|</code> <a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a> <code>|</code> <a href="#grammar-production-literal">literal</a></td>
|
|
73
|
+
<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>
|
|
87
74
|
</tr>
|
|
88
|
-
<tr id="grammar-
|
|
75
|
+
<tr id="grammar-OpenStruct-literal">
|
|
89
76
|
<td>[13]</td>
|
|
90
|
-
<td><code>literal</code></td>
|
|
91
77
|
<td>::=</td>
|
|
92
|
-
<td><a href="#grammar-production-RDFLiteral">RDFLiteral</a> <code>|</code> <a href="#grammar-production-NumericLiteral">NumericLiteral</a> <code>|</code> <a href="#grammar-production-BooleanLiteral">BooleanLiteral</a></td>
|
|
78
|
+
<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
79
|
</tr>
|
|
94
|
-
<tr id="grammar-
|
|
80
|
+
<tr id="grammar-OpenStruct-blankNodePropertyList">
|
|
95
81
|
<td>[14]</td>
|
|
96
|
-
<td><code>blankNodePropertyList</code></td>
|
|
97
82
|
<td>::=</td>
|
|
98
83
|
<td>"<code class="grammar-literal">[</code>" <a href="#grammar-production-predicateObjectList">predicateObjectList</a> "<code class="grammar-literal">]</code>"</td>
|
|
99
84
|
</tr>
|
|
100
|
-
<tr id="grammar-
|
|
85
|
+
<tr id="grammar-OpenStruct-collection">
|
|
101
86
|
<td>[15]</td>
|
|
102
|
-
<td><code>collection</code></td>
|
|
103
87
|
<td>::=</td>
|
|
104
|
-
<td>"<code class="grammar-literal">(</code>" <a href="#grammar-production-object">object</a><code>*</code> "<code class="grammar-literal">)</code>"</td>
|
|
88
|
+
<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
89
|
</tr>
|
|
106
|
-
<tr id="grammar-
|
|
90
|
+
<tr id="grammar-OpenStruct-NumericLiteral">
|
|
107
91
|
<td>[16]</td>
|
|
108
|
-
<td><code>NumericLiteral</code></td>
|
|
109
92
|
<td>::=</td>
|
|
110
|
-
<td><a href="#grammar-production-INTEGER">INTEGER</a> <code>|</code> <a href="#grammar-production-DECIMAL">DECIMAL</a> <code>|</code> <a href="#grammar-production-DOUBLE">DOUBLE</a></td>
|
|
93
|
+
<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
94
|
</tr>
|
|
112
|
-
<tr id="grammar-
|
|
95
|
+
<tr id="grammar-OpenStruct-RDFLiteral">
|
|
113
96
|
<td>[128s]</td>
|
|
114
|
-
<td><code>RDFLiteral</code></td>
|
|
115
97
|
<td>::=</td>
|
|
116
|
-
<td><a href="#grammar-production-String">String</a> <code>(</code><a href="#grammar-production-LANGTAG">LANGTAG</a> <code>|</code> <code>(</code
|
|
98
|
+
<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
99
|
</tr>
|
|
118
|
-
<tr id="grammar-
|
|
100
|
+
<tr id="grammar-OpenStruct-BooleanLiteral">
|
|
119
101
|
<td>[133s]</td>
|
|
120
|
-
<td><code>BooleanLiteral</code></td>
|
|
121
102
|
<td>::=</td>
|
|
122
|
-
<td
|
|
103
|
+
<td>"<code class="grammar-literal">true</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">false</code>"</td>
|
|
123
104
|
</tr>
|
|
124
|
-
<tr id="grammar-
|
|
105
|
+
<tr id="grammar-OpenStruct-String">
|
|
125
106
|
<td>[17]</td>
|
|
126
|
-
<td><code>String</code></td>
|
|
127
107
|
<td>::=</td>
|
|
128
|
-
<td><a href="#grammar-production-STRING_LITERAL_QUOTE">STRING_LITERAL_QUOTE</a> <code>|</code> <a href="#grammar-production-STRING_LITERAL_SINGLE_QUOTE">STRING_LITERAL_SINGLE_QUOTE</a> <code>|</code> <a href="#grammar-production-STRING_LITERAL_LONG_SINGLE_QUOTE">STRING_LITERAL_LONG_SINGLE_QUOTE</a> <code>|</code> <a href="#grammar-production-STRING_LITERAL_LONG_QUOTE">STRING_LITERAL_LONG_QUOTE</a></td>
|
|
108
|
+
<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
109
|
</tr>
|
|
130
|
-
<tr id="grammar-
|
|
110
|
+
<tr id="grammar-OpenStruct-iri">
|
|
131
111
|
<td>[135s]</td>
|
|
132
|
-
<td><code>iri</code></td>
|
|
133
112
|
<td>::=</td>
|
|
134
|
-
<td><a href="#grammar-production-IRIREF">IRIREF</a> <code>|</code> <a href="#grammar-production-PrefixedName">PrefixedName</a></td>
|
|
113
|
+
<td><a href="#grammar-production-IRIREF">IRIREF</a> <code class="grammar-alt">|</code> <a href="#grammar-production-PrefixedName">PrefixedName</a></td>
|
|
135
114
|
</tr>
|
|
136
|
-
<tr id="grammar-
|
|
115
|
+
<tr id="grammar-OpenStruct-PrefixedName">
|
|
137
116
|
<td>[136s]</td>
|
|
138
|
-
<td><code>PrefixedName</code></td>
|
|
139
117
|
<td>::=</td>
|
|
140
|
-
<td><a href="#grammar-production-PNAME_LN">PNAME_LN</a> <code>|</code> <a href="#grammar-production-PNAME_NS">PNAME_NS</a></td>
|
|
118
|
+
<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
119
|
</tr>
|
|
142
|
-
<tr id="grammar-
|
|
120
|
+
<tr id="grammar-OpenStruct-BlankNode">
|
|
143
121
|
<td>[137s]</td>
|
|
144
|
-
<td><code>BlankNode</code></td>
|
|
145
122
|
<td>::=</td>
|
|
146
|
-
<td><a href="#grammar-production-BLANK_NODE_LABEL">BLANK_NODE_LABEL</a> <code>|</code> <a href="#grammar-production-ANON">ANON</a></td>
|
|
123
|
+
<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
124
|
</tr>
|
|
148
|
-
<tr>
|
|
149
|
-
<td
|
|
125
|
+
<tr id="grammar-declaration-terminals">
|
|
126
|
+
<td>@terminals</td>
|
|
150
127
|
<td></td>
|
|
151
128
|
<td><strong># Productions for terminals</strong></td>
|
|
152
129
|
</tr>
|
|
153
|
-
<tr id="grammar-
|
|
130
|
+
<tr id="grammar-OpenStruct-IRIREF">
|
|
154
131
|
<td>[18]</td>
|
|
155
|
-
<td><code>IRIREF</code></td>
|
|
156
132
|
<td>::=</td>
|
|
157
|
-
<td>"<code class="grammar-literal"><</code>" <code>(</code><code>[</code><code class="grammar-literal">^<>"{}
|
|
133
|
+
<td>"<code class="grammar-literal"><</code>" <code class="grammar-paren">(</code><code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">^<>"{}|^`\</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">></code>"</td>
|
|
158
134
|
</tr>
|
|
159
|
-
<tr id="grammar-
|
|
135
|
+
<tr id="grammar-OpenStruct-PNAME_NS">
|
|
160
136
|
<td>[139s]</td>
|
|
161
|
-
<td><code>PNAME_NS</code></td>
|
|
162
137
|
<td>::=</td>
|
|
163
|
-
<td><a href="#grammar-production-PN_PREFIX">PN_PREFIX</a><code>?</code> "<code class="grammar-literal">:</code>"</td>
|
|
138
|
+
<td><a href="#grammar-production-PN_PREFIX">PN_PREFIX</a><code class="grammar-opt">?</code> "<code class="grammar-literal">:</code>"</td>
|
|
164
139
|
</tr>
|
|
165
|
-
<tr id="grammar-
|
|
140
|
+
<tr id="grammar-OpenStruct-PNAME_LN">
|
|
166
141
|
<td>[140s]</td>
|
|
167
|
-
<td><code>PNAME_LN</code></td>
|
|
168
142
|
<td>::=</td>
|
|
169
143
|
<td><a href="#grammar-production-PNAME_NS">PNAME_NS</a> <a href="#grammar-production-PN_LOCAL">PN_LOCAL</a></td>
|
|
170
144
|
</tr>
|
|
171
|
-
<tr id="grammar-
|
|
145
|
+
<tr id="grammar-OpenStruct-BLANK_NODE_LABEL">
|
|
172
146
|
<td>[141s]</td>
|
|
173
|
-
<td><code>BLANK_NODE_LABEL</code></td>
|
|
174
147
|
<td>::=</td>
|
|
175
|
-
<td
|
|
148
|
+
<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>
|
|
176
149
|
</tr>
|
|
177
|
-
<tr id="grammar-
|
|
150
|
+
<tr id="grammar-OpenStruct-LANGTAG">
|
|
178
151
|
<td>[144s]</td>
|
|
179
|
-
<td><code>LANGTAG</code></td>
|
|
180
152
|
<td>::=</td>
|
|
181
|
-
<td>"<code class="grammar-literal">@</code>" <code>[</code><code class="grammar-literal">a-zA-Z</code><code>]</code><code>+</code> <code>(</code>"<code class="grammar-literal">-</code>" <code>[</code><code class="grammar-literal">a-zA-Z0-9</code><code>]</code><code>+</code><code>)</code><code>*</code></td>
|
|
153
|
+
<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>
|
|
182
154
|
</tr>
|
|
183
|
-
<tr id="grammar-
|
|
155
|
+
<tr id="grammar-OpenStruct-INTEGER">
|
|
184
156
|
<td>[19]</td>
|
|
185
|
-
<td><code>INTEGER</code></td>
|
|
186
157
|
<td>::=</td>
|
|
187
|
-
<td><code>[</code><code class="grammar-literal">+-</code><code>]</code><code>?</code> <code>[</code><code class="grammar-literal">0-9</code><code>]</code><code>+</code></td>
|
|
158
|
+
<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>
|
|
188
159
|
</tr>
|
|
189
|
-
<tr id="grammar-
|
|
160
|
+
<tr id="grammar-OpenStruct-DECIMAL">
|
|
190
161
|
<td>[20]</td>
|
|
191
|
-
<td><code>DECIMAL</code></td>
|
|
192
162
|
<td>::=</td>
|
|
193
|
-
<td><code>[</code><code class="grammar-literal">+-</code><code>]</code><code>?</code> <code>(</code><code>[</code><code class="grammar-literal">0-9</code><code>]</code><code>*</code> "<code class="grammar-literal">.</code>" <code>[</code><code class="grammar-literal">0-9</code><code>]</code><code>+</code><code>)</code></td>
|
|
163
|
+
<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>
|
|
194
164
|
</tr>
|
|
195
|
-
<tr id="grammar-
|
|
165
|
+
<tr id="grammar-OpenStruct-DOUBLE">
|
|
196
166
|
<td>[21]</td>
|
|
197
|
-
<td><code>DOUBLE</code></td>
|
|
198
167
|
<td>::=</td>
|
|
199
|
-
<td><code>[</code><code class="grammar-literal">+-</code><code>]</code><code>?</code> <code>(</code><code>(</code><code>[</code><code class="grammar-literal">0-9</code><code>]</code><code>+</code> "<code class="grammar-literal">.</code>" <code>[</code><code class="grammar-literal">0-9</code><code>]</code><code>*</code> <a href="#grammar-production-EXPONENT">EXPONENT</a><code>)</code> <code>|</code> <code>(</code>"<code class="grammar-literal">.</code>" <code>[</code><code class="grammar-literal">0-9</code><code>]</code><code>+</code> <a href="#grammar-production-EXPONENT">EXPONENT</a><code>)</code> <code>|</code> <code>(</code><code>[</code><code class="grammar-literal">0-9</code><code>]</code><code>+</code> <a href="#grammar-production-EXPONENT">EXPONENT</a><code>)</code><code>)</code></td>
|
|
168
|
+
<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>
|
|
200
169
|
</tr>
|
|
201
|
-
<tr id="grammar-
|
|
170
|
+
<tr id="grammar-OpenStruct-EXPONENT">
|
|
202
171
|
<td>[154s]</td>
|
|
203
|
-
<td><code>EXPONENT</code></td>
|
|
204
172
|
<td>::=</td>
|
|
205
|
-
<td><code>[</code><code class="grammar-literal">eE</code><code>]</code> <code>[</code><code class="grammar-literal">+-</code><code>]</code><code>?</code> <code>[</code><code class="grammar-literal">0-9</code><code>]</code><code>+</code></td>
|
|
173
|
+
<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>
|
|
206
174
|
</tr>
|
|
207
|
-
<tr id="grammar-
|
|
175
|
+
<tr id="grammar-OpenStruct-STRING_LITERAL_QUOTE">
|
|
208
176
|
<td>[22]</td>
|
|
209
|
-
<td><code>STRING_LITERAL_QUOTE</code></td>
|
|
210
177
|
<td>::=</td>
|
|
211
|
-
<td>'<code class="grammar-literal">"</code>' <code>(</code><code>[</code><code class="grammar-literal">^</code><code class="grammar-char-escape"><abbr title="quot">>"</abbr></code><code class="grammar-char-escape"><abbr title="ascii '\'">#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>]</code> <code>|</code> <a href="#grammar-production-ECHAR">ECHAR</a> <code>|</code> <a href="#grammar-production-UCHAR">UCHAR</a><code>)</code><code>*</code> '<code class="grammar-literal">"</code>'</td>
|
|
178
|
+
<td>'<code class="grammar-literal">"</code>' <code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">^</code><code class="grammar-char-escape"><abbr title="quot">>"</abbr></code><code class="grammar-char-escape"><abbr title="ascii '\'">#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">"</code>'</td>
|
|
212
179
|
</tr>
|
|
213
|
-
<tr id="grammar-
|
|
180
|
+
<tr id="grammar-OpenStruct-STRING_LITERAL_SINGLE_QUOTE">
|
|
214
181
|
<td>[23]</td>
|
|
215
|
-
<td><code>STRING_LITERAL_SINGLE_QUOTE</code></td>
|
|
216
182
|
<td>::=</td>
|
|
217
|
-
<td>"<code class="grammar-literal">'</code>" <code>(</code><code>[</code><code class="grammar-literal">^</code><code class="grammar-char-escape"><abbr title="ascii '''">#x27</abbr></code><code class="grammar-char-escape"><abbr title="ascii '\'">#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>]</code> <code>|</code> <a href="#grammar-production-ECHAR">ECHAR</a> <code>|</code> <a href="#grammar-production-UCHAR">UCHAR</a><code>)</code><code>*</code> "<code class="grammar-literal">'</code>"</td>
|
|
183
|
+
<td>"<code class="grammar-literal">'</code>" <code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">^</code><code class="grammar-char-escape"><abbr title="ascii '''">#x27</abbr></code><code class="grammar-char-escape"><abbr title="ascii '\'">#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">'</code>"</td>
|
|
218
184
|
</tr>
|
|
219
|
-
<tr id="grammar-
|
|
185
|
+
<tr id="grammar-OpenStruct-STRING_LITERAL_LONG_SINGLE_QUOTE">
|
|
220
186
|
<td>[24]</td>
|
|
221
|
-
<td><code>STRING_LITERAL_LONG_SINGLE_QUOTE</code></td>
|
|
222
187
|
<td>::=</td>
|
|
223
|
-
<td>&
|
|
188
|
+
<td>"<code class="grammar-literal">'''</code>" <code class="grammar-paren">(</code><code class="grammar-paren">(</code>"<code class="grammar-literal">'</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">''</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">^'\</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">'''</code>"</td>
|
|
224
189
|
</tr>
|
|
225
|
-
<tr id="grammar-
|
|
190
|
+
<tr id="grammar-OpenStruct-STRING_LITERAL_LONG_QUOTE">
|
|
226
191
|
<td>[25]</td>
|
|
227
|
-
<td><code>STRING_LITERAL_LONG_QUOTE</code></td>
|
|
228
192
|
<td>::=</td>
|
|
229
|
-
<td>&
|
|
193
|
+
<td>'<code class="grammar-literal">"""</code>' <code class="grammar-paren">(</code><code class="grammar-paren">(</code>'<code class="grammar-literal">"</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">""</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">^"\</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">"""</code>'</td>
|
|
230
194
|
</tr>
|
|
231
|
-
<tr id="grammar-
|
|
195
|
+
<tr id="grammar-OpenStruct-UCHAR">
|
|
232
196
|
<td>[26]</td>
|
|
233
|
-
<td><code>UCHAR</code></td>
|
|
234
197
|
<td>::=</td>
|
|
235
|
-
<td><code>(</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>)</code> <code>|</code> <code>(</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>)</code></td>
|
|
198
|
+
<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>
|
|
236
199
|
</tr>
|
|
237
|
-
<tr id="grammar-
|
|
200
|
+
<tr id="grammar-OpenStruct-ECHAR">
|
|
238
201
|
<td>[159s]</td>
|
|
239
|
-
<td><code>ECHAR</code></td>
|
|
240
202
|
<td>::=</td>
|
|
241
|
-
<td>"<code class="grammar-literal">\</code>" <code>[</code><code class="grammar-literal">tbnrf"'</code><code>]</code></td>
|
|
203
|
+
<td>"<code class="grammar-literal">\</code>" <code class="grammar-brac">[</code><code class="grammar-literal">tbnrf"'</code><code class="grammar-brac">]</code></td>
|
|
242
204
|
</tr>
|
|
243
|
-
<tr id="grammar-
|
|
205
|
+
<tr id="grammar-OpenStruct-SPARQL_PREFIX">
|
|
244
206
|
<td>[28t]</td>
|
|
245
|
-
<td><code>SPARQL_PREFIX</code></td>
|
|
246
207
|
<td>::=</td>
|
|
247
|
-
<td><code>[</code><code class="grammar-literal">Pp</code><code>]</code> <code>[</code><code class="grammar-literal">Rr</code><code>]</code> <code>[</code><code class="grammar-literal">Ee</code><code>]</code> <code>[</code><code class="grammar-literal">Ff</code><code>]</code> <code>[</code><code class="grammar-literal">Ii</code><code>]</code> <code>[</code><code class="grammar-literal">Xx</code><code>]</code></td>
|
|
208
|
+
<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>
|
|
248
209
|
</tr>
|
|
249
|
-
<tr id="grammar-
|
|
210
|
+
<tr id="grammar-OpenStruct-SPARQL_BASE">
|
|
250
211
|
<td>[29t]</td>
|
|
251
|
-
<td><code>SPARQL_BASE</code></td>
|
|
252
212
|
<td>::=</td>
|
|
253
|
-
<td><code>[</code><code class="grammar-literal">Bb</code><code>]</code> <code>[</code><code class="grammar-literal">Aa</code><code>]</code> <code>[</code><code class="grammar-literal">Ss</code><code>]</code> <code>[</code><code class="grammar-literal">Ee</code><code>]</code></td>
|
|
213
|
+
<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>
|
|
254
214
|
</tr>
|
|
255
|
-
<tr id="grammar-
|
|
215
|
+
<tr id="grammar-OpenStruct-WS">
|
|
256
216
|
<td>[161s]</td>
|
|
257
|
-
<td><code>WS</code></td>
|
|
258
217
|
<td>::=</td>
|
|
259
|
-
<td><code class="grammar-char-escape"><abbr title="space">#x20</abbr></code> <code>|</code> <code class="grammar-char-escape"><abbr title="horizontal tab">#x09</abbr></code> <code>|</code> <code class="grammar-char-escape"><abbr title="carriage return">#x0D</abbr></code> <code>|</code> <code class="grammar-char-escape"><abbr title="new line">#x0A</abbr></code></td>
|
|
218
|
+
<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>
|
|
260
219
|
</tr>
|
|
261
|
-
<tr id="grammar-
|
|
220
|
+
<tr id="grammar-OpenStruct-ANON">
|
|
262
221
|
<td>[162s]</td>
|
|
263
|
-
<td><code>ANON</code></td>
|
|
264
222
|
<td>::=</td>
|
|
265
|
-
<td>"<code class="grammar-literal">[</code>" <a href="#grammar-production-WS">WS</a><code>*</code> "<code class="grammar-literal">]</code>"</td>
|
|
223
|
+
<td>"<code class="grammar-literal">[</code>" <a href="#grammar-production-WS">WS</a><code class="grammar-star">*</code> "<code class="grammar-literal">]</code>"</td>
|
|
266
224
|
</tr>
|
|
267
225
|
<tr id="grammar-production-PN_CHARS_BASE">
|
|
268
226
|
<td>[163s]</td>
|
|
269
|
-
<td><code>PN_CHARS_BASE</code></td>
|
|
270
227
|
<td>::=</td>
|
|
271
|
-
<td><code>[</code><code class="grammar-literal">A-Z</code><code>]</code></td>
|
|
228
|
+
<td><code class="grammar-brac">[</code><code class="grammar-literal">A-Z</code><code class="grammar-brac">]</code></td>
|
|
272
229
|
</tr>
|
|
273
230
|
<tr>
|
|
274
231
|
<td colspan=2></td>
|
|
275
|
-
<td>|</td>
|
|
276
|
-
<td><code>[</code><code class="grammar-literal">a-z</code><code>]</code></td>
|
|
232
|
+
<td><code class="grammar-alt">|</code></td>
|
|
233
|
+
<td><code class="grammar-brac">[</code><code class="grammar-literal">a-z</code><code class="grammar-brac">]</code></td>
|
|
277
234
|
</tr>
|
|
278
235
|
<tr>
|
|
279
236
|
<td colspan=2></td>
|
|
280
|
-
<td>|</td>
|
|
281
|
-
<td><code>[</code><code class="grammar-char-escape"><abbr title="extended ascii '#xC0'">#xC0</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="extended ascii '#xD6'">#xD6</abbr></code><code>]</code></td>
|
|
237
|
+
<td><code class="grammar-alt">|</code></td>
|
|
238
|
+
<td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="extended ascii '#xC0'">#xC0</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="extended ascii '#xD6'">#xD6</abbr></code><code class="grammar-brac">]</code></td>
|
|
282
239
|
</tr>
|
|
283
240
|
<tr>
|
|
284
241
|
<td colspan=2></td>
|
|
285
|
-
<td>|</td>
|
|
286
|
-
<td><code>[</code><code class="grammar-char-escape"><abbr title="extended ascii '#xD8'">#xD8</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="extended ascii '#xF6'">#xF6</abbr></code><code>]</code></td>
|
|
242
|
+
<td><code class="grammar-alt">|</code></td>
|
|
243
|
+
<td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="extended ascii '#xD8'">#xD8</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="extended ascii '#xF6'">#xF6</abbr></code><code class="grammar-brac">]</code></td>
|
|
287
244
|
</tr>
|
|
288
245
|
<tr>
|
|
289
246
|
<td colspan=2></td>
|
|
290
|
-
<td>|</td>
|
|
291
|
-
<td><code>[</code><code class="grammar-char-escape"><abbr title="extended ascii '#xF8'">#xF8</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x02FF</abbr></code><code>]</code></td>
|
|
247
|
+
<td><code class="grammar-alt">|</code></td>
|
|
248
|
+
<td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="extended ascii '#xF8'">#xF8</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x02FF</abbr></code><code class="grammar-brac">]</code></td>
|
|
292
249
|
</tr>
|
|
293
250
|
<tr>
|
|
294
251
|
<td colspan=2></td>
|
|
295
|
-
<td>|</td>
|
|
296
|
-
<td><code>[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x0370</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x037D</abbr></code><code>]</code></td>
|
|
252
|
+
<td><code class="grammar-alt">|</code></td>
|
|
253
|
+
<td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x0370</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x037D</abbr></code><code class="grammar-brac">]</code></td>
|
|
297
254
|
</tr>
|
|
298
255
|
<tr>
|
|
299
256
|
<td colspan=2></td>
|
|
300
|
-
<td>|</td>
|
|
301
|
-
<td><code>[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x037F</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Reserved'">#x1FFF</abbr></code><code>]</code></td>
|
|
257
|
+
<td><code class="grammar-alt">|</code></td>
|
|
258
|
+
<td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x037F</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Reserved'">#x1FFF</abbr></code><code class="grammar-brac">]</code></td>
|
|
302
259
|
</tr>
|
|
303
260
|
<tr>
|
|
304
261
|
<td colspan=2></td>
|
|
305
|
-
<td>|</td>
|
|
306
|
-
<td><code>[</code><code class="grammar-char-escape"><abbr title="unicode 'Format'">#x200C</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Format'">#x200D</abbr></code><code>]</code></td>
|
|
262
|
+
<td><code class="grammar-alt">|</code></td>
|
|
263
|
+
<td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode 'Format'">#x200C</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Format'">#x200D</abbr></code><code class="grammar-brac">]</code></td>
|
|
307
264
|
</tr>
|
|
308
265
|
<tr>
|
|
309
266
|
<td colspan=2></td>
|
|
310
|
-
<td>|</td>
|
|
311
|
-
<td><code>[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x2070</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Reserved'">#x218F</abbr></code><code>]</code></td>
|
|
267
|
+
<td><code class="grammar-alt">|</code></td>
|
|
268
|
+
<td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x2070</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Reserved'">#x218F</abbr></code><code class="grammar-brac">]</code></td>
|
|
312
269
|
</tr>
|
|
313
270
|
<tr>
|
|
314
271
|
<td colspan=2></td>
|
|
315
|
-
<td>|</td>
|
|
316
|
-
<td><code>[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x2C00</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Reserved'">#x2FEF</abbr></code><code>]</code></td>
|
|
272
|
+
<td><code class="grammar-alt">|</code></td>
|
|
273
|
+
<td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x2C00</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Reserved'">#x2FEF</abbr></code><code class="grammar-brac">]</code></td>
|
|
317
274
|
</tr>
|
|
318
275
|
<tr>
|
|
319
276
|
<td colspan=2></td>
|
|
320
|
-
<td>|</td>
|
|
321
|
-
<td><code>[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x3001</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Reserved'">#xD7FF</abbr></code><code>]</code></td>
|
|
277
|
+
<td><code class="grammar-alt">|</code></td>
|
|
278
|
+
<td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x3001</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Reserved'">#xD7FF</abbr></code><code class="grammar-brac">]</code></td>
|
|
322
279
|
</tr>
|
|
323
280
|
<tr>
|
|
324
281
|
<td colspan=2></td>
|
|
325
|
-
<td>|</td>
|
|
326
|
-
<td><code>[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#xF900</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#xFDCF</abbr></code><code>]</code></td>
|
|
282
|
+
<td><code class="grammar-alt">|</code></td>
|
|
283
|
+
<td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#xF900</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#xFDCF</abbr></code><code class="grammar-brac">]</code></td>
|
|
327
284
|
</tr>
|
|
328
285
|
<tr>
|
|
329
286
|
<td colspan=2></td>
|
|
330
|
-
<td>|</td>
|
|
331
|
-
<td><code>[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#xFDF0</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#xFFFD</abbr></code><code>]</code></td>
|
|
287
|
+
<td><code class="grammar-alt">|</code></td>
|
|
288
|
+
<td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#xFDF0</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#xFFFD</abbr></code><code class="grammar-brac">]</code></td>
|
|
332
289
|
</tr>
|
|
333
290
|
<tr>
|
|
334
291
|
<td colspan=2></td>
|
|
335
|
-
<td>|</td>
|
|
336
|
-
<td><code>[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x00010000</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Noncharacter'">#x000EFFFF</abbr></code><code>]</code></td>
|
|
292
|
+
<td><code class="grammar-alt">|</code></td>
|
|
293
|
+
<td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x00010000</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Noncharacter'">#x000EFFFF</abbr></code><code class="grammar-brac">]</code></td>
|
|
337
294
|
</tr>
|
|
338
|
-
<tr id="grammar-
|
|
295
|
+
<tr id="grammar-OpenStruct-PN_CHARS_U">
|
|
339
296
|
<td>[164s]</td>
|
|
340
|
-
<td><code>PN_CHARS_U</code></td>
|
|
341
297
|
<td>::=</td>
|
|
342
|
-
<td><a href="#grammar-production-PN_CHARS_BASE">PN_CHARS_BASE</a> <code>|</code> "<code class="grammar-literal">_</code>"</td>
|
|
298
|
+
<td><a href="#grammar-production-PN_CHARS_BASE">PN_CHARS_BASE</a> <code class="grammar-alt">|</code> "<code class="grammar-literal">_</code>"</td>
|
|
343
299
|
</tr>
|
|
344
|
-
<tr id="grammar-
|
|
300
|
+
<tr id="grammar-OpenStruct-PN_CHARS">
|
|
345
301
|
<td>[166s]</td>
|
|
346
|
-
<td><code>PN_CHARS</code></td>
|
|
347
302
|
<td>::=</td>
|
|
348
|
-
<td><a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code>|</code> "<code class="grammar-literal">-</code>" <code>|</code> <code>[</code><code class="grammar-literal">0-9</code><code>]</code> <code>|</code> <code class="grammar-char-escape"><abbr title="extended ascii '#xB7'">#xB7</abbr></code> <code>|</code> <code>[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x0300</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x036F</abbr></code><code>]</code> <code>|</code> <code>[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x203F</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x2040</abbr></code><code>]</code></td>
|
|
303
|
+
<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="extended ascii '#xB7'">#xB7</abbr></code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x0300</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#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 'Graphic'">#x203F</abbr></code><code class="grammar-literal">-</code><code class="grammar-char-escape"><abbr title="unicode 'Graphic'">#x2040</abbr></code><code class="grammar-brac">]</code></td>
|
|
349
304
|
</tr>
|
|
350
|
-
<tr id="grammar-
|
|
305
|
+
<tr id="grammar-OpenStruct-PN_PREFIX">
|
|
351
306
|
<td>[167s]</td>
|
|
352
|
-
<td><code>PN_PREFIX</code></td>
|
|
353
307
|
<td>::=</td>
|
|
354
|
-
<td><a href="#grammar-production-PN_CHARS_BASE">PN_CHARS_BASE</a> <code>(</code><code>(</code><a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code>|</code> "<code class="grammar-literal">.</code>"<code>)</code><code>*</code> <a href="#grammar-production-PN_CHARS">PN_CHARS</a><code>)</code><code>?</code></td>
|
|
308
|
+
<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>
|
|
355
309
|
</tr>
|
|
356
|
-
<tr id="grammar-
|
|
310
|
+
<tr id="grammar-OpenStruct-PN_LOCAL">
|
|
357
311
|
<td>[168s]</td>
|
|
358
|
-
<td><code>PN_LOCAL</code></td>
|
|
359
312
|
<td>::=</td>
|
|
360
|
-
<td><code>(</code><a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code>|</code> "<code class="grammar-literal">:</code>" <code>|</code> <code>[</code><code class="grammar-literal">0-9</code><code>]</code> <code>|</code> <a href="#grammar-production-PLX">PLX</a><code>)</code> <code>(</code><code>(</code><a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code>|</code> "<code class="grammar-literal">.</code>" <code>|</code> "<code class="grammar-literal">:</code>" <code>|</code> <a href="#grammar-production-PLX">PLX</a><code>)</code><code>*</code> <code>(</code><a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code>|</code> "<code class="grammar-literal">:</code>" <code>|</code> <a href="#grammar-production-PLX">PLX</a><code>)</code><code>)</code><code>?</code></td>
|
|
313
|
+
<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>
|
|
361
314
|
</tr>
|
|
362
|
-
<tr id="grammar-
|
|
315
|
+
<tr id="grammar-OpenStruct-PLX">
|
|
363
316
|
<td>[169s]</td>
|
|
364
|
-
<td><code>PLX</code></td>
|
|
365
317
|
<td>::=</td>
|
|
366
|
-
<td><a href="#grammar-production-PERCENT">PERCENT</a> <code>|</code> <a href="#grammar-production-PN_LOCAL_ESC">PN_LOCAL_ESC</a></td>
|
|
318
|
+
<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>
|
|
367
319
|
</tr>
|
|
368
|
-
<tr id="grammar-
|
|
320
|
+
<tr id="grammar-OpenStruct-PERCENT">
|
|
369
321
|
<td>[170s]</td>
|
|
370
|
-
<td><code>PERCENT</code></td>
|
|
371
322
|
<td>::=</td>
|
|
372
323
|
<td>"<code class="grammar-literal">%</code>" <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a></td>
|
|
373
324
|
</tr>
|
|
374
|
-
<tr id="grammar-
|
|
325
|
+
<tr id="grammar-OpenStruct-HEX">
|
|
375
326
|
<td>[171s]</td>
|
|
376
|
-
<td><code>HEX</code></td>
|
|
377
327
|
<td>::=</td>
|
|
378
|
-
<td><code>[</code><code class="grammar-literal">0-9A-Fa-f</code><code>]</code></td>
|
|
328
|
+
<td><code class="grammar-brac">[</code><code class="grammar-literal">0-9A-Fa-f</code><code class="grammar-brac">]</code></td>
|
|
379
329
|
</tr>
|
|
380
|
-
<tr id="grammar-
|
|
330
|
+
<tr id="grammar-OpenStruct-PN_LOCAL_ESC">
|
|
381
331
|
<td>[172s]</td>
|
|
382
|
-
<td><code>PN_LOCAL_ESC</code></td>
|
|
383
332
|
<td>::=</td>
|
|
384
|
-
<td>"<code class="grammar-literal">\</code>" <code>(</code>"<code class="grammar-literal">_</code>" <code>|</code> "<code class="grammar-literal">~</code>" <code>|</code> "<code class="grammar-literal">.</code>" <code>|</code> "<code class="grammar-literal">-</code>" <code>|</code> "<code class="grammar-literal">!</code>" <code>|</code> "<code class="grammar-literal">$</code>" <code>|</code> "<code class="grammar-literal">&</code>" <code>|</code> "<code class="grammar-literal">'</code>" <code>|</code> "<code class="grammar-literal">(</code>" <code>|</code> "<code class="grammar-literal">)</code>" <code>|</code> "<code class="grammar-literal">*</code>" <code>|</code> "<code class="grammar-literal">+</code>" <code>|</code> "<code class="grammar-literal">,</code>" <code>|</code> "<code class="grammar-literal">;</code>" <code>|</code> "<code class="grammar-literal">=</code>" <code>|</code> "<code class="grammar-literal">/</code>" <code>|</code> "<code class="grammar-literal">?</code>" <code>|</code> "<code class="grammar-literal">#</code>" <code>|</code> "<code class="grammar-literal">@</code>" <code>|</code> "<code class="grammar-literal">%</code>"<code>)</code></td>
|
|
333
|
+
<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">&</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-alt">|</code> "<code class="grammar-literal">%</code>"<code class="grammar-paren">)</code></td>
|
|
385
334
|
</tr>
|
|
386
335
|
</tbody>
|
|
387
336
|
</table>
|
data/lib/ebnf/ll1/lexer.rb
CHANGED
|
@@ -201,7 +201,7 @@ module EBNF::LL1
|
|
|
201
201
|
# @param [Array[Symbol]] types Optional set of types for restricting terminals examined
|
|
202
202
|
# @return [Token]
|
|
203
203
|
def recover(*types)
|
|
204
|
-
|
|
204
|
+
until scanner.eos? || tok = match_token(*types)
|
|
205
205
|
if scanner.skip_until(@whitespace || /\s+/m).nil? # Skip past current "token"
|
|
206
206
|
# No whitespace at the end, must be and end of string
|
|
207
207
|
scanner.terminate
|
data/lib/ebnf/writer.rb
CHANGED
|
@@ -133,7 +133,8 @@ module EBNF
|
|
|
133
133
|
formatted_rules = rules.map do |rule|
|
|
134
134
|
if rule.kind == :terminals || rule.kind == :pass
|
|
135
135
|
OpenStruct.new(id: ("@#{rule.kind}"),
|
|
136
|
-
|
|
136
|
+
class: :declaration,
|
|
137
|
+
sym: rule.kind,
|
|
137
138
|
assign: nil,
|
|
138
139
|
formatted: (
|
|
139
140
|
rule.kind == :terminals ?
|
|
@@ -150,17 +151,18 @@ module EBNF
|
|
|
150
151
|
split(/\s*--rule-extensions--\s*/).each_with_index do |formatted, ndx|
|
|
151
152
|
assign = case format
|
|
152
153
|
when :ebnf
|
|
153
|
-
formatted.sub!(%r{\s*<code
|
|
154
|
-
(ndx > 0 ? (rule.alt? ? '
|
|
154
|
+
formatted.sub!(%r{\s*<code[^>]*>\|</code>\s*}, '')
|
|
155
|
+
(ndx > 0 ? (rule.alt? ? '<code class="grammar-alt">|</code>' : '') : '::=')
|
|
155
156
|
when :abnf
|
|
156
|
-
formatted.sub!(%r{\s*<code>/</code>\s*}, '')
|
|
157
|
-
(ndx > 0 ? '
|
|
157
|
+
formatted.sub!(%r{\s*<code[^>]>/</code>\s*}, '')
|
|
158
|
+
(ndx > 0 ? '<code class="grammar-alt">=/</code>' : '=')
|
|
158
159
|
else
|
|
159
|
-
formatted.sub!(%r{\s*<code>\|</code>\s*}, '')
|
|
160
|
-
(ndx > 0 ? (rule.alt? ? '
|
|
160
|
+
formatted.sub!(%r{\s*<code[^>]>\|</code>\s*}, '')
|
|
161
|
+
(ndx > 0 ? (rule.alt? ? '<code class="grammar-alt">|</code>' : '') : '=')
|
|
161
162
|
end
|
|
162
163
|
lines << OpenStruct.new(id: ((ndx == 0 ? "[#{rule.id}]" : "") if rule.id),
|
|
163
164
|
sym: (rule.sym if ndx == 0 || format == :abnf),
|
|
165
|
+
class: :production,
|
|
164
166
|
assign: assign,
|
|
165
167
|
formatted: formatted)
|
|
166
168
|
end
|
|
@@ -170,6 +172,7 @@ module EBNF
|
|
|
170
172
|
lines
|
|
171
173
|
else
|
|
172
174
|
OpenStruct.new(id: ("[#{rule.id}]" if rule.id),
|
|
175
|
+
class: :production,
|
|
173
176
|
sym: rule.sym,
|
|
174
177
|
assign: (format == :ebnf ? '::=' : '='),
|
|
175
178
|
formatted: (formatted_expr + (format == :isoebnf ? ' ;' : '')))
|
|
@@ -351,8 +354,8 @@ module EBNF
|
|
|
351
354
|
end
|
|
352
355
|
end
|
|
353
356
|
|
|
354
|
-
res = "
|
|
355
|
-
|
|
357
|
+
res = @options[:html] ? %(<code class="grammar-literal">#{@coder.encode(string)}</code>) : string
|
|
358
|
+
res = "#{quote}#{res}#{quote}"
|
|
356
359
|
end
|
|
357
360
|
|
|
358
361
|
def escape_ebnf_hex(u)
|
|
@@ -708,17 +711,16 @@ module EBNF
|
|
|
708
711
|
chars.length == 1 ? chars.last.inspect : chars.unshift(:alt)
|
|
709
712
|
end
|
|
710
713
|
|
|
711
|
-
ERB_DESC = %
|
|
712
|
-
|
|
713
|
-
<table class="grammar">
|
|
714
|
+
ERB_DESC = %(<!-- Generated with ebnf version #{EBNF::VERSION}. See https://github.com/dryruby/ebnf. -->\n) +
|
|
715
|
+
%q(<table class="grammar">
|
|
714
716
|
<tbody id="grammar-productions" class="<%= @format %>">
|
|
715
717
|
<% for rule in @rules %>
|
|
716
|
-
<tr<%= %{ id="grammar
|
|
718
|
+
<tr<%= %{ id="grammar-#{rule[:class]}-#{rule.sym}"} unless %w(=/ |).include?(rule.assign) || rule.sym.nil?%>>
|
|
717
719
|
<% if rule.id %>
|
|
718
720
|
<td<%= " colspan=2" unless rule.sym %>><%= rule.id %></td>
|
|
719
721
|
<% end %>
|
|
720
722
|
<% if rule.sym %>
|
|
721
|
-
<td><code><%== rule.sym %></code></td>
|
|
723
|
+
<td><code><%== (rule.sym unless rule.class == :declaration) %></code></td>
|
|
722
724
|
<% end %>
|
|
723
725
|
<td><%= rule.assign %></td>
|
|
724
726
|
<td><%= rule.formatted %></td>
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ebnf
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.3.
|
|
4
|
+
version: 2.3.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Gregg Kellogg
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-06-
|
|
11
|
+
date: 2023-06-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: sxp
|
|
@@ -300,7 +300,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
300
300
|
- !ruby/object:Gem::Version
|
|
301
301
|
version: '0'
|
|
302
302
|
requirements: []
|
|
303
|
-
rubygems_version: 3.4.
|
|
303
|
+
rubygems_version: 3.4.10
|
|
304
304
|
signing_key:
|
|
305
305
|
specification_version: 4
|
|
306
306
|
summary: EBNF parser and parser generator in Ruby.
|