crftng-intrprtrs/src/lexer/token.rs

50 lines
473 B
Rust

#[derive(Debug)]
pub struct Token {
pub token_type: TokenType,
pub line: usize,
}
#[derive(Debug)]
pub enum TokenType {
LeftParen,
RightParen,
LeftBrace,
RightBrace,
Comma,
Dot,
Minus,
Plus,
Semicolon,
Slash,
Star,
Bang,
BangEqual,
Equal,
EqualEqual,
Greater,
GreaterEqual,
Less,
LessEqual,
Identifier(String),
String(String),
Int(i64),
Float(f64),
And,
Else,
False,
Fun,
For,
If,
Nil,
Or,
Print,
Return,
True,
Let,
While,
Eof,
}