From 0b437fe5e12407f3e430f7be2e4f5ba9cc687408 Mon Sep 17 00:00:00 2001 From: Seymur Bagirov Date: Wed, 20 Nov 2024 03:31:02 +0400 Subject: [PATCH] feat: add multi-line comments Challenge 4 of fourth chapter 'Scanner' --- src/scanner.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/scanner.rs b/src/scanner.rs index 701a49d..a2e9062 100644 --- a/src/scanner.rs +++ b/src/scanner.rs @@ -92,6 +92,19 @@ impl Scanner { self.advance(); } } + '/' if self.peek_and_match('*') => { + while self.peek().is_some_and(|c| c != '*') + && self.peek_double().is_some_and(|c| c != '/') + { + if self.peek().is_some_and(|c| c == '\n') { + self.line += 1; + } + self.advance(); + } + // advance twice to get rid of */ + self.advance(); + self.advance(); + } '/' => self.add_token(TokenType::Slash), '"' => error = self.string(), ' ' | '\r' | '\t' => (),