Skip to main content

coda_runtime/frontend/
token.rs

1#[derive(Debug, Clone, PartialEq)]
2pub enum TokenKind {
3    // literals
4    Number(f64),
5    String(String),
6    Identifier(String),
7
8    // operators
9    Plus,
10    Minus,
11    Star,
12    Slash,
13    Equal,
14    PlusEqual,
15    MinusEqual,
16    StarEqual,
17    SlashEqual,
18    EqualEqual,
19    BangEqual,
20    Greater,
21    Less,
22    GreaterEqual,
23    LessEqual,
24
25    // punctuation
26    LParen,
27    RParen,
28    LBrace,
29    RBrace,
30    LBracket,
31    RBracket,
32    Comma,
33    Dot,
34    Semicolon,
35
36    // keywords
37    Let,
38    Const,
39    Fn,
40    If,
41    Else,
42    While,
43    Return,
44    Import,
45    Export,
46    True,
47    False,
48    Null,
49
50    EOF,
51}
52
53#[derive(Debug, Clone)]
54pub struct Token {
55    pub kind: TokenKind,
56    pub line: usize,
57}