Araq
92e10e4b18
implemented 'import except'
2012-11-28 23:54:23 +01:00
Araq
0d19de18cc
first steps for the 'export' feature
2012-11-28 02:02:46 +01:00
Araq
c43bf78000
fixed recently introduced parser bugs
2012-11-26 19:31:55 +01:00
Araq
dd9ad9e497
next steps for first class iterators
2012-11-26 02:43:32 +01:00
Araq
538699a281
parser support for 'not nil' annotation
2012-11-25 23:40:42 +01:00
Araq
ccd2934e4a
first steps for 'not nil' annotation
2012-11-25 11:03:14 +01:00
Araq
f610d2d221
'iterator' as type description
2012-11-22 08:31:40 +01:00
Araq
7f6633a06f
added system.finished for first class iterators
2012-11-17 01:25:32 +01:00
Araq
74acf05e0e
bugfix: prevent endless loop in the parser for 'nimrod check'
2012-10-10 00:59:09 +02:00
Zahary Karadjov
d9d82fb0af
syntax compatibility between do blocks and stmt blocks
...
See the section `do notation` in the manual for more info.
* nkMacroStmt has been removed
Macro statements are now mapped to regular nkCall nodes.
The support for additional clauses (such as else, except, of, etc)
have been restored - they will now appear as additional arguments
for the nkCall node (as nkElse, nkExcept, etc nodes)
* fixed some regressions in the `is` operator and semCompiles
2012-10-04 15:37:26 +03:00
Zahary Karadjov
770d4a997e
implemented case expressions
2012-10-03 01:59:49 +03:00
Araq
759b3201ad
proc bodies can be expressions with a type
2012-09-22 22:43:36 +02:00
Araq
d3d9d32c35
first steps to deprecate 'nil' statement
2012-09-09 01:08:00 +02:00
Araq
1d14cb1ad8
next steps towards term rewriting macros; simple examples work
2012-08-30 22:55:32 +02:00
Araq
1786e30991
first steps towards term rewriting macros
2012-08-30 10:55:40 +02:00
Araq
f7f6bc2ba3
idetools improvements (2)
2012-08-03 20:31:49 +02:00
Araq
7d6500f1de
idetools improvements; preparation of first class iterators; fixes #183
2012-08-02 23:14:38 +02:00
Araq
39235e21f5
bugfixes for the symbol mangling; implements #129
2012-07-19 17:38:52 +02:00
Araq
98fd408adc
implemented #133
2012-07-19 16:38:46 +02:00
Araq
e68830a952
improvements for 'bind', fixes #166
2012-07-18 17:21:10 +02:00
Araq
8d99753d63
preparations for making 'closure' the default calling convention for proc types
2012-07-16 23:00:57 +02:00
Araq
94013a4cff
';' as statement separator
2012-07-12 08:17:22 +02:00
Araq
eee99ab272
fixes #112
2012-07-11 18:27:14 +02:00
Araq
b4a9aca2d3
';' now valid for parameter lists
2012-07-11 18:17:39 +02:00
Araq
48847b5616
documented optional indentation for 'case' statements/'case' objects
2012-06-22 17:47:03 +02:00
Zahary Karadjov
e2d38a57ec
better support for unsigned integers.
2012-06-11 21:38:01 +03:00
Zahary Karadjov
4f45097f87
optional indentation for case statements
...
- preliminary support for try expressions and case expressions
- allow do forms in assignments and return statements
2012-05-23 02:27:57 +03:00
Zahary Karadjov
b1574bb0e0
stand-alone except and finally blocks
...
This is equivalent to the on-error and at-scope-exit operators in other languages
2012-05-23 02:25:16 +03:00
Zahary Karadjov
2f4ae65917
produce errors on proc types with implicit empty param lists.
2012-04-20 22:32:36 +03:00
Zahary Karadjov
c1d16c5a4d
made built-in types primary expressions to allow infix operators to be used with them
2012-04-20 21:35:59 +03:00
Zahary Karadjov
818787457d
grammar: the built-in type classes are now valid expressions
2012-04-18 19:50:32 +03:00
Araq
959e370ae9
@ is a sigil-like operator
2012-04-15 10:02:15 +02:00
Zahary Karadjov
98b7bdaa50
when expressions, proper rendering for nkDo and nkLambda and parser support for x.type and x.addr
2012-04-05 22:43:37 +03:00
Zahary Karadjov
70f5236d48
untyped proc/template/macro params default to expr
2012-03-20 17:44:30 +02:00
Araq
4da067691e
implemented 'static'; macros do not work anymore
2012-03-15 00:28:28 +01:00
Araq
375c95d3ad
bugfix: no need for arrows to be new token kinds
2012-02-12 18:56:36 +01:00
Zahary Karadjov
560a3bad28
`do' keyword in the grammar for lambda blocks
2012-02-10 14:50:35 +02:00
Araq
78f4aacde9
pragma blocks; fixed line information issue with user defined assertions
2012-01-17 23:58:18 +01:00
Araq
4cfc0462a4
bugfixes: tests are green again
2012-01-13 23:28:08 +01:00
Araq
c682a1da2b
bugfix: invalid indentation for 'else' is detected; optional indentation for 'if' expressions
2012-01-13 14:59:58 +01:00
Araq
4f1b89c30c
year 2012 for most copyright headers
2012-01-02 23:07:35 +01:00
Araq
4012517d6d
bugfix: suggest feature
2011-12-22 20:15:02 +01:00
Araq
7fcbdc6d42
implemented 'let' statement
2011-11-29 17:27:48 +01:00
Araq
68be801f63
operator precedence changed: assignment like operators are supported; escaping of operators with \ is supported
2011-11-09 01:42:05 +01:00
Araq
93be594eca
fix of recently introduced parsing bug
2011-11-02 19:04:40 +01:00
Araq
1f6725e59e
small bugfixes to make more tests green
2011-11-02 02:28:18 +01:00
Araq
351e89e705
better code generation for constant aggregates
2011-11-02 00:55:29 +01:00
Araq
51e01879ba
'bind' as a declarative statement
2011-10-10 02:04:15 +02:00
Araq
c138cc36b4
new syntactic construct: a{i}
2011-10-08 02:14:42 +02:00
Araq
033e3dfc50
l-values are preserved modulo type distinction
2011-09-24 13:15:11 +02:00