ebnf 2.4.0 → 2.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -0
- data/VERSION +1 -1
- data/etc/abnf.sxp +1 -1
- data/etc/ebnf.html +13 -13
- data/etc/ebnf.ll1.rb +1 -1
- data/etc/ebnf.ll1.sxp +94 -94
- data/etc/ebnf.peg.rb +1 -1
- data/etc/ebnf.peg.sxp +29 -29
- data/etc/ebnf.sxp +18 -18
- data/etc/iso-ebnf.sxp +27 -27
- data/etc/sparql.sxp +195 -195
- data/etc/turtle.ebnf +70 -67
- data/etc/turtle.html +56 -106
- data/etc/turtle.peg.sxp +182 -191
- data/etc/turtle.sxp +64 -70
- data/lib/ebnf/abnf.rb +3 -3
- data/lib/ebnf/base.rb +1 -1
- data/lib/ebnf/isoebnf.rb +1 -1
- data/lib/ebnf/native.rb +3 -2
- data/lib/ebnf/parser.rb +4 -2
- data/lib/ebnf/rule.rb +1 -2
- data/lib/ebnf/unescape.rb +1 -1
- data/lib/ebnf/writer.rb +9 -7
- data/lib/ebnf.rb +2 -0
- metadata +5 -12
- data/etc/sparql.html +0 -1425
- data/etc/sparql.ll1.sxp +0 -7372
- data/etc/sparql.peg.rb +0 -532
- data/etc/sparql.peg.sxp +0 -597
- data/etc/turtle.ll1.rb +0 -1482
- data/etc/turtle.ll1.sxp +0 -425
- data/etc/turtle.peg.rb +0 -182
data/etc/sparql.sxp
CHANGED
@@ -4,117 +4,117 @@
|
|
4
4
|
(seq Prologue (alt SelectQuery ConstructQuery DescribeQuery AskQuery)))
|
5
5
|
(rule UpdateUnit "3" (seq Update))
|
6
6
|
(rule Prologue "4" (star (alt BaseDecl PrefixDecl)))
|
7
|
-
(rule BaseDecl "5" (seq
|
8
|
-
(rule PrefixDecl "6" (seq
|
7
|
+
(rule BaseDecl "5" (seq 'BASE' IRIREF))
|
8
|
+
(rule PrefixDecl "6" (seq 'PREFIX' PNAME_NS IRIREF))
|
9
9
|
(rule SelectQuery "7"
|
10
10
|
(seq SelectClause (star DatasetClause) WhereClause SolutionModifier ValuesClause))
|
11
11
|
(rule SubSelect "8" (seq SelectClause WhereClause SolutionModifier ValuesClause))
|
12
12
|
(rule SelectClause "9"
|
13
|
-
(seq
|
14
|
-
(opt (alt
|
15
|
-
(alt (plus (alt Var (seq
|
13
|
+
(seq 'SELECT'
|
14
|
+
(opt (alt 'DISTINCT' 'REDUCED'))
|
15
|
+
(alt (plus (alt Var (seq '(' Expression 'AS' Var ')'))) '*')) )
|
16
16
|
(rule ConstructQuery "10"
|
17
|
-
(seq
|
17
|
+
(seq 'CONSTRUCT'
|
18
18
|
(alt
|
19
19
|
(seq ConstructTemplate (star DatasetClause) WhereClause SolutionModifier)
|
20
|
-
(seq (star DatasetClause)
|
20
|
+
(seq (star DatasetClause) 'WHERE' '{' (opt TriplesTemplate) '}' SolutionModifier)) ValuesClause ))
|
21
21
|
(rule DescribeQuery "11"
|
22
|
-
(seq
|
23
|
-
(alt (plus VarOrIri)
|
22
|
+
(seq 'DESCRIBE'
|
23
|
+
(alt (plus VarOrIri) '*')
|
24
24
|
(star DatasetClause)
|
25
25
|
(opt WhereClause) SolutionModifier ValuesClause ))
|
26
|
-
(rule AskQuery "12" (seq
|
27
|
-
(rule DatasetClause "13" (seq
|
26
|
+
(rule AskQuery "12" (seq 'ASK' (star DatasetClause) WhereClause ValuesClause))
|
27
|
+
(rule DatasetClause "13" (seq 'FROM' (alt DefaultGraphClause NamedGraphClause)))
|
28
28
|
(rule DefaultGraphClause "14" (seq SourceSelector))
|
29
|
-
(rule NamedGraphClause "15" (seq
|
29
|
+
(rule NamedGraphClause "15" (seq 'NAMED' SourceSelector))
|
30
30
|
(rule SourceSelector "16" (seq iri))
|
31
|
-
(rule WhereClause "17" (seq (opt
|
31
|
+
(rule WhereClause "17" (seq (opt 'WHERE') GroupGraphPattern))
|
32
32
|
(rule SolutionModifier "18"
|
33
33
|
(seq (opt GroupClause) (opt HavingClause) (opt OrderClause) (opt LimitOffsetClauses)))
|
34
|
-
(rule GroupClause "19" (seq
|
34
|
+
(rule GroupClause "19" (seq 'GROUP' 'BY' (plus GroupCondition)))
|
35
35
|
(rule GroupCondition "20"
|
36
|
-
(alt BuiltInCall FunctionCall (seq
|
37
|
-
(rule HavingClause "21" (seq
|
36
|
+
(alt BuiltInCall FunctionCall (seq '(' Expression (opt (seq 'AS' Var)) ')') Var))
|
37
|
+
(rule HavingClause "21" (seq 'HAVING' (plus HavingCondition)))
|
38
38
|
(rule HavingCondition "22" (seq Constraint))
|
39
|
-
(rule OrderClause "23" (seq
|
39
|
+
(rule OrderClause "23" (seq 'ORDER' 'BY' (plus OrderCondition)))
|
40
40
|
(rule OrderCondition "24"
|
41
|
-
(alt (seq (alt
|
41
|
+
(alt (seq (alt 'ASC' 'DESC') BrackettedExpression) (alt Constraint Var)))
|
42
42
|
(rule LimitOffsetClauses "25"
|
43
43
|
(alt (seq LimitClause (opt OffsetClause)) (seq OffsetClause (opt LimitClause))))
|
44
|
-
(rule LimitClause "26" (seq
|
45
|
-
(rule OffsetClause "27" (seq
|
46
|
-
(rule ValuesClause "28" (opt (seq
|
47
|
-
(rule Update "29" (seq Prologue (opt (seq Update1 (opt (seq
|
44
|
+
(rule LimitClause "26" (seq 'LIMIT' INTEGER))
|
45
|
+
(rule OffsetClause "27" (seq 'OFFSET' INTEGER))
|
46
|
+
(rule ValuesClause "28" (opt (seq 'VALUES' DataBlock)))
|
47
|
+
(rule Update "29" (seq Prologue (opt (seq Update1 (opt (seq ';' Update))))))
|
48
48
|
(rule Update1 "30"
|
49
49
|
(alt Load Clear Drop Add Move Copy Create InsertData DeleteData DeleteWhere
|
50
50
|
Modify ))
|
51
|
-
(rule Load "31" (seq
|
52
|
-
(rule Clear "32" (seq
|
53
|
-
(rule Drop "33" (seq
|
54
|
-
(rule Create "34" (seq
|
55
|
-
(rule Add "35" (seq
|
56
|
-
(rule Move "36" (seq
|
57
|
-
(rule Copy "37" (seq
|
58
|
-
(rule InsertData "38" (seq
|
59
|
-
(rule DeleteData "39" (seq
|
60
|
-
(rule DeleteWhere "40" (seq
|
51
|
+
(rule Load "31" (seq 'LOAD' (opt 'SILENT') iri (opt (seq 'INTO' GraphRef))))
|
52
|
+
(rule Clear "32" (seq 'CLEAR' (opt 'SILENT') GraphRefAll))
|
53
|
+
(rule Drop "33" (seq 'DROP' (opt 'SILENT') GraphRefAll))
|
54
|
+
(rule Create "34" (seq 'CREATE' (opt 'SILENT') GraphRef))
|
55
|
+
(rule Add "35" (seq 'ADD' (opt 'SILENT') GraphOrDefault 'TO' GraphOrDefault))
|
56
|
+
(rule Move "36" (seq 'MOVE' (opt 'SILENT') GraphOrDefault 'TO' GraphOrDefault))
|
57
|
+
(rule Copy "37" (seq 'COPY' (opt 'SILENT') GraphOrDefault 'TO' GraphOrDefault))
|
58
|
+
(rule InsertData "38" (seq 'INSERT DATA' QuadData))
|
59
|
+
(rule DeleteData "39" (seq 'DELETE DATA' QuadData))
|
60
|
+
(rule DeleteWhere "40" (seq 'DELETE WHERE' QuadPattern))
|
61
61
|
(rule Modify "41"
|
62
62
|
(seq
|
63
|
-
(opt (seq
|
63
|
+
(opt (seq 'WITH' iri))
|
64
64
|
(alt (seq DeleteClause (opt InsertClause)) InsertClause)
|
65
|
-
(star UsingClause)
|
66
|
-
(rule DeleteClause "42" (seq
|
67
|
-
(rule InsertClause "43" (seq
|
68
|
-
(rule UsingClause "44" (seq
|
69
|
-
(rule GraphOrDefault "45" (alt
|
70
|
-
(rule GraphRef "46" (seq
|
71
|
-
(rule GraphRefAll "47" (alt GraphRef
|
72
|
-
(rule QuadPattern "48" (seq
|
73
|
-
(rule QuadData "49" (seq
|
65
|
+
(star UsingClause) 'WHERE' GroupGraphPattern ))
|
66
|
+
(rule DeleteClause "42" (seq 'DELETE' QuadPattern))
|
67
|
+
(rule InsertClause "43" (seq 'INSERT' QuadPattern))
|
68
|
+
(rule UsingClause "44" (seq 'USING' (alt iri (seq 'NAMED' iri))))
|
69
|
+
(rule GraphOrDefault "45" (alt 'DEFAULT' (seq (opt 'GRAPH') iri)))
|
70
|
+
(rule GraphRef "46" (seq 'GRAPH' iri))
|
71
|
+
(rule GraphRefAll "47" (alt GraphRef 'DEFAULT' 'NAMED' 'ALL'))
|
72
|
+
(rule QuadPattern "48" (seq '{' Quads '}'))
|
73
|
+
(rule QuadData "49" (seq '{' Quads '}'))
|
74
74
|
(rule Quads "50"
|
75
|
-
(seq (opt TriplesTemplate) (star (seq QuadsNotTriples (opt
|
76
|
-
(rule QuadsNotTriples "51" (seq
|
77
|
-
(rule TriplesTemplate "52" (seq TriplesSameSubject (opt (seq
|
78
|
-
(rule GroupGraphPattern "53" (seq
|
75
|
+
(seq (opt TriplesTemplate) (star (seq QuadsNotTriples (opt '.') (opt TriplesTemplate)))))
|
76
|
+
(rule QuadsNotTriples "51" (seq 'GRAPH' VarOrIri '{' (opt TriplesTemplate) '}'))
|
77
|
+
(rule TriplesTemplate "52" (seq TriplesSameSubject (opt (seq '.' (opt TriplesTemplate)))))
|
78
|
+
(rule GroupGraphPattern "53" (seq '{' (alt SubSelect GroupGraphPatternSub) '}'))
|
79
79
|
(rule GroupGraphPatternSub "54"
|
80
|
-
(seq (opt TriplesBlock) (star (seq GraphPatternNotTriples (opt
|
81
|
-
(rule TriplesBlock "55" (seq TriplesSameSubjectPath (opt (seq
|
80
|
+
(seq (opt TriplesBlock) (star (seq GraphPatternNotTriples (opt '.') (opt TriplesBlock)))))
|
81
|
+
(rule TriplesBlock "55" (seq TriplesSameSubjectPath (opt (seq '.' (opt TriplesBlock)))))
|
82
82
|
(rule GraphPatternNotTriples "56"
|
83
83
|
(alt GroupOrUnionGraphPattern OptionalGraphPattern MinusGraphPattern
|
84
84
|
GraphGraphPattern ServiceGraphPattern Filter Bind InlineData ))
|
85
|
-
(rule OptionalGraphPattern "57" (seq
|
86
|
-
(rule GraphGraphPattern "58" (seq
|
85
|
+
(rule OptionalGraphPattern "57" (seq 'OPTIONAL' GroupGraphPattern))
|
86
|
+
(rule GraphGraphPattern "58" (seq 'GRAPH' VarOrIri GroupGraphPattern))
|
87
87
|
(rule ServiceGraphPattern "59"
|
88
|
-
(seq
|
89
|
-
(rule Bind "60" (seq
|
90
|
-
(rule InlineData "61" (seq
|
88
|
+
(seq 'SERVICE' (opt 'SILENT') VarOrIri GroupGraphPattern))
|
89
|
+
(rule Bind "60" (seq 'BIND' '(' Expression 'AS' Var ')'))
|
90
|
+
(rule InlineData "61" (seq 'VALUES' DataBlock))
|
91
91
|
(rule DataBlock "62" (alt InlineDataOneVar InlineDataFull))
|
92
|
-
(rule InlineDataOneVar "63" (seq Var
|
92
|
+
(rule InlineDataOneVar "63" (seq Var '{' (star DataBlockValue) '}'))
|
93
93
|
(rule InlineDataFull "64"
|
94
94
|
(seq
|
95
|
-
(alt NIL (seq
|
96
|
-
(star (alt (seq
|
95
|
+
(alt NIL (seq '(' (star Var) ')')) '{'
|
96
|
+
(star (alt (seq '(' (star DataBlockValue) ')') NIL)) '}' ))
|
97
97
|
(rule DataBlockValue "65"
|
98
|
-
(alt iri RDFLiteral NumericLiteral BooleanLiteral
|
99
|
-
(rule MinusGraphPattern "66" (seq
|
98
|
+
(alt iri RDFLiteral NumericLiteral BooleanLiteral 'UNDEF'))
|
99
|
+
(rule MinusGraphPattern "66" (seq 'MINUS' GroupGraphPattern))
|
100
100
|
(rule GroupOrUnionGraphPattern "67"
|
101
|
-
(seq GroupGraphPattern (star (seq
|
102
|
-
(rule Filter "68" (seq
|
101
|
+
(seq GroupGraphPattern (star (seq 'UNION' GroupGraphPattern))))
|
102
|
+
(rule Filter "68" (seq 'FILTER' Constraint))
|
103
103
|
(rule Constraint "69" (alt BrackettedExpression BuiltInCall FunctionCall))
|
104
104
|
(rule FunctionCall "70" (seq iri ArgList))
|
105
105
|
(rule ArgList "71"
|
106
|
-
(alt NIL (seq
|
107
|
-
(rule ExpressionList "72" (alt NIL (seq
|
108
|
-
(rule ConstructTemplate "73" (seq
|
106
|
+
(alt NIL (seq '(' (opt 'DISTINCT') Expression (star (seq ',' Expression)) ')')))
|
107
|
+
(rule ExpressionList "72" (alt NIL (seq '(' Expression (star (seq ',' Expression)) ')')))
|
108
|
+
(rule ConstructTemplate "73" (seq '{' (opt ConstructTriples) '}'))
|
109
109
|
(rule ConstructTriples "74"
|
110
|
-
(seq TriplesSameSubject (opt (seq
|
110
|
+
(seq TriplesSameSubject (opt (seq '.' (opt ConstructTriples)))))
|
111
111
|
(rule TriplesSameSubject "75"
|
112
112
|
(alt (seq VarOrTerm PropertyListNotEmpty) (seq TriplesNode PropertyList)))
|
113
113
|
(rule PropertyList "76" (opt PropertyListNotEmpty))
|
114
114
|
(rule PropertyListNotEmpty "77"
|
115
|
-
(seq Verb ObjectList (star (seq
|
116
|
-
(rule Verb "78" (alt VarOrIri
|
117
|
-
(rule ObjectList "79" (seq Object (star (seq
|
115
|
+
(seq Verb ObjectList (star (seq ';' (opt (seq Verb ObjectList))))))
|
116
|
+
(rule Verb "78" (alt VarOrIri 'a'))
|
117
|
+
(rule ObjectList "79" (seq Object (star (seq ',' Object))))
|
118
118
|
(rule Object "80" (seq GraphNode))
|
119
119
|
(rule TriplesSameSubjectPath "81"
|
120
120
|
(alt (seq VarOrTerm PropertyListNotEmptyPath) (seq TriplesNode PropertyListPath)))
|
@@ -122,33 +122,33 @@
|
|
122
122
|
(rule PropertyListNotEmptyPath "83"
|
123
123
|
(seq
|
124
124
|
(alt VerbPath VerbSimple) ObjectList
|
125
|
-
(star (seq
|
125
|
+
(star (seq ';' (opt (seq (alt VerbPath VerbSimple) ObjectList))))) )
|
126
126
|
(rule VerbPath "84" (seq Path))
|
127
127
|
(rule VerbSimple "85" (seq Var))
|
128
|
-
(rule ObjectListPath "86" (seq ObjectPath (star (seq
|
128
|
+
(rule ObjectListPath "86" (seq ObjectPath (star (seq ',' ObjectPath))))
|
129
129
|
(rule ObjectPath "87" (seq GraphNodePath))
|
130
130
|
(rule Path "88" (seq PathAlternative))
|
131
|
-
(rule PathAlternative "89" (seq PathSequence (star (seq
|
132
|
-
(rule PathSequence "90" (seq PathEltOrInverse (star (seq
|
131
|
+
(rule PathAlternative "89" (seq PathSequence (star (seq '|' PathSequence))))
|
132
|
+
(rule PathSequence "90" (seq PathEltOrInverse (star (seq '/' PathEltOrInverse))))
|
133
133
|
(rule PathElt "91" (seq PathPrimary (opt PathMod)))
|
134
|
-
(rule PathEltOrInverse "92" (alt PathElt (seq
|
134
|
+
(rule PathEltOrInverse "92" (alt PathElt (seq '^' PathElt)))
|
135
135
|
(rule PathMod "93"
|
136
|
-
(alt
|
137
|
-
(seq
|
138
|
-
(alt (seq Integer (alt (seq
|
136
|
+
(alt '*' '?' '+'
|
137
|
+
(seq '{'
|
138
|
+
(alt (seq Integer (alt (seq ',' (alt '}' (seq Integer '}'))) '}')) (seq ',' Integer '}'))) ))
|
139
139
|
(rule PathPrimary "94"
|
140
|
-
(alt iri
|
140
|
+
(alt iri 'a' (seq '!' PathNegatedPropertySet) (seq '(' Path ')')))
|
141
141
|
(rule PathNegatedPropertySet "95"
|
142
142
|
(alt PathOneInPropertySet
|
143
|
-
(seq
|
144
|
-
(rule PathOneInPropertySet "96" (alt iri
|
143
|
+
(seq '(' (opt (seq PathOneInPropertySet (star (seq '|' PathOneInPropertySet)))) ')')) )
|
144
|
+
(rule PathOneInPropertySet "96" (alt iri 'a' (seq '^' (alt iri 'a'))))
|
145
145
|
(rule Integer "97" (seq INTEGER))
|
146
146
|
(rule TriplesNode "98" (alt Collection BlankNodePropertyList))
|
147
|
-
(rule BlankNodePropertyList "99" (seq
|
147
|
+
(rule BlankNodePropertyList "99" (seq '[' PropertyListNotEmpty ']'))
|
148
148
|
(rule TriplesNodePath "100" (alt CollectionPath BlankNodePropertyListPath))
|
149
|
-
(rule BlankNodePropertyListPath "101" (seq
|
150
|
-
(rule Collection "102" (seq
|
151
|
-
(rule CollectionPath "103" (seq
|
149
|
+
(rule BlankNodePropertyListPath "101" (seq '[' PropertyListPathNotEmpty ']'))
|
150
|
+
(rule Collection "102" (seq '(' (plus GraphNode) ')'))
|
151
|
+
(rule CollectionPath "103" (seq '(' (plus GraphNodePath) ')'))
|
152
152
|
(rule GraphNode "104" (alt VarOrTerm TriplesNode))
|
153
153
|
(rule GraphNodePath "105" (alt VarOrTerm TriplesNodePath))
|
154
154
|
(rule VarOrTerm "106" (alt Var GraphTerm))
|
@@ -158,117 +158,117 @@
|
|
158
158
|
(alt iri RDFLiteral NumericLiteral BooleanLiteral BlankNode NIL))
|
159
159
|
(rule Expression "110" (seq ConditionalOrExpression))
|
160
160
|
(rule ConditionalOrExpression "111"
|
161
|
-
(seq ConditionalAndExpression (star (seq
|
162
|
-
(rule ConditionalAndExpression "112" (seq ValueLogical (star (seq
|
161
|
+
(seq ConditionalAndExpression (star (seq '||' ConditionalAndExpression))))
|
162
|
+
(rule ConditionalAndExpression "112" (seq ValueLogical (star (seq '&&' ValueLogical))))
|
163
163
|
(rule ValueLogical "113" (seq RelationalExpression))
|
164
164
|
(rule RelationalExpression "114"
|
165
165
|
(seq NumericExpression
|
166
166
|
(opt
|
167
167
|
(alt
|
168
|
-
(seq
|
169
|
-
(seq
|
170
|
-
(seq
|
171
|
-
(seq
|
172
|
-
(seq
|
173
|
-
(seq
|
174
|
-
(seq
|
175
|
-
(seq
|
168
|
+
(seq '=' NumericExpression)
|
169
|
+
(seq '!=' NumericExpression)
|
170
|
+
(seq '<' NumericExpression)
|
171
|
+
(seq '>' NumericExpression)
|
172
|
+
(seq '<=' NumericExpression)
|
173
|
+
(seq '>=' NumericExpression)
|
174
|
+
(seq 'IN' ExpressionList)
|
175
|
+
(seq 'NOT' 'IN' ExpressionList)) )) )
|
176
176
|
(rule NumericExpression "115" (seq AdditiveExpression))
|
177
177
|
(rule AdditiveExpression "116"
|
178
178
|
(seq MultiplicativeExpression
|
179
179
|
(star
|
180
180
|
(alt
|
181
|
-
(seq
|
182
|
-
(seq
|
181
|
+
(seq '+' MultiplicativeExpression)
|
182
|
+
(seq '-' MultiplicativeExpression)
|
183
183
|
(seq
|
184
184
|
(alt NumericLiteralPositive NumericLiteralNegative)
|
185
|
-
(opt (alt (seq
|
185
|
+
(opt (alt (seq '*' UnaryExpression) (seq '/' UnaryExpression)))) )) ))
|
186
186
|
(rule MultiplicativeExpression "117"
|
187
|
-
(seq UnaryExpression (star (alt (seq
|
187
|
+
(seq UnaryExpression (star (alt (seq '*' UnaryExpression) (seq '/' UnaryExpression)))))
|
188
188
|
(rule UnaryExpression "118"
|
189
189
|
(alt
|
190
|
-
(seq
|
191
|
-
(seq
|
192
|
-
(seq
|
190
|
+
(seq '!' PrimaryExpression)
|
191
|
+
(seq '+' PrimaryExpression)
|
192
|
+
(seq '-' PrimaryExpression) PrimaryExpression ))
|
193
193
|
(rule PrimaryExpression "119"
|
194
194
|
(alt BrackettedExpression BuiltInCall iriOrFunction RDFLiteral NumericLiteral
|
195
195
|
BooleanLiteral Var ))
|
196
|
-
(rule BrackettedExpression "120" (seq
|
196
|
+
(rule BrackettedExpression "120" (seq '(' Expression ')'))
|
197
197
|
(rule BuiltInCall "121"
|
198
198
|
(alt Aggregate
|
199
|
-
(seq
|
200
|
-
(seq
|
201
|
-
(seq
|
202
|
-
(seq
|
203
|
-
(seq
|
204
|
-
(seq
|
205
|
-
(seq
|
206
|
-
(seq
|
207
|
-
(seq
|
208
|
-
(seq
|
209
|
-
(seq
|
210
|
-
(seq
|
211
|
-
(seq
|
212
|
-
(seq
|
213
|
-
(seq
|
214
|
-
(seq
|
215
|
-
(seq
|
216
|
-
(seq
|
217
|
-
(seq
|
218
|
-
(seq
|
219
|
-
(seq
|
220
|
-
(seq
|
221
|
-
(seq
|
222
|
-
(seq
|
223
|
-
(seq
|
224
|
-
(seq
|
225
|
-
(seq
|
226
|
-
(seq
|
227
|
-
(seq
|
228
|
-
(seq
|
229
|
-
(seq
|
230
|
-
(seq
|
231
|
-
(seq
|
232
|
-
(seq
|
233
|
-
(seq
|
234
|
-
(seq
|
235
|
-
(seq
|
236
|
-
(seq
|
237
|
-
(seq
|
238
|
-
(seq
|
239
|
-
(seq
|
240
|
-
(seq
|
241
|
-
(seq
|
242
|
-
(seq
|
243
|
-
(seq
|
244
|
-
(seq
|
245
|
-
(seq
|
246
|
-
(seq
|
247
|
-
(seq
|
248
|
-
(seq
|
199
|
+
(seq 'STR' '(' Expression ')')
|
200
|
+
(seq 'LANG' '(' Expression ')')
|
201
|
+
(seq 'LANGMATCHES' '(' Expression ',' Expression ')')
|
202
|
+
(seq 'DATATYPE' '(' Expression ')')
|
203
|
+
(seq 'BOUND' '(' Var ')')
|
204
|
+
(seq 'IRI' '(' Expression ')')
|
205
|
+
(seq 'URI' '(' Expression ')')
|
206
|
+
(seq 'BNODE' (alt (seq '(' Expression ')') NIL))
|
207
|
+
(seq 'RAND' NIL)
|
208
|
+
(seq 'ABS' '(' Expression ')')
|
209
|
+
(seq 'CEIL' '(' Expression ')')
|
210
|
+
(seq 'FLOOR' '(' Expression ')')
|
211
|
+
(seq 'ROUND' '(' Expression ')')
|
212
|
+
(seq 'CONCAT' ExpressionList) SubstringExpression
|
213
|
+
(seq 'STRLEN' '(' Expression ')') StrReplaceExpression
|
214
|
+
(seq 'UCASE' '(' Expression ')')
|
215
|
+
(seq 'LCASE' '(' Expression ')')
|
216
|
+
(seq 'ENCODE_FOR_URI' '(' Expression ')')
|
217
|
+
(seq 'CONTAINS' '(' Expression ',' Expression ')')
|
218
|
+
(seq 'STRSTARTS' '(' Expression ',' Expression ')')
|
219
|
+
(seq 'STRENDS' '(' Expression ',' Expression ')')
|
220
|
+
(seq 'STRBEFORE' '(' Expression ',' Expression ')')
|
221
|
+
(seq 'STRAFTER' '(' Expression ',' Expression ')')
|
222
|
+
(seq 'YEAR' '(' Expression ')')
|
223
|
+
(seq 'MONTH' '(' Expression ')')
|
224
|
+
(seq 'DAY' '(' Expression ')')
|
225
|
+
(seq 'HOURS' '(' Expression ')')
|
226
|
+
(seq 'MINUTES' '(' Expression ')')
|
227
|
+
(seq 'SECONDS' '(' Expression ')')
|
228
|
+
(seq 'TIMEZONE' '(' Expression ')')
|
229
|
+
(seq 'TZ' '(' Expression ')')
|
230
|
+
(seq 'NOW' NIL)
|
231
|
+
(seq 'UUID' NIL)
|
232
|
+
(seq 'STRUUID' NIL)
|
233
|
+
(seq 'MD5' '(' Expression ')')
|
234
|
+
(seq 'SHA1' '(' Expression ')')
|
235
|
+
(seq 'SHA224' '(' Expression ')')
|
236
|
+
(seq 'SHA256' '(' Expression ')')
|
237
|
+
(seq 'SHA384' '(' Expression ')')
|
238
|
+
(seq 'SHA512' '(' Expression ')')
|
239
|
+
(seq 'COALESCE' ExpressionList)
|
240
|
+
(seq 'IF' '(' Expression ',' Expression ',' Expression ')')
|
241
|
+
(seq 'STRLANG' '(' Expression ',' Expression ')')
|
242
|
+
(seq 'STRDT' '(' Expression ',' Expression ')')
|
243
|
+
(seq 'sameTerm' '(' Expression ',' Expression ')')
|
244
|
+
(seq 'isIRI' '(' Expression ')')
|
245
|
+
(seq 'isURI' '(' Expression ')')
|
246
|
+
(seq 'isBLANK' '(' Expression ')')
|
247
|
+
(seq 'isLITERAL' '(' Expression ')')
|
248
|
+
(seq 'isNUMERIC' '(' Expression ')') RegexExpression ExistsFunc
|
249
249
|
NotExistsFunc ))
|
250
250
|
(rule RegexExpression "122"
|
251
|
-
(seq
|
251
|
+
(seq 'REGEX' '(' Expression ',' Expression (opt (seq ',' Expression)) ')'))
|
252
252
|
(rule SubstringExpression "123"
|
253
|
-
(seq
|
253
|
+
(seq 'SUBSTR' '(' Expression ',' Expression (opt (seq ',' Expression)) ')'))
|
254
254
|
(rule StrReplaceExpression "124"
|
255
|
-
(seq
|
256
|
-
(opt (seq
|
257
|
-
(rule ExistsFunc "125" (seq
|
258
|
-
(rule NotExistsFunc "126" (seq
|
255
|
+
(seq 'REPLACE' '(' Expression ',' Expression ',' Expression
|
256
|
+
(opt (seq ',' Expression)) ')' ))
|
257
|
+
(rule ExistsFunc "125" (seq 'EXISTS' GroupGraphPattern))
|
258
|
+
(rule NotExistsFunc "126" (seq 'NOT' 'EXISTS' GroupGraphPattern))
|
259
259
|
(rule Aggregate "127"
|
260
260
|
(alt
|
261
|
-
(seq
|
262
|
-
(seq
|
263
|
-
(seq
|
264
|
-
(seq
|
265
|
-
(seq
|
266
|
-
(seq
|
267
|
-
(seq
|
268
|
-
(opt
|
269
|
-
(opt (seq
|
261
|
+
(seq 'COUNT' '(' (opt 'DISTINCT') (alt '*' Expression) ')')
|
262
|
+
(seq 'SUM' '(' (opt 'DISTINCT') Expression ')')
|
263
|
+
(seq 'MIN' '(' (opt 'DISTINCT') Expression ')')
|
264
|
+
(seq 'MAX' '(' (opt 'DISTINCT') Expression ')')
|
265
|
+
(seq 'AVG' '(' (opt 'DISTINCT') Expression ')')
|
266
|
+
(seq 'SAMPLE' '(' (opt 'DISTINCT') Expression ')')
|
267
|
+
(seq 'GROUP_CONCAT' '('
|
268
|
+
(opt 'DISTINCT') Expression
|
269
|
+
(opt (seq ';' 'SEPARATOR' '=' String)) ')' )) )
|
270
270
|
(rule iriOrFunction "128" (seq iri (opt ArgList)))
|
271
|
-
(rule RDFLiteral "129" (seq String (opt (alt LANGTAG (seq
|
271
|
+
(rule RDFLiteral "129" (seq String (opt (alt LANGTAG (seq '^^' iri)))))
|
272
272
|
(rule NumericLiteral "130"
|
273
273
|
(alt NumericLiteralUnsigned NumericLiteralPositive NumericLiteralNegative))
|
274
274
|
(rule NumericLiteralUnsigned "131" (alt INTEGER DECIMAL DOUBLE))
|
@@ -276,7 +276,7 @@
|
|
276
276
|
(alt INTEGER_POSITIVE DECIMAL_POSITIVE DOUBLE_POSITIVE))
|
277
277
|
(rule NumericLiteralNegative "133"
|
278
278
|
(alt INTEGER_NEGATIVE DECIMAL_NEGATIVE DOUBLE_NEGATIVE))
|
279
|
-
(rule BooleanLiteral "134" (alt
|
279
|
+
(rule BooleanLiteral "134" (alt 'true' 'false'))
|
280
280
|
(rule String "135"
|
281
281
|
(alt STRING_LITERAL1 STRING_LITERAL2 STRING_LITERAL_LONG1 STRING_LITERAL_LONG2))
|
282
282
|
(rule iri "136" (alt IRIREF PrefixedName))
|
@@ -284,41 +284,41 @@
|
|
284
284
|
(rule BlankNode "138" (alt BLANK_NODE_LABEL ANON))
|
285
285
|
(terminals _terminals (seq))
|
286
286
|
(terminal IRIREF "139"
|
287
|
-
(seq
|
288
|
-
(terminal PNAME_NS "140" (seq (opt PN_PREFIX)
|
287
|
+
(seq '<' (star (diff (range "^<>\"{}|^`\\") (range "#x00-#x20"))) '>'))
|
288
|
+
(terminal PNAME_NS "140" (seq (opt PN_PREFIX) ':'))
|
289
289
|
(terminal PNAME_LN "141" (seq PNAME_NS PN_LOCAL))
|
290
290
|
(terminal BLANK_NODE_LABEL "142"
|
291
|
-
(seq
|
292
|
-
(terminal VAR1 "143" (seq
|
293
|
-
(terminal VAR2 "144" (seq
|
291
|
+
(seq '_:' (alt PN_CHARS_U (range "0-9")) (opt (seq (star (alt PN_CHARS '.')) PN_CHARS))))
|
292
|
+
(terminal VAR1 "143" (seq '?' VARNAME))
|
293
|
+
(terminal VAR2 "144" (seq '$' VARNAME))
|
294
294
|
(terminal LANGTAG "145"
|
295
|
-
(seq
|
295
|
+
(seq '@' (plus (range "a-zA-Z")) (star (seq '-' (plus (range "a-zA-Z0-9"))))))
|
296
296
|
(terminal INTEGER "146" (plus (range "0-9")))
|
297
|
-
(terminal DECIMAL "147" (seq (star (range "0-9"))
|
297
|
+
(terminal DECIMAL "147" (seq (star (range "0-9")) '.' (plus (range "0-9"))))
|
298
298
|
(terminal DOUBLE "148"
|
299
299
|
(alt
|
300
|
-
(seq (plus (range "0-9"))
|
301
|
-
(seq
|
300
|
+
(seq (plus (range "0-9")) '.' (star (range "0-9")) EXPONENT)
|
301
|
+
(seq '.' (plus (range "0-9")) EXPONENT)
|
302
302
|
(seq (plus (range "0-9")) EXPONENT)) )
|
303
|
-
(terminal INTEGER_POSITIVE "149" (seq
|
304
|
-
(terminal DECIMAL_POSITIVE "150" (seq
|
305
|
-
(terminal DOUBLE_POSITIVE "151" (seq
|
306
|
-
(terminal INTEGER_NEGATIVE "152" (seq
|
307
|
-
(terminal DECIMAL_NEGATIVE "153" (seq
|
308
|
-
(terminal DOUBLE_NEGATIVE "154" (seq
|
303
|
+
(terminal INTEGER_POSITIVE "149" (seq '+' INTEGER))
|
304
|
+
(terminal DECIMAL_POSITIVE "150" (seq '+' DECIMAL))
|
305
|
+
(terminal DOUBLE_POSITIVE "151" (seq '+' DOUBLE))
|
306
|
+
(terminal INTEGER_NEGATIVE "152" (seq '-' INTEGER))
|
307
|
+
(terminal DECIMAL_NEGATIVE "153" (seq '-' DECIMAL))
|
308
|
+
(terminal DOUBLE_NEGATIVE "154" (seq '-' DOUBLE))
|
309
309
|
(terminal EXPONENT "155" (seq (range "eE") (opt (range "+-")) (plus (range "0-9"))))
|
310
310
|
(terminal STRING_LITERAL1 "156"
|
311
311
|
(seq "'" (star (alt (range "^#x27#x5C#xA#xD") ECHAR)) "'"))
|
312
312
|
(terminal STRING_LITERAL2 "157"
|
313
|
-
(seq "
|
313
|
+
(seq '"' (star (alt (range "^#x22#x5C#xA#xD") ECHAR)) '"'))
|
314
314
|
(terminal STRING_LITERAL_LONG1 "158"
|
315
315
|
(seq "'''" (star (seq (opt (alt "'" "''")) (alt (range "^'\\") ECHAR))) "'''"))
|
316
316
|
(terminal STRING_LITERAL_LONG2 "159"
|
317
|
-
(seq "
|
318
|
-
(terminal ECHAR "160" (seq
|
319
|
-
(terminal NIL "161" (seq
|
317
|
+
(seq '"""' (star (seq (opt (alt '"' '""')) (alt (range "^\"\\") ECHAR))) '"""'))
|
318
|
+
(terminal ECHAR "160" (seq '\\' (range "tbnrf\\\"'")))
|
319
|
+
(terminal NIL "161" (seq '(' (star WS) ')'))
|
320
320
|
(terminal WS "162" (alt (hex "#x20") (hex "#x9") (hex "#xD") (hex "#xA")))
|
321
|
-
(terminal ANON "163" (seq
|
321
|
+
(terminal ANON "163" (seq '[' (star WS) ']'))
|
322
322
|
(terminal PN_CHARS_BASE "164"
|
323
323
|
(alt
|
324
324
|
(range "A-Za-z")
|
@@ -334,7 +334,7 @@
|
|
334
334
|
(range "#xF900-#xFDCF")
|
335
335
|
(range "#xFDF0-#xFFFD")
|
336
336
|
(range "#x10000-#xEFFFF")) )
|
337
|
-
(terminal PN_CHARS_U "165" (alt PN_CHARS_BASE
|
337
|
+
(terminal PN_CHARS_U "165" (alt PN_CHARS_BASE '_'))
|
338
338
|
(terminal VARNAME "166"
|
339
339
|
(seq
|
340
340
|
(alt PN_CHARS_U (range "0-9"))
|
@@ -345,19 +345,19 @@
|
|
345
345
|
(range "#x0300-#x036F")
|
346
346
|
(range "#x203F-#x2040")) )) )
|
347
347
|
(terminal PN_CHARS "167"
|
348
|
-
(alt PN_CHARS_U
|
348
|
+
(alt PN_CHARS_U '-'
|
349
349
|
(range "0-9")
|
350
350
|
(hex "#x00B7")
|
351
351
|
(range "#x0300-#x036F")
|
352
352
|
(range "#x203F-#x2040")) )
|
353
353
|
(terminal PN_PREFIX "168"
|
354
|
-
(seq PN_CHARS_BASE (opt (seq (star (alt PN_CHARS
|
354
|
+
(seq PN_CHARS_BASE (opt (seq (star (alt PN_CHARS '.')) PN_CHARS))))
|
355
355
|
(terminal PN_LOCAL "169"
|
356
|
-
(seq (alt PN_CHARS_U (range "0-9")) (opt (seq (star (alt PN_CHARS
|
356
|
+
(seq (alt PN_CHARS_U (range "0-9")) (opt (seq (star (alt PN_CHARS '.')) PN_CHARS))))
|
357
357
|
(terminal PLX "170" (alt PERCENT PN_LOCAL_ESC))
|
358
|
-
(terminal PERCENT "171" (seq
|
358
|
+
(terminal PERCENT "171" (seq '%' HEX HEX))
|
359
359
|
(terminal HEX "172" (range "0-9A-Fa-f"))
|
360
360
|
(terminal PN_LOCAL_ESC "173"
|
361
|
-
(seq
|
362
|
-
(alt
|
363
|
-
|
361
|
+
(seq '\\'
|
362
|
+
(alt '_' '~' '.' '-' '!' '$' '&' "'" '(' ')' '*' '+' ',' ';' '=' '/' '?' '#'
|
363
|
+
'@' '%' )) ))
|