Commit Graph

2162 Commits

Author SHA1 Message Date
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
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
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
Jacek Sieka
91f42a2943 compiler_ropes: ropef -> %, appf -> addf 2015-04-01 22:32:15 +08:00
Jacek Sieka
171996465f compiler_ropes: ropeEqualsFile -> equalsFile, no more max rope component length
read file data in bigger blocks, avoiding lots of file api calls

also removed crc step - seems easier to simply compare the bytes rather
than calculating two crc's
2015-04-01 22:32:15 +08:00
Jacek Sieka
80ee28daf7 compiler_ropes: add & and add
Invokations still need to be updated, but that's a lot of changes, so
save for later
2015-04-01 22:32:15 +08:00
Jacek Sieka
c40249cd43 compiler_ropes: ropeToStr -> $ 2015-04-01 22:32:15 +08:00
Jacek Sieka
b4e4ea8d1b compiler_ropes: don't expose newRope 2015-04-01 22:30:39 +08:00
Jacek Sieka
97d2df9bac compiler_ropes: ropeLen -> len 2015-04-01 22:30:39 +08:00
Araq
57fa8c6d3f bugfixes for C++ codegen 2015-04-01 15:34:15 +02:00
Araq
edc4940c26 doc updates; fixes 'inc' for 'char' 2015-03-29 13:16:22 +02:00
def
d4a1641054 Fix installer path for nim.nim.cfg 2015-03-28 15:08:29 +01:00
def
07351d5f37 Initialize c compiler variables later ...
... so that symbols such as "cpp" are defined

Fixes #1460
2015-03-28 15:07:55 +01:00
Araq
165619552a fixes #2355 2015-03-28 00:47:03 +01:00
Araq
2b80d75aa2 fixes #2420; negative indexing for slicing is obsolete (breaking change!) 2015-03-28 00:15:04 +01:00
Araq
46fb0e0bac fixes another regression 2015-03-27 11:57:03 +01:00
Billingsly Wetherfordshire
1ba785dd74 set type for symbols from getType() 2015-03-27 01:43:28 -05:00