Files
ReactionSystems/src/main.rs

33 lines
1.1 KiB
Rust
Raw Normal View History

2025-05-14 11:42:19 +02:00
mod rsprocess;
use lalrpop_util::lalrpop_mod;
2025-05-19 00:10:23 +02:00
// use std::io;
2025-05-14 11:42:19 +02:00
fn main() -> Result<(), Box<dyn std::error::Error>> {
lalrpop_mod!(grammar, "/rsprocess/grammar.rs");
2025-05-19 00:10:23 +02:00
// let mut buffer = String::new();
// let i = io::stdin();
// i.read_line(&mut buffer).expect("Can't read stdin");
2025-05-14 11:42:19 +02:00
2025-05-19 00:10:23 +02:00
// let result = grammar::SetParser::new().parse(&buffer).unwrap();
let reactants = grammar::SetParser::new().parse("{a}").unwrap();
let inihibitors = grammar::SetParser::new().parse("{c}").unwrap();
let products = grammar::SetParser::new().parse("{a,c}").unwrap();
let process1 = rsprocess::structure::RSreaction::from(reactants, inihibitors, products);
let reactants = grammar::SetParser::new().parse("{b}").unwrap();
let inihibitors = grammar::SetParser::new().parse("{c}").unwrap();
let products = grammar::SetParser::new().parse("{b,c}").unwrap();
let process2 = rsprocess::structure::RSreaction::from(reactants, inihibitors, products);
let current_state = grammar::SetParser::new().parse("{b}").unwrap();
println!("{:?}", rsprocess::classical::compute_all(&current_state, vec![&process1, &process2]));
2025-05-14 11:42:19 +02:00
Ok(())
}