rust_jvm::p_named!
[−]
[src]
macro_rules! p_named { ($name:ident( $i:ty ) -> $o:ty, $submac:ident!( $($args:tt)* )) => { ... }; ($name:ident<$i:ty,$o:ty,$e:ty>, $submac:ident!( $($args:tt)* )) => { ... }; ($name:ident<$i:ty,$o:ty>, $submac:ident!( $($args:tt)* )) => { ... }; ($name:ident<$o:ty>, $submac:ident!( $($args:tt)* )) => { ... }; ($name:ident, $submac:ident!( $($args:tt)* )) => { ... }; (pub $name:ident( $i:ty ) -> $o:ty, $submac:ident!( $($args:tt)* )) => { ... }; (pub $name:ident<$i:ty,$o:ty,$e:ty>, $submac:ident!( $($args:tt)* )) => { ... }; (pub $name:ident<$i:ty,$o:ty>, $submac:ident!( $($args:tt)* )) => { ... }; (pub $name:ident<$o:ty>, $submac:ident!( $($args:tt)* )) => { ... }; (pub $name:ident, $submac:ident!( $($args:tt)* )) => { ... }; }
Declares a parser (with a body of type std::result::Result<nom::IResult, nom::Err<I, E>>
)
that can be controlled for backtracking by using c!
and cut!
. The return type is
std::result::Result<nom::IResult, nom::Err<I, E>>
. If the parser returns
std::result::Result::Ok
, then backtracking occurs. If the parser returns
std::result::Result::Err
, then backtracking does not occur.