[−][src]Function rslexer::lex
pub fn lex<T>(content: &str, rules: Rules<T>) -> Result<Vec<T>, String>
The main funtion of the lexer
lex
expects the content you want to lex as a &str
and a Vec of Rulse (use the rules!
macro for that)!
Example:
enum Token {
Word(String, usize, usize),
}
lex("test string \n new line!",
rules!(Token;
r"\s+" => |_,_,_| None,
r"[^\s]+" => |s, l, c| Some(Token::Word(s.to_str(), l, c)),
)
)