move Token out of lexer
This commit is contained in:
parent
ad7a8ad879
commit
a4eed5214e
3 changed files with 24 additions and 22 deletions
23
src/lexer.rs
23
src/lexer.rs
|
|
@ -1,25 +1,4 @@
|
||||||
#[derive(Debug, PartialEq)]
|
use crate::token::Token;
|
||||||
pub enum Token {
|
|
||||||
Number(i64),
|
|
||||||
Ident(String),
|
|
||||||
|
|
||||||
// Operators
|
|
||||||
Add,
|
|
||||||
Sub,
|
|
||||||
Mul,
|
|
||||||
Div,
|
|
||||||
Mod,
|
|
||||||
|
|
||||||
// Parentheses
|
|
||||||
LParen,
|
|
||||||
RParen,
|
|
||||||
LBrace,
|
|
||||||
RBrace,
|
|
||||||
LBracket,
|
|
||||||
RBracket,
|
|
||||||
|
|
||||||
Semicolon
|
|
||||||
}
|
|
||||||
|
|
||||||
pub struct Lexer {
|
pub struct Lexer {
|
||||||
source: Vec<u8>,
|
source: Vec<u8>,
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
use std::{fs::File, io::Read};
|
use std::{fs::File, io::Read};
|
||||||
|
|
||||||
|
mod token;
|
||||||
mod lexer;
|
mod lexer;
|
||||||
use lexer::Lexer;
|
use lexer::Lexer;
|
||||||
|
|
||||||
|
|
|
||||||
22
src/token.rs
Normal file
22
src/token.rs
Normal file
|
|
@ -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
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue