From 936f5575360674125cc38a9e4453d3d7fd9a02da Mon Sep 17 00:00:00 2001 From: Roman Godmaire Date: Sat, 4 May 2024 19:33:39 -0400 Subject: [PATCH] feat: allow underscores in integers --- src/evaluator.rs | 1 + src/parser/lexer.rs | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/src/evaluator.rs b/src/evaluator.rs index c3bfc14..8e8dd6f 100644 --- a/src/evaluator.rs +++ b/src/evaluator.rs @@ -87,6 +87,7 @@ mod test { #[rstest] // Raw values #[case("1", "1")] + #[case("1_000", "1000")] #[case("\"uwu\"", "uwu")] #[case(":owo", ":owo")] #[case("()", "()")] diff --git a/src/parser/lexer.rs b/src/parser/lexer.rs index e9e3651..3db6dbe 100644 --- a/src/parser/lexer.rs +++ b/src/parser/lexer.rs @@ -173,6 +173,11 @@ fn read_int(input: &mut Peekable, first: char) -> Token { let mut raw_int = vec![first]; while let Some(c) = input.peek() { + if *c == '_' { + input.next(); + continue; + } + if !c.is_ascii_digit() { break; }