From 642051fbf153eb0030bc09950a3aa092b2f5f814 Mon Sep 17 00:00:00 2001 From: Julio Biason Date: Thu, 11 Jul 2024 17:19:11 -0300 Subject: [PATCH] Multiline comment token --- logostest/src/main.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/logostest/src/main.rs b/logostest/src/main.rs index 10af640..494a027 100644 --- a/logostest/src/main.rs +++ b/logostest/src/main.rs @@ -3,6 +3,9 @@ use logos::Logos; #[derive(Logos, Debug)] #[logos(skip r"[ \t\n\r]")] enum Token<'a> { + #[regex(r#"\/\*[^\/\*]*\*\/"#, |lex| lex.slice())] + MultilineComment(&'a str), + #[regex(r#""[^"]+""#, |lex| lex.slice().trim_start_matches('"').trim_end_matches('"'))] #[regex("[a-zA-Z0-9]+", |lex| lex.slice())] Keyword(&'a str), @@ -48,4 +51,8 @@ fn main() { let lex = Token::lexer(&std::str::from_utf8(&source).unwrap()); let content = lex.collect::>(); println!("{content:#?}"); + + let lex = Token::lexer("/* multiline\ncomment*/var value;"); + let content = lex.collect::>(); + println!("{content:#?}"); }