[][src]Macro rslexer::rules

macro_rules! rules {
    ($t:ty; $($e:expr => $f:expr,)+) => { ... };
    ($t:ty; $($e:expr => $f:expr),*) => { ... };
}

rules! macro to create Rules for the lexer!

rules! expects a Type (Token) and a list of rules: &str (regex) => |string, line, character| Option

Example:

enum Token {
    Word(String, usize, usize),
}
 
rules!(Token;
    r"\s+" => |_,_,_| None,
    r"[^\s]+" => |s, l, c| Some(Token::Word(s.to_str(), l, c)),
)