diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2018-04-14 08:42:45 +0200 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2018-04-14 08:42:53 +0200 |
commit | c6f15c53f458ec0138d006edcaca349281fda753 (patch) | |
tree | 5465dc77af558286defa5a7fc7bf8745a8bf431d /doc/manual/about.txt | |
parent | 3d1d163efff446bd420a150114b7914c7b34798e (diff) | |
download | Nim-c6f15c53f458ec0138d006edcaca349281fda753.tar.gz |
merge the different manual/*.rst include files. Was too hard to find the corresponding sections otherwise. Hope it means the manual is more likely to be kept up to date.
Diffstat (limited to 'doc/manual/about.txt')
-rw-r--r-- | doc/manual/about.txt | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/doc/manual/about.txt b/doc/manual/about.txt deleted file mode 100644 index 58e3baa85..000000000 --- a/doc/manual/about.txt +++ /dev/null @@ -1,37 +0,0 @@ -About this document -=================== - -**Note**: This document is a draft! Several of Nim's features may need more -precise wording. This manual is constantly evolving until the 1.0 release and is -not to be considered as the final proper specification. - -This document describes the lexis, the syntax, and the semantics of Nim. - -The language constructs are explained using an extended BNF, in which ``(a)*`` -means 0 or more ``a``'s, ``a+`` means 1 or more ``a``'s, and ``(a)?`` means an -optional *a*. Parentheses may be used to group elements. - -``&`` is the lookahead operator; ``&a`` means that an ``a`` is expected but -not consumed. It will be consumed in the following rule. - -The ``|``, ``/`` symbols are used to mark alternatives and have the lowest -precedence. ``/`` is the ordered choice that requires the parser to try the -alternatives in the given order. ``/`` is often used to ensure the grammar -is not ambiguous. - -Non-terminals start with a lowercase letter, abstract terminal symbols are in -UPPERCASE. Verbatim terminal symbols (including keywords) are quoted -with ``'``. An example:: - - ifStmt = 'if' expr ':' stmts ('elif' expr ':' stmts)* ('else' stmts)? - -The binary ``^*`` operator is used as a shorthand for 0 or more occurrences -separated by its second argument; likewise ``^+`` means 1 or more -occurrences: ``a ^+ b`` is short for ``a (b a)*`` -and ``a ^* b`` is short for ``(a (b a)*)?``. Example:: - - arrayConstructor = '[' expr ^* ',' ']' - -Other parts of Nim - like scoping rules or runtime semantics are only -described in the, more easily comprehensible, informal manner for now. - |