Merge branch 'master' into vm2

This commit is contained in:
Araq
2013-12-13 15:58:03 +01:00
33 changed files with 28859 additions and 234 deletions

View File

@@ -16,9 +16,9 @@ Introduction
This document is a tutorial for the advanced constructs of the *Nimrod*
programming language. **Note that this document is somewhat obsolete as
the `manual <manual.html>`_ contains many more examples of the advanced
language features.**
programming language. **Note that this document is somewhat obsolete as the**
`manual <manual.html>`_ **contains many more examples of the advanced language
features.**
Pragmas
@@ -852,7 +852,7 @@ to be included along the program containing the license information::
The ``readCfgAtRuntime`` proc will open the given filename and return a
``TTable`` from the `tables module <tables.html>`_. The parsing of the file is
done (without much care for handling invalid data or corner cases) using the
``split`` proc from the `strutils module <strutils.html>`_. There are many
``splitLines`` proc from the `strutils module <strutils.html>`_. There are many
things which can fail; mind the purpose is explaining how to make this run at
compile time, not how to properly implement a DRM scheme.
@@ -948,7 +948,7 @@ Generating AST by hand
To generate an AST we would need to intimately know the structures used by the
Nimrod compiler exposed in the `macros module <macros.html>`_, which at first
look seems a daunting task. But we can use a helper shortcut the ``dumpTree``
look seems a daunting task. But we can use as helper shortcut the ``dumpTree``
macro, which is used as a statement macro instead of an expression macro.
Since we know that we want to generate a bunch of ``const`` symbols we can
create the following source file and compile it to see what the compiler