From a4eed5214eb0d3ea7934efc3116b6bdac61f77e6 Mon Sep 17 00:00:00 2001 From: Raptorox <70806316+Raptorox@users.noreply.github.com> Date: Thu, 21 May 2026 14:08:50 +0200 Subject: [PATCH] move Token out of lexer --- src/lexer.rs | 23 +---------------------- src/main.rs | 1 + src/token.rs | 22 ++++++++++++++++++++++ 3 files changed, 24 insertions(+), 22 deletions(-) create mode 100644 src/token.rs diff --git a/src/lexer.rs b/src/lexer.rs index d49eafd..0a2bc74 100644 --- a/src/lexer.rs +++ b/src/lexer.rs @@ -1,25 +1,4 @@ -#[derive(Debug, PartialEq)] -pub enum Token { - Number(i64), - Ident(String), - - // Operators - Add, - Sub, - Mul, - Div, - Mod, - - // Parentheses - LParen, - RParen, - LBrace, - RBrace, - LBracket, - RBracket, - - Semicolon -} +use crate::token::Token; pub struct Lexer { source: Vec, diff --git a/src/main.rs b/src/main.rs index 59ed221..3422c42 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,6 @@ use std::{fs::File, io::Read}; +mod token; mod lexer; use lexer::Lexer; diff --git a/src/token.rs b/src/token.rs new file mode 100644 index 0000000..bc82a92 --- /dev/null +++ b/src/token.rs @@ -0,0 +1,22 @@ +#[derive(Debug, PartialEq)] +pub enum Token { + Number(i64), + Ident(String), + + // Operators + Add, + Sub, + Mul, + Div, + Mod, + + // Parentheses + LParen, + RParen, + LBrace, + RBrace, + LBracket, + RBracket, + + Semicolon +} \ No newline at end of file