Commit | Line | Data |
---|---|---|
92a92075 AT |
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`. |