<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&rsquo;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&rsquo;ve written your first toc program.</p>