pest::impl_rdp!
[−]
[src]
macro_rules! impl_rdp { ( @rules $( $name:ident )* ) => { ... }; ( @filter [ ] [ $( $rules:tt )* ] ) => { ... }; ( @filter [ $name:ident = { $( $_ts:tt )* } $( $tail:tt )* ] [ $( $rules:tt )* ] ) => { ... }; ( @filter [ $name:ident = _{ $( $_ts:tt )* } $( $tail:tt )* ] [ $( $rules:tt )* ] ) => { ... }; ( @ws ) => { ... }; ( @ws ws = $( $_ts:tt )* ) => { ... }; ( @ws $_name:ident = { $( $_ts:tt )* } $( $tail:tt )* ) => { ... }; ( @ws $_name:ident = _{ $( $_ts:tt )* } $( $tail:tt )* ) => { ... }; ( grammar!{ $( $ts:tt )* } ) => { ... }; }
A macro
useful for implementing the Parser
trait
as a recursive descent parser.
Examples
impl_rdp! { grammar! { rule = { [""] } } } let input = Box::new(StringInput::new("asdasdf")); let mut parser = Rdp::new(input); assert!(parser.matches("asd")); assert!(parser.matches("asdf"));