#[non_exhaustive]pub enum TokenKind {
Show 48 variants
Keyword(Keyword),
Identifier,
EscapedIdentifier,
Parameter,
Integer,
HexInteger,
OctalInteger,
Float,
String,
LeftParen,
RightParen,
LeftBracket,
RightBracket,
LeftBrace,
RightBrace,
Comma,
Dot,
DotDot,
Colon,
DoubleColon,
Semicolon,
Pipe,
DoublePipe,
Ampersand,
Question,
Dollar,
Plus,
Minus,
Star,
Slash,
Percent,
Caret,
Bang,
Equal,
NotEqual,
Less,
LessEqual,
Greater,
GreaterEqual,
PlusEqual,
FatArrow,
RegexMatch,
LeftArrow,
RightArrow,
Whitespace,
LineComment,
BlockComment,
Invalid,
}Expand description
A lexical token class understood by the openCypher parser.
Keyword recognition is case-insensitive. The parser reclassifies
non-reserved Keyword tokens contextually when a name is required.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Keyword(Keyword)
A case-insensitive language keyword.
Identifier
An unescaped symbolic name.
EscapedIdentifier
A backtick-delimited symbolic name.
Parameter
A parameter whose separated name is unescaped, such as $name,
$123, or $1_name.
Integer
A base-ten integer literal.
HexInteger
A hexadecimal integer literal.
OctalInteger
An octal integer literal.
Float
A decimal floating-point literal, optionally with an exponent.
String
A single- or double-quoted string literal.
LeftParen
RightParen
LeftBracket
RightBracket
LeftBrace
RightBrace
Comma
Dot
DotDot
Colon
DoubleColon
Semicolon
Pipe
DoublePipe
Ampersand
Question
Dollar
A bare $; the parser combines it with a following backtick-delimited
identifier to form an escaped parameter name.
Plus
Minus
Star
Slash
Percent
Caret
Bang
Equal
NotEqual
Less
LessEqual
Greater
GreaterEqual
PlusEqual
FatArrow
RegexMatch
LeftArrow
RightArrow
Whitespace
One or more Unicode whitespace characters.
LineComment
A // comment, including its marker but excluding a line terminator.
BlockComment
A /* ... */ comment, including its delimiters.
Invalid
A source region which cannot begin any valid token.