Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extern crate "parser-combinators" as parser;
- use parser::{Parser, ParserExt};
- fn main() {
- let good_test = "2 + 12 + 22";
- let integer = parser::spaces().with(
- parser::chars1(parser::digit()).map(|s| s.parse::<i32>().unwrap())
- );
- let plus = parser::spaces().with(parser::string("+"));
- let mut sum = parser::chainl1(integer, plus.map(|str|
- Box::new(|&mut: a:i32, b:i32| {a + b}) as Box<FnMut(i32,i32) -> i32>
- ));
- match sum.parse(good_test) {
- Ok((value, _)) => println!("Good! {}", value),
- Err(err) => println!("{}", err)
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement