ll_sparql_parser/syntax_kind/
generated.rs

1use logos::Logos;
2
3#[allow(non_camel_case_types)]
4#[derive(Logos, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy)]
5#[repr(u16)]
6pub enum SyntaxKind {
7    Eof = 0,
8    Error,
9    #[regex(r#"[ \t\n\f]+"#)]
10    WHITESPACE,
11    #[token("BASE", ignore(case))]
12    BASE,
13    #[regex(r#"<[^<>\"{}|^`\\\u{00}-\u{20}]*>"#)]
14    IRIREF,
15    #[token("PREFIX", ignore(case))]
16    PREFIX,
17    #[regex("[A-Za-z\u{00C0}-\u{00D6}\u{00D8}-\u{00F6}\u{00F8}-\u{02FF}\u{0370}-\u{037D}\u{037F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}]([A-Za-z\u{00C0}-\u{00D6}\u{00D8}-\u{00F6}\u{00F8}-\u{02FF}\u{0370}-\u{037D}\u{037F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}0-9\u{00B7}\u{0300}-\u{036F}\u{203F}-\u{2040}_.-]*[A-Za-z\u{00C0}-\u{00D6}\u{00D8}-\u{00F6}\u{00F8}-\u{02FF}\u{0370}-\u{037D}\u{037F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}0-9\u{00B7}\u{0300}-\u{036F}\u{203F}-\u{2040}_-])?:")]
18    PNAME_NS,
19    #[token("SELECT", ignore(case))]
20    SELECT,
21    #[token("DISTINCT", ignore(case))]
22    DISTINCT,
23    #[token("REDUCED", ignore(case))]
24    REDUCED,
25    #[token("(")]
26    LParen,
27    #[token("AS", ignore(case))]
28    AS,
29    #[token(")")]
30    RParen,
31    #[token("*")]
32    Star,
33    #[token("CONSTRUCT", ignore(case))]
34    CONSTRUCT,
35    #[token("WHERE", ignore(case))]
36    WHERE,
37    #[token("{")]
38    LCurly,
39    #[token("}")]
40    RCurly,
41    #[token("DESCRIBE", ignore(case))]
42    DESCRIBE,
43    #[token("ASK", ignore(case))]
44    ASK,
45    #[token("FROM", ignore(case))]
46    FROM,
47    #[token("NAMED", ignore(case))]
48    NAMED,
49    #[token("GROUP", ignore(case))]
50    GROUP,
51    #[token("BY", ignore(case))]
52    BY,
53    #[token("HAVING", ignore(case))]
54    HAVING,
55    #[token("ORDER", ignore(case))]
56    ORDER,
57    #[token("ASC", ignore(case))]
58    ASC,
59    #[token("DESC", ignore(case))]
60    DESC,
61    #[token("LIMIT", ignore(case))]
62    LIMIT,
63    #[token("INTEGER", ignore(case))]
64    INTEGER,
65    #[token("OFFSET", ignore(case))]
66    OFFSET,
67    #[token("VALUES", ignore(case))]
68    VALUES,
69    #[token(";")]
70    Semicolon,
71    #[token("LOAD", ignore(case))]
72    LOAD,
73    #[token("SILENT", ignore(case))]
74    SILENT,
75    #[token("INTO", ignore(case))]
76    INTO,
77    #[token("CLEAR", ignore(case))]
78    CLEAR,
79    #[token("DROP", ignore(case))]
80    DROP,
81    #[token("CREATE", ignore(case))]
82    CREATE,
83    #[token("ADD", ignore(case))]
84    ADD,
85    #[token("TO", ignore(case))]
86    TO,
87    #[token("MOVE", ignore(case))]
88    MOVE,
89    #[token("COPY", ignore(case))]
90    COPY,
91    #[token("INSERT", ignore(case))]
92    INSERT,
93    #[token("DATA", ignore(case))]
94    DATA,
95    INSERT_DATA,
96    #[regex(r"(?i)DELETE\s+DATA")]
97    DELETE_DATA,
98    #[token(r"(?i)DELETE\s+WHERE")]
99    DELETE_WHERE,
100    #[token("DELETE", ignore(case))]
101    DELETE,
102    #[token("WITH", ignore(case))]
103    WITH,
104    #[token("USING", ignore(case))]
105    USING,
106    #[token("DEFAULT", ignore(case))]
107    DEFAULT,
108    #[token("GRAPH", ignore(case))]
109    GRAPH,
110    #[token("ALL", ignore(case))]
111    ALL,
112    #[token(".")]
113    Dot,
114    #[token("OPTIONAL", ignore(case))]
115    OPTIONAL,
116    #[token("SERVICE", ignore(case))]
117    SERVICE,
118    #[token("BIND", ignore(case))]
119    BIND,
120    #[token("NIL", ignore(case))]
121    NIL,
122    #[token("UNDEF", ignore(case))]
123    UNDEF,
124    #[token("MINUS", ignore(case))]
125    MINUS,
126    #[token("UNION", ignore(case))]
127    UNION,
128    #[token("FILTER", ignore(case))]
129    FILTER,
130    #[token(":")]
131    Colon,
132    #[token("a")]
133    a,
134    #[token("|")]
135    Pipe,
136    #[token("/")]
137    Slash,
138    #[token("^")]
139    Zirkumflex,
140    #[token("?")]
141    QuestionMark,
142    #[token("+")]
143    Plus,
144    #[token("!")]
145    ExclamationMark,
146    #[token("[")]
147    LBrack,
148    #[token("]")]
149    RBrack,
150    #[regex("\\?[A-Za-z]+")]
151    VAR1,
152    #[regex("\\$[A-Za-z]+")]
153    VAR2,
154    #[token("||")]
155    DoublePipe,
156    #[token("&&")]
157    DoubleAnd,
158    #[token("=")]
159    Equals,
160    #[token("!=")]
161    ExclamationMarkEquals,
162    #[token("<")]
163    Less,
164    #[token(">")]
165    More,
166    #[token("<=")]
167    LessEquals,
168    #[token(">=")]
169    MoreEquals,
170    #[token("IN")]
171    IN,
172    #[token("NOT")]
173    NOT,
174    #[token("-")]
175    Minus,
176    #[token("STR")]
177    STR,
178    #[token("LANG")]
179    LANG,
180    #[token("LANGMATCHES")]
181    LANGMATCHES,
182    #[token("DATATYPE")]
183    DATATYPE,
184    #[token("BOUND")]
185    BOUND,
186    #[token("IRI")]
187    IRI,
188    #[token("URI")]
189    URI,
190    #[token("BNODE")]
191    BNODE,
192    #[token("RAND")]
193    RAND,
194    #[token("ABS")]
195    ABS,
196    #[token("CEIL")]
197    CEIL,
198    #[token("FLOOR")]
199    FLOOR,
200    #[token("ROUND")]
201    ROUND,
202    #[token("CONCAT")]
203    CONCAT,
204    #[token("STRLEN")]
205    STRLEN,
206    #[token("UCASE")]
207    UCASE,
208    #[token("LCASE")]
209    LCASE,
210    #[token("ENCODE_FOR_URI")]
211    ENCODE_FOR_URI,
212    #[token("CONTAINS")]
213    CONTAINS,
214    #[token("STRSTARTS")]
215    STRSTARTS,
216    #[token("STRENDS")]
217    STRENDS,
218    #[token("STRBEFORE")]
219    STRBEFORE,
220    #[token("STRAFTER")]
221    STRAFTER,
222    #[token("YEAR")]
223    YEAR,
224    #[token("MONTH")]
225    MONTH,
226    #[token("DAY")]
227    DAY,
228    #[token("HOURS")]
229    HOURS,
230    #[token("MINUTES")]
231    MINUTES,
232    #[token("SECONDS")]
233    SECONDS,
234    #[token("TIMEZONE")]
235    TIMEZONE,
236    #[token("TZ")]
237    TZ,
238    #[token("NOW")]
239    NOW,
240    #[token("UUID")]
241    UUID,
242    #[token("STRUUID")]
243    STRUUID,
244    #[token("MD5")]
245    MD5,
246    #[token("SHA1")]
247    SHA1,
248    #[token("SHA256")]
249    SHA256,
250    #[token("SHA384")]
251    SHA384,
252    #[token("SHA512")]
253    SHA512,
254    #[token("COALESCE")]
255    COALESCE,
256    #[token("IF")]
257    IF,
258    #[token("STRLANG")]
259    STRLANG,
260    #[token("STRDT")]
261    STRDT,
262    #[token("sameTerm")]
263    sameTerm,
264    #[token("isIRI")]
265    isIRI,
266    #[token("isURI")]
267    isURI,
268    #[token("isBLANK")]
269    isBLANK,
270    #[token("isLITERAL")]
271    isLITERAL,
272    #[token("isNUMERIC")]
273    isNUMERIC,
274    #[token("REGEX")]
275    REGEX,
276    #[token("SUBSTR")]
277    SUBSTR,
278    #[token("REPLACE")]
279    REPLACE,
280    #[token("EXISTS")]
281    EXISTS,
282    #[token("COUNT")]
283    COUNT,
284    #[token("SUM")]
285    SUM,
286    #[token("MIN")]
287    MIN,
288    #[token("MAX")]
289    MAX,
290    #[token("AVG")]
291    AVG,
292    #[token("SAMPLE")]
293    SAMPLE,
294    #[token("GROUP_CONCAT")]
295    GROUP_CONCAT,
296    #[token("SEPARATOR")]
297    SEPARATOR,
298    #[token("LANGTAG")]
299    LANGTAG,
300    #[token("DoubleZirkumflex")]
301    DoubleZirkumflex,
302    #[token("DECIMAL")]
303    DECIMAL,
304    #[token("DOUBLE")]
305    DOUBLE,
306    #[token("INTEGER_POSITIVE")]
307    INTEGER_POSITIVE,
308    #[token("DECIMAL_POSITIVE")]
309    DECIMAL_POSITIVE,
310    #[token("DOUBLE_POSITIVE")]
311    DOUBLE_POSITIVE,
312    #[token("INTEGER_NEGATIVE")]
313    INTEGER_NEGATIVE,
314    #[token("DECIMAL_NEGATIVE")]
315    DECIMAL_NEGATIVE,
316    #[token("DOUBLE_NEGATIVE")]
317    DOUBLE_NEGATIVE,
318    #[token("true")]
319    True,
320    #[token("false")]
321    False,
322    #[regex("'[^\u{27}\u{5C}\u{A}\u{D}]*'")]
323    STRING_LITERAL1,
324    #[regex(r#""([^"\\\x00-\x1F]|\\(["\\bnfrt/]|u[a-fA-F0-9]{4}))*""#)]
325    STRING_LITERAL2,
326    // TODO: add regex
327    #[token("STRING_LITERAL_LONG1")]
328    STRING_LITERAL_LONG1,
329    // TODO: add regex
330    #[token("STRING_LITERAL_LONG2")]
331    STRING_LITERAL_LONG2,
332
333    // PN_CHARS : [A-Za-z\u{00C0}-\u{00D6}\u{00D8}-\u{00F6}\u{00F8}-\u{02FF}\u{0370}-\u{037D}\u{037F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}0-9\u{00B7}\u{0300}-\u{036F}\u{203F}-\u{2040}_-]
334    // PN_CHARS_BASE : [A-Za-z\u{00C0}-\u{00D6}\u{00D8}-\u{00F6}\u{00F8}-\u{02FF}\u{0370}-\u{037D}\u{037F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}]
335    // PN_CHARS_U : [A-Za-z\u{00C0}-\u{00D6}\u{00D8}-\u{00F6}\u{00F8}-\u{02FF}\u{0370}-\u{037D}\u{037F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_]
336    #[regex("([A-Za-z\u{00C0}-\u{00D6}\u{00D8}-\u{00F6}\u{00F8}-\u{02FF}\u{0370}-\u{037D}\u{037F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_0-9:]|%[0-9A-Fa-f])([A-Za-z\u{00C0}-\u{00D6}\u{00D8}-\u{00F6}\u{00F8}-\u{02FF}\u{0370}-\u{037D}\u{037F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}0-9\u{00B7}\u{0300}-\u{036F}\u{203F}-\u{2040}_:.-]|%[0-9A-Fa-f])*([A-Za-z\u{00C0}-\u{00D6}\u{00D8}-\u{00F6}\u{00F8}-\u{02FF}\u{0370}-\u{037D}\u{037F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}0-9\u{00B7}\u{0300}-\u{036F}\u{203F}-\u{2040}_:-]|%[0-9A-Fa-f])", priority=1)]
337    PNAME_LN,
338    #[token("BLANK_NODE_LABEL")]
339    BLANK_NODE_LABEL,
340    #[token("ANON")]
341    ANON,
342
343    // Composite nodes
344    Query,
345    Prologue,
346    SelectQuery,
347    ConstructQuery,
348    DescribeQuery,
349    AskQuery,
350    ValuesClause,
351    UpdateUnit,
352    Update,
353    BaseDecl,
354    PrefixDecl,
355    SelectClause,
356    DatasetClause,
357    WhereClause,
358    SolutionModifier,
359    SubSelect,
360    Var,
361    Expression,
362    ConstructTemplate,
363    TriplesTemplate,
364    VarOrIri,
365    DefaultGraphClause,
366    NamedGraphClause,
367    SourceSelector,
368    iri,
369    GroupGraphPattern,
370    GroupClause,
371    HavingClause,
372    OrderClause,
373    LimitOffsetClauses,
374    GroupCondition,
375    BuiltInCall,
376    FunctionCall,
377    HavingCondition,
378    Constraint,
379    OrderCondition,
380    BrackettedExpression,
381    LimitClause,
382    OffsetClause,
383    DataBlock,
384    UpdateOne,
385    Load,
386    Clear,
387    Drop,
388    Move,
389    Copy,
390    Create,
391    InsertData,
392    DeleteData,
393    DeleteWhere,
394    Modify,
395    GraphRef,
396    GraphRefAll,
397    Add,
398    GraphOrDefault,
399    QuadData,
400    QuadPattern,
401    DeleteClause,
402    InsertClause,
403    UsingClause,
404    Quads,
405    QuadsNotTriples,
406    TriplesSameSubject,
407    GroupGraphPatternSub,
408    TriplesBlock,
409    GraphPatternNotTriples,
410    TriplesSameSubjectPath,
411    GroupOrUnionGraphPattern,
412    OptionalGraphPattern,
413    MinusGraphPattern,
414    GraphGraphPattern,
415    ServiceGraphPattern,
416    Filter,
417    Bind,
418    InlineData,
419    InlineDataOneVar,
420    InlineDataFull,
421    DataBlockValue,
422    RDFLiteral,
423    NumericLiteral,
424    BooleanLiteral,
425    ArgList,
426    ExpressionList,
427    ConstructTriples,
428    VarOrTerm,
429    PropertyListNotEmpty,
430    TriplesNode,
431    PropertyList,
432    Verb,
433    ObjectList,
434    Object,
435    GraphNode,
436    PropertyListPathNotEmpty,
437    TriplesNodePath,
438    PropertyListPath,
439    VerbPath,
440    VerbSimple,
441    ObjectListPath,
442    Path,
443    ObjectPath,
444    GraphNodePath,
445    PathAlternative,
446    PathSequence,
447    PathEltOrInverse,
448    PathElt,
449    PathPrimary,
450    PathMod,
451    PathNegatedPropertySet,
452    PathOneInPropertySet,
453    Integer,
454    Collection,
455    BlankNodePropertyList,
456    CollectionPath,
457    BlankNodePropertyListPath,
458    GraphTerm,
459    BlankNode,
460    ConditionalOrExpression,
461    ConditionalAndExpression,
462    ValueLogical,
463    RelationalExpression,
464    NumericExpression,
465    AdditiveExpression,
466    MultiplicativeExpression,
467    NumericLiteralPositive,
468    NumericLiteralNegative,
469    UnaryExpression,
470    PrimaryExpression,
471    iriOrFunction,
472    Aggregate,
473    SubstringExpression,
474    StrReplaceExpression,
475    RegexExpression,
476    ExistsFunc,
477    NotExistsFunc,
478    String,
479    NumericLiteralUnsigned,
480    PrefixedName,
481    QueryUnit,
482}