[−]Struct jobrog::log::MATCHER
Methods from Deref<Target = Matcher>
pub fn parse(&self, s: &'t str) -> Option<Match<'t>>
[src]
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"
pub fn is_match(&self, text: &str) -> bool
[src]
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
Auto Trait Implementations
impl RefUnwindSafe for MATCHER
impl Send for MATCHER
impl Sync for MATCHER
impl Unpin for MATCHER
impl UnwindSafe for MATCHER
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,