Struct jobrog::util::SPEC_MATCHER
source · [−]pub struct SPEC_MATCHER { /* private fields */ }
Methods from Deref<Target = Matcher>
sourcepub fn parse(&self, s: &'t str) -> Option<Match<'t>>
pub fn parse(&self, s: &'t str) -> Option<Match<'t>>
Returns Some(Match)
if the grammar can parse the string. Note that
unless the grammar is string-bounded, this only means it can parse
the string at some point.
Examples
let m = grammar!{
(?bB)
S -> r(r"\A") <subject> <VP> r(r"\.\z")
subject => [["Amy", "Bob", "Carter", "Dianne"]]
VP -> <verb_intransitive> | <verb_transitive> <object>
verb_intransitive => [["naps", "doodles", "exercises", "meditates"]]
verb_transitive => [["eats", "programs", "sees", "throws"]]
object => (?w) [["a sandwich", "eggs", "the sunset"]]
}.matcher()?;
let parse_tree = m.parse("Amy programs the sunset.").unwrap();
println!("{}", parse_tree);
// S (0, 24): "Amy programs the sunset."
// subject (0, 3): "Amy"
// VP (4, 23): "programs the sunset"
// verb_transitive (4, 12): "programs"
// object (13, 23): "the sunset"
sourcepub fn is_match(&self, text: &str) -> bool
pub fn is_match(&self, text: &str) -> bool
Returns whether the grammar can parse the string. This is a cheaper operation than parsing.
Examples
let m = grammar!{
(?bB)
S -> r(r"\A") <subject> <VP> r(r"\.\z")
subject => [["Amy", "Bob", "Carter", "Dianne"]]
VP -> <verb_intransitive> | <verb_transitive> <object>
verb_intransitive => [["naps", "doodles", "exercises", "meditates"]]
verb_transitive => [["eats", "programs", "sees", "throws"]]
object => (?w) [["a sandwich", "eggs", "the sunset"]]
}.matcher()?;
assert!(m.is_match("Bob doodles."));
Trait Implementations
sourceimpl Deref for SPEC_MATCHER
impl Deref for SPEC_MATCHER
impl LazyStatic for SPEC_MATCHER
Auto Trait Implementations
impl RefUnwindSafe for SPEC_MATCHER
impl Send for SPEC_MATCHER
impl Sync for SPEC_MATCHER
impl Unpin for SPEC_MATCHER
impl UnwindSafe for SPEC_MATCHER
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more