1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
use super::{
evaluate,
reorder,
tokenize,
ElesOption
};
use anyhow::Result;
pub fn solve<F>(input: &str, literal_to_bool: F) -> Result<bool>
where
F: Fn(&str) -> Result<bool>
{
let eles_option = ElesOption::default();
let tokens = tokenize(input, eles_option)?;
let tokens = reorder(tokens)?;
let r = evaluate(tokens, literal_to_bool)?;
Ok(r)
}