From 414681bc8b8ccbff81c0878fbf3ff193f7f55e0f Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Thu, 4 Jun 2026 22:21:50 -0700 Subject: Lexer is done for now. Now for the scaffold. ALso the parser is next up. But I want to get some frontend done so it won't whine at me so much. The lexer has a lot more to go, I'm sure, but right now it does all the basics that I need it to do. --- src/lexer.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/lexer.rs') diff --git a/src/lexer.rs b/src/lexer.rs index 46651c4..e80e461 100644 --- a/src/lexer.rs +++ b/src/lexer.rs @@ -39,7 +39,7 @@ fn is_valid_token_char( c: char ) -> bool { return false; } match c { - 'a'..'z' | 'A'..'Z' | '0'..'9' => true, + 'a'..'z' | 'A'..'Z' | '0'..'9' | '_' | '-' => true, _ => false } } @@ -157,9 +157,14 @@ impl<'a> Lexer<'a> { fn parse_token(&mut self) -> Option> { self.skip_ws(); - if let Some(chr) = self.cur() && chr == '"' { - // Literal string - return self.parse_literal_str(); + match self.cur() { + Some('"') => { + return self.parse_literal_str(); + } + Some('=') => { + return Some(Symbol::Equals); + } + _ => {} } let start = self.cur_index(); -- cgit v1.2.3