[]Struct two_timer::MATCHER

pub struct MATCHER { /* fields omitted */ }

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

impl Deref for MATCHER

type Target = Matcher

The resulting type after dereferencing.

impl LazyStatic for MATCHER

Auto Trait Implementations

impl Send for MATCHER

impl Sync for MATCHER

Blanket Implementations

impl<T> From for T
[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]