#[derive(Clone, PartialEq, Debug)] pub struct Token { pub kind: TokenKind, pub value: TokenValue, pub index: usize, pub line: i32, pub col: i32, } #[derive(Clone, PartialEq, Debug)] pub enum TokenKind { Error, Id, Int, String, If, Else, Loop, Break, Let, Fn, Return, LParen, RParen, LBrace, RBrace, Colon, Comma, Semicolon, Equal, MinusLt, } #[derive(Clone, PartialEq, Debug)] pub enum TokenValue { None, Id(u64), Int(i64), String(String), }