use difx::sexpr::Parser; use difx::match_rules::{self, Bindings}; fn main() { let input = include_str!("../test_rule"); let rules = difx::def_rules::parse_def_rules(input.to_string()); // println!("{:#?}", rules); let pat = rules[0].clone().lhs; println!("{:?}", pat); loop { let mut input = String::new(); std::io::stdin() .read_line(&mut input) .unwrap(); let mut parser = Parser::new(&input); let parsed = parser.parse_one(); let mut bindings = Bindings::default(); if match_rules::matches(&pat, &parsed, &mut bindings) { println!("{:?}", &bindings); println!("MATCH"); } } }