#求解器 #评估器 #解析器 #真值表 #逻辑

logical_solver

Rust 基础逻辑解析器、评估器和真值表构建器!

1 个稳定版本

1.0.2 2023年4月18日

#40#评估器

GPL-3.0 许可证

24KB
119 代码行

逻辑求解器

逻辑求解器是一个用于求解和解析逻辑方程的 Rust 库。

支持的操作

谓词 用法
合取(AND) ∧ and
析取(OR) ∨ or
否定(NOT) ¬ not
条件(IF...THEN) ⇒/→ =>
双条件(IF AND ONLY IF) ⇔/↔ <=>
变量(用于真值表)* [A-Z]+

变量可以是单个或多个大写字母。

用法

let expr = parse_expression("true => not false or (true and false)");
let result = enumerate(expr, HashMap::new());
assert_eq!(result, true);
let vars = vec!(String::from("A"), String::from("B"))
let expr = parse_expression("A => not B");
let states = permutate(vars);
let result = solve_truth_table(expr, vars);
assert_eq!(result, [true, true, true, false]);

请查看/examples 文件夹中的完整示例。使用以下命令运行: cargo run --example <example_name>

依赖项

~2.2–4.5MB
~72K SLoC