summaryrefslogtreecommitdiff
path: root/docs/01.html
blob: 633295b556312fc56f07d50f15c82c1bbcaf8d82 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<h3>A first program</h3>

<p>The <code>main</code> function in toc corresponds to the <code>main</code> function in C. This function is called when your program is run. So, this is a valid toc program which does nothing:</p>

<p><code>
main ::= fn() {
};
</code></p>

<p>It declares a constant, <code>main</code>, 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 <code>fn main() { ... }</code>).</p>

<p>Assuming you have compiled the compiler (see <code>README.md</code> for instructions about that), you can compile it with</p>

<p><code>
toc &lt;your filename&gt;
</code></p>

<p>You will get a file called <code>out.c</code>, 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.</p>