| 1 | # Overview # |
| 2 | |
| 3 | Welcome to the VVhitespace language. This repository provides two main tools. |
| 4 | |
| 5 | A compiler, `vvc`, accepts human-readable VVhitespace source code and translates |
| 6 | it to true VVhitespace code. VVhitespace code is represented with the *whitespace |
| 7 | characters* `[tTvVsSnN]` corresponding to `[Tab]`, `[Vtab]`, `[Space]`, |
| 8 | `[Newline]`, respectively. The first character on a line which is not from this |
| 9 | set begins a comment which ends with the line. See the standard library for |
| 10 | examples in this style. |
| 11 | |
| 12 | An interpreter, `vvi`, accepts true VVhitespace files as generated by `vvc` and |
| 13 | executes them according to the rules in `reference.md`. |
| 14 | |
| 15 | |
| 16 | # Instructions # |
| 17 | |
| 18 | To build the VVhitespace software, simply run `make` in the top level directory. |
| 19 | This will produce two binaries, `vvc` for compiling human-readable |
| 20 | pseudo-vvhitespace into true vvhitespace, and `vvi` for interpreting/executing |
| 21 | vvhitespace programs. |
| 22 | |
| 23 | Use these two programs to build and run your VVS programs: |
| 24 | |
| 25 | vvc -i your_code.pvvs -o output_file.vvs |
| 26 | vvi -i output_file.vvs |
| 27 | |
| 28 | |
| 29 | # Examples # |
| 30 | |
| 31 | The `examples/` folder contains examples with Makefiles. Simply `cd` into an |
| 32 | example and `make run` to build and execute it. Don't forget to build `vvc` |
| 33 | and `vvi` first! More details can be found in `examples/README.md`. |
| 34 | |
| 35 | |
| 36 | # Standard Library # |
| 37 | |
| 38 | A standard library provides a few convenience functions. More details can be found |
| 39 | in `stdlib/README.md`. A working example can be found in `examples/hello-stdlib`. |