Adam Strzelecki
8a6df889d0
Parser: Use colcom(...) when possible
...
This make parsing obligatory colon more consistent across the parser's code.
2015-04-20 21:06:03 +02:00
Araq
2b4e233510
Merge branch 'devel' of https://github.com/Araq/Nim into devel
2015-04-20 11:44:54 +02:00
Araq
7be092bba5
VM: minor fixes to make lexim work
2015-04-20 11:36:13 +02:00
Araq
9abfc60db4
parse 'of' branches for macros properly
2015-04-19 14:25:16 +02:00
Araq
89cbf092b2
fixes a serious codegen bug that caused to emit wrong barriers in rare cases
2015-04-19 13:36:22 +02:00
Araq
5cea6807e1
fixes #2476
2015-04-19 02:43:19 +02:00
Araq
751232dc7c
implements .goto support for variables
2015-04-19 02:42:40 +02:00
Andreas Rumpf
b4e938ca21
Merge pull request #2503 from ReneSac/arrowLike
...
Restrict arrow-like operators to those ending with `->`, `~>` or `=>`
2015-04-15 19:24:44 +02:00
Andreas Rumpf
e14e5be998
Merge pull request #2549 from fowlmouth/patch-2
...
fixes for macros.getType()
2015-04-15 17:33:26 +02:00
Zahary Karadjov
1ebf1aaa80
importing of C++ nested generics like std::vector<T>::iterator, using the apostrophe operator
2015-04-13 23:49:41 +03:00
fowlmouth
9700298d07
concept types are represented with getType()
2015-04-13 14:57:23 -05:00
ReneSac
06617bbb76
Minor fixes for arrow like change patch
...
Don't use ^ operator yet for compatibility with older compilers.
Moved arrow like explanation, and fix precedence description on the text in the manual.
Fixed typo in news.
2015-04-11 17:22:09 -03:00
Araq
28ecf72f79
fixes #2498
2015-04-11 10:01:13 +02:00
Araq
06feaef64a
fixes #1658
2015-04-11 10:01:12 +02:00
Araq
a1b937ab33
fixes #1691
2015-04-11 10:01:11 +02:00
Araq
d89a20cc1d
fixes #2509
2015-04-11 10:01:10 +02:00
Araq
670367e13b
fixes #2508
2015-04-11 10:01:10 +02:00
Araq
1406f92a5f
re-enable git hash compiler info
2015-04-11 10:01:08 +02:00
ReneSac
34997292f4
Changing the rule for arrow like operators again.
2015-04-10 23:59:17 -03:00
Araq
4d8750ae8c
fixes #2448
2015-04-10 14:40:53 +02:00
Araq
49471440eb
fixes #2481
2015-04-10 14:03:49 +02:00
Araq
10c1d7f519
minor lexer cleanups; fixes #2504
2015-04-10 14:03:48 +02:00
Araq
3a9500f7b1
fixes #2500
2015-04-10 14:03:47 +02:00
Andreas Rumpf
badd1a79f0
Merge pull request #2493 from arnetheduck/more-comp-ropes
...
More comp ropes
2015-04-10 13:59:35 +02:00
ReneSac
f15b4ccb52
Restrict arrow-like operators to start with - or =
2015-04-09 17:00:11 -03:00
Andreas Rumpf
a2d3dff690
Merge pull request #2491 from ReneSac/strongSpacesFix
...
Apply strongSpaces to keyword operators too. Fix #1894 .
2015-04-09 09:44:16 +02:00
Andreas Rumpf
4d0ee66f29
Merge pull request #2496 from BlaXpirit/js-header-comma
...
Fix JS codegen: proc header with compiletime arguments
2015-04-09 09:37:45 +02:00
Andreas Rumpf
fdadc177d4
Merge pull request #2499 from JosephTurner/fix-uint-segv
...
Fixes #1986 when calling sameConstant on uint
2015-04-09 09:37:05 +02:00
Andreas Rumpf
cb1c621a05
Merge pull request #2426 from def-/fix-1460
...
Fix #1460
2015-04-09 09:36:18 +02:00
Joseph Turner
0fa82763fe
Fixes #1986 when calling sameConstant on uint
...
The problem was saveConstant only checked the range
`nkCharLit..nkInt64Lit`, but not up to UInt. This lead to the sonsLen
method being called, where sons was never declared.
This commit changes it to `nkCharLit..nkUint64Lit`, to match the case
statements in the type definition of TNode, in ast.nim.
2015-04-09 03:59:08 +01:00
Oleh Prypin
1d7fc5fcda
Don't add a comma too soon
...
Fixes #2495
2015-04-09 04:21:55 +03:00
Jacek Sieka
ff914b89d3
compiler_ropes: more lib_ropes porting
2015-04-08 23:30:03 +08:00
Araq
2176ea759f
fixes #2489
2015-04-08 15:13:58 +02:00
ReneSac
80050a09a0
Refactored getPrecedence() after last change
...
The considerStrongSpaces() is now applied to almost all results, so it is better to do it at the end.
2015-04-08 02:06:18 -03:00
ReneSac
6a528bc7e9
Consider #!strongSpaces for keyword operators too.
...
When #!strongSpaces is on, every operator affected by it gains priority higher than any operator not affected by it. This includes comparison operators, addition, etc.
It seems that counting spaces for keywords operators don't break anything in the parser. Of course, they can't have 0 spaces between their operands, but at least their precedence will work accordingly to their 1+ spaces.
2015-04-08 01:00:14 -03:00
def
39049e151f
Get rid of deprecation warnings
2015-04-07 15:47:18 +02:00
Araq
5bb3534f10
fixes #2427
2015-04-06 23:50:09 +02:00
Araq
05e39cf6ad
overloading of '=' works
2015-04-06 23:21:52 +02:00
Araq
78f371c03a
first implementation of overloading of '='; missing: rewriting let/var sections
2015-04-06 23:21:51 +02:00
Andreas Rumpf
99e0fb90e0
Merge pull request #2428 from arnetheduck/comp-lib-ropes
...
Comp lib ropes
2015-04-06 00:32:08 +02:00
Araq
a83286192f
GC-safety error messages are useful now
2015-04-04 01:19:32 +02:00
Araq
f767e1749e
don't store the scope for routines
2015-04-04 01:19:31 +02:00
Araq
f8235cbe2e
preparations for better gcsafety messages
2015-04-04 01:19:29 +02:00
Araq
d5f40ee70d
better error message for implicit pragmas
2015-04-04 01:19:29 +02:00
Jacek Sieka
0f131b9f46
ropes: remove more unnecessary checks
2015-04-03 23:30:42 +08:00
Jacek Sieka
d7a42641ab
compiler_ropes: remove unnecessary length check
...
frmt[frmt.len] isn't an out-of-bounds access for strings (!)
2015-04-03 23:21:19 +08:00
Jacek Sieka
71e785904b
compiler_ropes: deprecate old function names
2015-04-01 22:32:15 +08:00
Jacek Sieka
a9ef5bf459
compiler_ropes: TRope -> RopeObj, PRope* -> Rope*
2015-04-01 22:32:15 +08:00
Jacek Sieka
bcdb5b0836
compiler_ropes: toRope -> rope
2015-04-01 22:32:15 +08:00
Jacek Sieka
aafbe5c866
ropes: make lib & compiler frmt more similar, fix out-of-bounds accesses in lib ropes
2015-04-01 22:32:15 +08:00