summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-12-31 07:44:54 -0600
committerCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-12-31 07:44:54 -0600
commite9469f6e7c4ff04cdc939030c5af4c1516a0271b (patch)
treedf4eefe68f8adc2d02f52b1572d5411c0b68cbce /src/main.rs
progress
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs
new file mode 100644
index 0000000..911948d
--- /dev/null
+++ b/src/main.rs
@@ -0,0 +1,29 @@
+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");
+ }
+ }
+}
+