Update README.md
This commit is contained in:
parent
bbc02349af
commit
627c62772b
30
README.md
30
README.md
@ -4,24 +4,41 @@ please see the [relevant Wikipedia article][1].
|
|||||||
|
|
||||||
[1]: https://en.wikipedia.org/wiki/Truth_table
|
[1]: https://en.wikipedia.org/wiki/Truth_table
|
||||||
|
|
||||||
To build, just run `make`. You will need SBCL, ASDF, and Quicklisp. Quicklisp is
|
There is an instance of the web version of this program hosted here: [tt.zander.im][2]
|
||||||
used to load `uiop` and `with-user-abort`.
|
|
||||||
|
[2]: https://tt.zander.im/
|
||||||
|
|
||||||
|
This repository contains three things: a Common Lisp library to parse and
|
||||||
|
manipulate propositional logic expressions, a command line truth table
|
||||||
|
generator, and a web-based truth table generator.
|
||||||
|
|
||||||
|
To build the CLI version, just run `make`. You will need SBCL, ASDF, and
|
||||||
|
Quicklisp. Quicklisp is used to load `uiop` and `with-user-abort`.
|
||||||
|
|
||||||
|
To run the web server, execute `./truth-table-web-wrapper`. If you want to run
|
||||||
|
it in the background, I recommend using something like GNU Screen. The web
|
||||||
|
server supports `-h` and `--help`, you can use them to see all the options it
|
||||||
|
supports. It should be noted, however, that it does not support HTTPS. If you
|
||||||
|
want to use HTTPS, run the web server behind something like Nginx or HAProxy.
|
||||||
|
|
||||||
The format of the input propositions is fairly free-form. The above Wikipedia
|
The format of the input propositions is fairly free-form. The above Wikipedia
|
||||||
article has some information about their format, as well as possible symbols for
|
article has some information about their format, as well as possible symbols for
|
||||||
operators. You can also take a look at the table near the top of
|
operators. You can also take a look at the table near the top of `parse.lisp`
|
||||||
`parse.lisp` for all the variations supported by this program.
|
for all the variations supported by this program.
|
||||||
|
|
||||||
Here is the help output from the program:
|
### CLI Usage
|
||||||
|
Here is the help output from the CLI (not web) program:
|
||||||
```text
|
```text
|
||||||
usage: truth-table [options] <propositions...>
|
usage: truth-table [options] <propositions...>
|
||||||
|
|
||||||
-h, --help print this message, then exit
|
-h, --help print this message, then exit
|
||||||
-f, --format=<arg> specify the output format (*unicode*, ascii, or latex)
|
-f, --format=<arg> specify the output format (*unicode*, ascii, latex, or html)
|
||||||
-s, --subexps include sub-expressions in the output table
|
-s, --subexps include sub-expressions in the output table
|
||||||
-n, --no-vars do not include variables in the output table
|
-n, --no-vars do not include variables in the output table
|
||||||
-m, --multi-char allow multi-character variable names
|
-m, --multi-char allow multi-character variable names
|
||||||
-i, --no-implicit do not use implicit 'and' operations
|
-i, --no-implicit do not use implicit 'and' operations
|
||||||
|
-p, --pretty pretty print latex, html, etc. output
|
||||||
|
-l, --latin use the Latin T and F characters for truth values
|
||||||
|
|
||||||
The choice surrounded by '*' is the default. Arguments to long
|
The choice surrounded by '*' is the default. Arguments to long
|
||||||
options are also required for their short variant.
|
options are also required for their short variant.
|
||||||
@ -30,7 +47,6 @@ options are also required for their short variant.
|
|||||||
Here is an example truth table:
|
Here is an example truth table:
|
||||||
```text
|
```text
|
||||||
$ truth-table '(a /\ b) -> ~b'
|
$ truth-table '(a /\ b) -> ~b'
|
||||||
|
|
||||||
┌───┬───┬────────────┐
|
┌───┬───┬────────────┐
|
||||||
│ a │ b │ a ∧ b → ¬b │
|
│ a │ b │ a ∧ b → ¬b │
|
||||||
├───┼───┼────────────┤
|
├───┼───┼────────────┤
|
||||||
|
Loading…
Reference in New Issue
Block a user