From 843242e692280d604b74324ba26ead6158223439 Mon Sep 17 00:00:00 2001 From: Tolmachev Igor Date: Sun, 10 May 2026 12:54:41 +0300 Subject: Remove Float from parser Dropped to make the language simpler. --- compiler/src/lex/lexer.rs | 6 +----- compiler/src/lex/tests.rs | 8 -------- 2 files changed, 1 insertion(+), 13 deletions(-) (limited to 'compiler/src/lex') diff --git a/compiler/src/lex/lexer.rs b/compiler/src/lex/lexer.rs index 6efbca0..5e45b20 100644 --- a/compiler/src/lex/lexer.rs +++ b/compiler/src/lex/lexer.rs @@ -131,12 +131,8 @@ impl<'a> Iterator for Lexer<'a> { // Number ch if ch.is_ascii_digit() - || ch == '.' && self.peek_nth(1).is_some_and(|ch| ch.is_ascii_digit()) || matches!(ch, '+' | '-') - && self.peek_nth(1).is_some_and(|ch| ch.is_ascii_digit()) - || matches!(ch, '+' | '-') - && self.peek_nth(1).is_some_and(|ch| ch == '.') - && self.peek_nth(2).is_some_and(|ch| ch.is_ascii_digit()) => + && self.peek_nth(1).is_some_and(|ch| ch.is_ascii_digit()) => { Token::Number(self.next_atom()) } diff --git a/compiler/src/lex/tests.rs b/compiler/src/lex/tests.rs index d0ed658..0672dfa 100644 --- a/compiler/src/lex/tests.rs +++ b/compiler/src/lex/tests.rs @@ -42,16 +42,8 @@ fn test_numbers() { let cases = vec![ ("0", vec![Number("0")]), ("42", vec![Number("42")]), - ("3.14", vec![Number("3.14")]), ("-7", vec![Number("-7")]), ("+5", vec![Number("+5")]), - ("-0.5", vec![Number("-0.5")]), - ("1e10", vec![Number("1e10")]), - ("1.5e-3", vec![Number("1.5e-3")]), - (".5", vec![Number(".5")]), - ("-.5", vec![Number("-.5")]), - ("+.5", vec![Number("+.5")]), - ("-.0", vec![Number("-.0")]), ]; for (code, tokens) in cases { assert_eq!(tokenize(code), tokens); -- cgit v1.3