Struct yaccas::parser::Parser
[−]
[src]
pub struct Parser<'a> { pub free_arguments: FreeArgumentSupport, // some fields omitted }
The parser which parses the Argument
s upon Token
s provided by a Scanner
.
Fields
free_arguments: FreeArgumentSupport
Behavior on free arguments.
Methods
impl<'a> Parser<'a>
[src]
fn register<T: Into<Argument<'a>>>(&mut self, names: &[&'a str], argument: T)
Registers an Argument
with specific name(s) and a callback which is called after successful parsing.
Example
use yaccas::arguments::{Argument, Flag}; use yaccas::parser::{Parser, Result}; use yaccas::scanner::Unix; let mut parser = Parser::default(); let flag = Flag::default(); parser.register(&["option", "o1", "o2"], Argument::with_callback(flag, | _flag | { // Do something with the argument here })); assert_eq!(parser.parse(Unix::new(&["-option"])), Result::Success(Vec::new()));Run
fn parse<S: Scanner>(&mut self, scanner: S) -> Result
Parses the Tokens
provided by a Scanner
and matches them with registered Argument
s.