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