use teleparse::prelude::*;
#[derive_lexicon]
pub enum MyToken {
#[teleparse(regex(r"/\*([^\*]|(\*[^/]))*\*/"))]
Comment,
}
fn main() {
let input = "/* This is a comment */";
// you can call `lexer` to use a standalone lexer without a Parser
let mut lexer = MyToken::lexer(input).unwrap();
// the lexer will not ignore comments
assert_eq!(
lexer.next(),
(None, Some(Token::new(0..23, MyToken::Comment)))
);
// `should_extract` will tell the lexer to not return the token to the Parser
assert!(MyToken::Comment.should_extract());
}