Commit Graph

2205 Commits

Author SHA1 Message Date
Araq
9e4e7ca535 fixes #2533 2015-04-24 12:36:41 +02:00
Araq
c1730e1ead fixes #2335 2015-04-24 12:35:13 +02:00
Araq
3317faf80d fixes #2524 2015-04-24 12:35:12 +02:00
Andreas Rumpf
6a016743aa Merge pull request #2566 from nanoant/parser-diagnostic-location
Parser: Fix location (line, col) for diagnostics
2015-04-24 12:33:11 +02:00
Andreas Rumpf
3e000f4e36 Merge pull request #2437 from Araq/underscore-tuple-unpack
Implements #2154.
2015-04-24 12:32:57 +02:00
Araq
0c947f31ba system.locals is now a plugin for education 2015-04-24 02:08:06 +02:00
Araq
c8bebe92e2 fixes #2569 2015-04-23 23:49:10 +02:00
Araq
a7a2fa63aa fixes #2589 2015-04-23 02:08:30 +02:00
Dominik Picheta
f0f0062a5d Add sfGenSym for (_). 2015-04-23 00:29:16 +01:00
Dominik Picheta
9e69e4e078 Merge branch 'devel' into underscore-tuple-unpack
Conflicts:
	compiler/semstmts.nim
2015-04-23 00:26:17 +01:00
Araq
8dadeebd08 fix #2585 properly 2015-04-22 20:33:06 +02:00
Araq
bcd8053b23 fixes #2585 2015-04-22 20:25:11 +02:00
Araq
13c5f792dc fixes #2447 2015-04-22 16:11:51 +02:00
Araq
daad8100a9 fixed nil.add for JS 2015-04-22 15:21:20 +02:00
Araq
4be0d16520 added '..^' and '..<' operators; 'nil' is allowed for 'len'; added plugin system to the compiler 2015-04-22 12:04:11 +02:00
Araq
54515241e3 fixes #2581 2015-04-22 12:04:10 +02:00
Araq
aacaa8f171 cleaned up some magics to make room for new magics; added '..<' and '..^' templates 2015-04-22 12:04:09 +02:00
Araq
c69d74818e fixes #2550 2015-04-22 12:04:09 +02:00
Andreas Rumpf
2f973c783c Merge pull request #2565 from nanoant/parser-consistency
Parser consistency
2015-04-22 11:59:52 +02:00
Adam Strzelecki
07b13251d1 Parser: Fix location (line, col) for diagnostics
Previously parser was using lexMessage which was taking location from current
buffer position which was pointing after recently consumed token. But since
parser shows diagnostics about that token it should point to the location where
token starts.

This makes diagnostics like: `test.nim(2, 2) Error: ':' expected` point
properly at the beginning of the wrong token.
2015-04-21 11:32:13 +02:00
Adam Strzelecki
69ed78b30f msg: Output column numbers starting from 1
Most of editors/IDEs expect column numbers to start from 1, so (1, 1) means
beginning of the file.

This change applies only to diagnostics output, however Nim will still
internally number columns starting from 0.
2015-04-21 11:32:12 +02:00
Araq
248dc42aa5 fixes #2520 2015-04-21 08:17:40 +02:00
Araq
f7f9265399 attempt to fix JS codegen regression 2015-04-20 22:53:46 +02:00
Araq
e55f5d1fd4 fixes #2505, fixes #1853, fixes #2522 2015-04-20 21:25:49 +02:00
Araq
daefc2567b fixes serious codegen regression; C++ target works again 2015-04-20 21:24:49 +02:00
Adam Strzelecki
0da4d6b755 Parser: Make exprList() not comsume endToken
This makes use single comcol or eat for multiple cases. Also this makes
exprList responsible for consuming only list of expressions, nothing else which
is more logical.

As a side-effect compiler is now more consistent about errors, eg.:

    try # <- missing something
      echo "try"
    finally:
      echo "finally"

Triggers: test.nim(2, 6) Error: ':' expected

    try:
      echo "try"
    finally # <- missing something
      echo "finally"

Previously triggered: test.nim(4, 6) Error: invalid indentation

But now we got: Error: ':' expected - same as in 1st case
2015-04-20 21:06:03 +02:00
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