diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..49f99a9 --- /dev/null +++ b/README.md @@ -0,0 +1,77 @@ +math-server +=========== + +Development +----------- + +Build using CMake. +Depends on Boost.{Asio,Filesystem,Program_options,Test}. + +Usage +----- + +### `server` + +If you just run `server`, it'll start a server on port 18000. +You can `telnet` to it, type in arithmetic expressions, and it'll give you the +results: + + 1 + 1 + 2 * 2 + 4 + 1 / (3 - -3) + 0.16666666666666666 + 1 / (-3 - -3) + server error: parser error: division by zero + +Consult `server --help` for more info. + +### `client` + +A `telnet`-like client for the server. +It'll try to connect to the server on localhost:18000. + +Supports reading input from: + +* the command line, + + > client -c "2 * 2" + 4 + +* a file(s), + + > client test.txt + result1 + result2 + +* stdin. + + > client + 1 + 1 + 2 * 2 + 4 + 1 / (3 - -3) + 0.16666666666666666 + 1 / (-3 - -3) + server error: parser error: division by zero + +Consult `client --help` for more info. + +### Docker + +Start the server using + + docker-compose pull && docker-compose up -d server + +Connect to localhost:18000 to query it or run the client: + + > docker-compose run --rm client -c "69 * 420" + 28980 + + > docker-compose run --rm client + 12 * 12 + 144 + asdf + server error: lexer error: invalid input at: asdf |