From 93093f5a220582ade7e51008d6c234a508381089 Mon Sep 17 00:00:00 2001
From: Leo Tenenbaum int
, whereas 0.0
defaults to a float
.
Here are all of toc’s builtin types and their ranges of values:
+Here are all of toc's builtin types and their ranges of values:
int
- A 64-bit signed integer (always), -9223372036854775808 to 9223372036854775807float
.
char
- A character. The specific values are technically platform-dependent, but usually there are 256 of them.At the moment, it is not technically guaranteed that f32
/float
is actually 32-bit and that f64
is actually 64-bit; they are platform dependent. Perhaps someday there will be a version of toc which does not compile to C, where that could be guaranteed.
To make declarations constant, use ::
instead of :
. e.g.
-x ::= 5+3;
+x ::= 5+3;
y :: float = 5.123;
Here, “constant” means constant at compile time, not read-only as it does in C. One interesting thing about toc is that normal functions can run at compile time, so pretty much any expression is a valid initializer for a constant, e.g. doing x ::= some_function();
runs some_function
at compile time, not at run time.
Here, "constant" means constant at compile time, not read-only as it does in C. One interesting thing about toc is that normal functions can run at compile time, so pretty much any expression is a valid initializer for a constant, e.g. doing x ::= some_function();
runs some_function
at compile time, not at run time.
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() { ... }
).
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
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.
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.