Commit Graph

47 Commits

Author SHA1 Message Date
Parashurama
88a5e9d88c Fix operations on string as openarray in VM. (#6257)
* fix openarray.len for string as openArray in VM.
* fix openarray[idx] for string as openArray in VM.
* fix openarray[idx]=val for string as openArray in VM.
* add tests for passing string as openArray in VM.
* fix issue with NimNode.len
NimNode.len was also returning len for string literals.
also fix logic bug in if/elif chain.
2017-09-15 13:35:57 +02:00
Parashurama
f063943d5f Vm fix zero extend proc ze/ze64 && toU32/toU16/toU8 (#5988)
* fixes ze/ze64 procs in VM.
* fixes toU8/toU16/toU32.
* add tests for ze/ze64 toU32/toU16/toU8 procs
2017-08-03 10:58:45 +02:00
Arne Döring
52f092d02b Lineinfo change (#6084) 2017-07-17 08:12:15 +02:00
Araq
9d488261df added system.gorgeEx that includes the exitCode; refs #4874; fixes #1994 2017-01-07 02:38:26 +01:00
Araq
773d17cd14 big refactoring: step 1 2016-10-31 15:34:44 +01:00
Andreas Rumpf
60b187513e stdlib and compiler don't use .immediate anymore 2016-07-29 23:51:01 +02:00
Araq
695e2e970e implemented macros.getImpl 2015-08-21 02:34:34 +02:00
Adam Strzelecki
1a0417fbe0 macros: Introduce sameType(a, b) for node types
Previously introduced node comparison `==` was working somehow wrong on nodes
returned from getType(a), comparing just ids of the symbols.

Recently introduced `==` change 47dce26886
started comparing symbol nodes pointer-wise, thus strictly. Since getType(a)
always creates new symbol pointing to the type, comparing two such nodes using
`==` always returns false, even they point to the same type.

That is why we need a new sameType macro to be able to tell if these nodes
point to the same type.
2015-07-03 11:11:10 +02:00
Araq
17cace280c fixes #2297, fixes #2946 2015-06-18 15:06:00 +02:00
Araq
d3fc6e1f28 marshalling can be done at compile-time 2015-04-25 23:17:00 +02:00
Araq
7be092bba5 VM: minor fixes to make lexim work 2015-04-20 11:36:13 +02:00
Araq
903ca78289 fixes #1989 2015-02-01 11:58:41 +01:00
Araq
41587a5339 fixes #1781 2014-12-28 00:42:24 +01:00
Araq
b2f577df23 fixes #1473 2014-11-12 02:36:59 +01:00
Araq
1f85b3b5d3 VM supports math and a few os procs 2014-08-30 16:37:27 +02:00
Araq
c95e47216f Nimrod renamed to Nim 2014-08-28 10:01:20 +02:00
Dominik Picheta
25610a2f70 Fixes incorrect macro stack traces. 2014-08-11 20:47:38 +01:00
Araq
a7911addf7 parseBiggestFloat is now builtin 2014-07-16 00:41:03 +02:00
Araq
d0438540d0 implemented builtin noncopying slice 2014-05-02 08:44:03 +02:00
Araq
d15788d00a added #903 to the test suite 2014-03-26 01:00:34 +01:00
Araq
ee1192679e VM: endless loop prevention 2014-03-24 08:43:57 +01:00
Araq
e53fc91282 fixed tuples in a static context; preparations for correct compile time evaluation of integral ops 2014-03-22 02:52:06 +01:00
Araq
aa92669d92 fixes #937 2014-03-05 02:14:53 +01:00
Araq
c4f9c3b53e tstmtexprs.nim works again 2014-02-27 23:28:15 +01:00
Araq
0c31686fec new VM is getting stable 2014-02-24 01:30:40 +01:00
Araq
6e584c42c2 vm2: new representation of registers 2014-02-21 17:23:37 +01:00
Araq
0b8f68def0 tstringinterp almost working 2014-02-01 23:58:20 +01:00
Araq
438703f59e case consistency: next steps 2013-12-29 01:13:51 +01:00
Araq
f095e51275 more tests work 2013-12-13 21:29:35 +01:00
Araq
328f193292 new VM: globals kinda work 2013-12-13 01:21:23 +01:00
Araq
6db20a4be8 new VM: improvements 2013-12-12 01:34:01 +01:00
Araq
29357ab556 more tests are green 2013-12-08 01:47:07 +01:00
Araq
4ffe6a8282 new VM: passes more tests 2013-12-06 01:48:02 +01:00
Araq
9035d15ed2 next steps for FFI support 2013-11-25 13:04:11 +01:00
Araq
be45263623 jump optimizer works 2013-10-29 16:47:40 +01:00
Araq
b4e25a6372 new VM is getting stable 2013-10-29 01:07:59 +01:00
Araq
3d18053370 some complex macros work 2013-10-16 16:41:24 +02:00
Araq
6a9baf3fd7 compiler bootstraps with new VM 2013-10-15 08:06:54 +02:00
Araq
f9861e1fab cooler quote for c2nim 2013-10-10 00:45:15 +02:00
Araq
5f943cf4bc docgen: more newlines in the output to support primitive postprocessors 2013-08-29 23:18:02 +02:00
Araq
d18c82a9ef new VM: preparations for evalMacroCall 2013-08-11 18:48:33 +02:00
Araq
288cd05f89 new VM: register allocator bugfix; implemented more magics 2013-08-08 21:10:54 +02:00
Araq
aefa0da8a6 new VM: implemented constructors and jump optimizer 2013-08-07 01:40:08 +02:00
Araq
30bb68d48a new VM: next steps 2013-08-03 21:14:57 +02:00
Araq
ef975d277a new vm: further progress 2013-07-29 01:21:32 +02:00
Araq
27b7ecbbff new vm: lots of fixes 2013-07-27 01:28:31 +02:00
Araq
b30e237a37 first steps to a new evaluation engine 2013-07-24 21:39:39 +02:00