alopex_sql/tokenizer/
token.rs1use super::keyword::Keyword;
2use crate::ast::span::Span;
3
4#[derive(Debug, Clone, PartialEq)]
6pub enum Token {
7 EOF,
8
9 Word(Word),
11
12 Number(String),
14 SingleQuotedString(String),
15
16 Comma,
18 Eq,
19 Neq,
20 Lt,
21 Gt,
22 LtEq,
23 GtEq,
24 Plus,
25 Minus,
26 Mul,
27 Div,
28 Mod,
29 LParen,
30 RParen,
31 LBracket,
32 RBracket,
33 Period,
34 Colon,
35 SemiColon,
36 StringConcat,
37}
38
39#[derive(Debug, Clone, PartialEq)]
41pub struct Word {
42 pub value: String,
43 pub quote_style: Option<char>, pub keyword: Keyword,
45}
46
47#[derive(Debug, Clone, PartialEq)]
49pub struct TokenWithSpan {
50 pub token: Token,
51 pub span: Span,
52}