From 690dfad4326293aef24c39db4be9abc19c8fb46e Mon Sep 17 00:00:00 2001 From: Mel Date: Sun, 17 Oct 2021 23:01:03 +0200 Subject: Lexing --- src/lex/token.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/lex/token.rs (limited to 'src/lex/token.rs') diff --git a/src/lex/token.rs b/src/lex/token.rs new file mode 100644 index 0000000..a43cf0f --- /dev/null +++ b/src/lex/token.rs @@ -0,0 +1,29 @@ +#[derive(Clone, Copy, Debug)] +pub struct Location { + pub col: usize, + pub row: usize, +} + +#[derive(Clone, Debug)] +pub struct Token { + pub location: Location, + pub variant: TokenVariant, +} + +#[derive(Clone, Debug)] +pub enum TokenVariant { + OpPlus, + OpMinus, + OpStar, + OpSlash, + OpNot, + + GroupOpen, + GroupClose, + + Int(u32), + Float(f32), + + Unknown(char), + Eof, +} -- cgit 1.4.1