From 19eafbc01a492e8f1df25cef52678ed8f76d3e63 Mon Sep 17 00:00:00 2001 From: Leo Tenenbaum Date: Tue, 25 Feb 2020 20:35:46 -0500 Subject: fixed bugs with new arg order system also now struct parameters are "officially" part of the language --- docs/00.html | 61 ------------------------------------------------------------ 1 file changed, 61 deletions(-) delete mode 100644 docs/00.html (limited to 'docs/00.html') diff --git a/docs/00.html b/docs/00.html deleted file mode 100644 index cd0c352..0000000 --- a/docs/00.html +++ /dev/null @@ -1,61 +0,0 @@ -

Declarations

- -

In toc, declarations have the following syntax: - -<name> :[:] [type] [= expression]; -

- -

The square brackets ([]) indicate something optional.

- -

All of the following statements -declare an new variable x which is an integer, and has a value of 0: - -x : int; -x : int = 0; -x := 0; - -Note that in the first of those statements, although no expression -is specified, it defaults to 0. This is not true in C, -and there will eventually probably be an option to -leave x uninitialized.

- -

If you wanted x to be a floating-point number, you could use: - -x : float; -x : float = 0; -x := 0.0; -

- -

Note that 0 can be used as both a float and an integer, but -when no type is specified, it defaults to an int, whereas 0.0 -defaults to a float.

- -

Here are all of toc's builtin types and their ranges of values:

- - - -

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;
-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.

-- cgit v1.2.3