/truthful

A logical expression parser, optimizer and evaluator.

Primary LanguageRustApache License 2.0Apache-2.0

Truthful

crates.io Documentation License

A logical expression parser, optimizer and evaluator.

$ cargo run
welcome! enter ? for help
> a or (a and b)
evaluating "a"
 a  eval
 0   0
 1   1
> !a v b
evaluating (!"a" v "b")
 a  b  eval
 0  0   1
 0  1   1
 1  0   0
 1  1   1
> q
bye!

TODO

  • Grammar operator precedence.
  • Actual optimization (the current one is a bunch of NAND + DeMorgan naive transformations).