Commit Graph

14 Commits

Author SHA1 Message Date
Nathan Braswell
378a81602a Add in signed and unsigned mul div, and add a mod 2018-03-12 20:17:26 -04:00
Nathan Braswell
ef516891ca add xor 2018-03-12 00:43:51 -04:00
Nathan Braswell
5464555e0d addressof, dereference, and [] implemented 2018-03-10 15:32:51 -05:00
Nathan Braswell
3c4b1864c7 Add in addi to reduce use of imm, add and or and not to put in negate/subtract (might need it's own opcode, really) as well as and or and not themselves 2018-03-10 00:27:16 -05:00
Nathan Braswell
55a448a3b5 Small work towards operators. + workes now 2018-03-08 23:25:48 -05:00
Nathan Braswell
fc67aa7ce8 Added support for parameters 2018-03-07 22:57:46 -05:00
Nathan Braswell
8da84b56c2 working bytecode with call and a real stack and psudo abi. Found a bug where -= doesn't behave correctly when the lhs is a function returning a reference because it's lowered to a = a - b where a is the same ast_node, I think 2018-03-07 01:58:19 -05:00
Nathan Braswell
5b46089694 Stop declaring variable before assignment - i don't think necessary for recursive closure, def not in current code, and messes up globals with values 2018-03-06 23:30:00 -05:00
Nathan Braswell
8a22263b1d make JNZ JZ (if was backwards, and this is more convient right now 2018-02-27 21:41:57 -05:00
Nathan Braswell
dad97a25a5 If statements work with the addition of jmp and jnz 2018-02-27 21:27:29 -05:00
Nathan Braswell
adcebb3284 Move towards more legit stack setup api and registers as registers 2018-02-27 23:53:08 +00:00
Nathan Braswell
00bb4e928c Can eval basic block with variables and return 2018-02-03 22:47:21 -05:00
Nathan Braswell
aad363f631 Bytecode work 2018-02-03 18:53:13 -05:00
Nathan Braswell
7850f11297 very basic groundwork for bytecode 2018-02-02 00:26:31 -05:00