Commit Graph

25 Commits

Author SHA1 Message Date
Irmen de Jong
34dec55eb2 fix builtin functions over non-const arrays/strings 2018-09-29 19:17:19 +02:00
Irmen de Jong
6b89bb7be5 strings and arrays are now stored in a 'heap' instead of in the value itself, to reflect how the target platform will store them 2018-09-29 17:33:59 +02:00
Irmen de Jong
1c036c4813 translating subroutine calls and returns 2018-09-28 02:26:56 +02:00
Irmen de Jong
bf5c2e07a2 subroutines cannot use builtin function names for parameters 2018-09-27 23:58:14 +02:00
Irmen de Jong
5e729e21ff added some more constant foldings 2018-09-27 01:35:35 +02:00
Irmen de Jong
f85d8edeba added some more division by zero checks
bitwise operator optimizations
2018-09-25 22:16:32 +02:00
Irmen de Jong
53cd50ad48 changed float handling and appropriate compiler messages 2018-09-25 19:52:59 +02:00
Irmen de Jong
70e5a38aa2 changed set/clear carry and irqd somewhat 2018-09-24 23:38:33 +02:00
Irmen de Jong
cef0aae927 compilation of builtin functions to opcode
untit tests for stackvm opcodes, value and parser literalvalue
2018-09-24 22:34:12 +02:00
Irmen de Jong
68037e4425 implemented while and repeat loops 2018-09-23 02:04:45 +02:00
Irmen de Jong
4174d49fb3 for loop generates working code for the most often occurring loop scenarios 2018-09-22 02:43:10 +02:00
Irmen de Jong
f84e06bdeb tweak branches 2018-09-22 00:33:25 +02:00
Irmen de Jong
455f60fb84 for loop and comparison expression fixes 2018-09-20 01:13:21 +02:00
Irmen de Jong
b72bd805e1 sub decl checking 2018-09-19 02:41:35 +02:00
Irmen de Jong
cba9e7670e added floordivision operator // 2018-09-19 01:24:28 +02:00
Irmen de Jong
54aeee2676 for translation improvements 2018-09-17 22:22:41 +02:00
Irmen de Jong
dd96ef8ef2 simple for loop (with constant ranges) is now compiled 2018-09-16 22:00:19 +02:00
Irmen de Jong
326e5cd81a restructure compiler 2018-09-16 20:36:02 +02:00
Irmen de Jong
719a446d19 syntaxcheck for loop 2018-09-16 16:37:28 +02:00
Irmen de Jong
3c7a233b43 improved handling of range and range type checks 2018-09-16 15:40:28 +02:00
Irmen de Jong
2591f4e27e forloop in grammar 2018-09-16 03:00:32 +02:00
Irmen de Jong
1a40a88103 added remainder operator '%' 2018-09-16 00:59:12 +02:00
Irmen de Jong
3426593a06 fixed a load of type checks regarding arrays and matrixes and strings
added more builtin functions to the compiler to access the syscalls in the stackVm
2018-09-16 00:06:06 +02:00
Irmen de Jong
c05cd72d23 vm tweaks 2018-09-15 18:43:23 +02:00
Irmen de Jong
e382be89db changed source file suffix to .p8 2018-09-15 16:35:15 +02:00