diff options
author | Leo Tenenbaum <pommicket@gmail.com> | 2019-12-07 18:21:03 -0500 |
---|---|---|
committer | Leo Tenenbaum <pommicket@gmail.com> | 2019-12-07 18:21:03 -0500 |
commit | 390f1e368cfdc5011e9eb9af76d2fb44cd8dc0b2 (patch) | |
tree | d299c8e4360a68038f575c16d8083275cb1046f0 /docs/01.md | |
parent | 9c44be7b25d61450808e918c14b8dfff49a78a8a (diff) |
fixed something weird going on with the tokenizer that might be a bug in clang
Diffstat (limited to 'docs/01.md')
-rw-r--r-- | docs/01.md | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/docs/01.md b/docs/01.md new file mode 100644 index 0000000..816f3e6 --- /dev/null +++ b/docs/01.md @@ -0,0 +1,18 @@ +### A first program + +The `main` function in toc corresponds to the `main` function in C. This function is called when your program is run. So, this is a valid toc program which does nothing: + +``` +main ::= fn() { +}; +``` + +It declares a constant, `main`, which is a function with an empty body. Note that the syntax for declaring functions is the same as the syntax for declaring constants (it isn't something like `fn main() { ... }`). + +Assuming you have compiled the compiler (see `README.md` for instructions about that), you can compile it with + +``` +toc <your filename> +``` + +You will get a file called `out.c`, which you can then put through your C compiler to get an executable file which does nothing. Congratulations! You've written your first toc program. |