Irmen de Jong
|
30b58c8567
|
variables are reset to their declared value when entering the scope again
|
2018-10-07 00:21:13 +02:00 |
|
Irmen de Jong
|
6edd5f9b30
|
can now declare for loop variable on the spot
|
2018-10-06 22:54:03 +02:00 |
|
Irmen de Jong
|
1d37841575
|
for, while, repeat, if, branch bodies are now (anonymous) symbol scopes
|
2018-10-06 18:42:06 +02:00 |
|
Irmen de Jong
|
a7abc32368
|
wrd and wrdhi functions added for byte-word conversion, more constant folding optimizations
|
2018-10-06 00:10:30 +02:00 |
|
Irmen de Jong
|
6350bf8024
|
fixed datatype conversions
|
2018-10-05 17:44:29 +02:00 |
|
Irmen de Jong
|
42e4891fcf
|
allowing vardecl with non-const initial value assignment
|
2018-10-05 00:29:46 +02:00 |
|
Irmen de Jong
|
2e4b5768b0
|
tweak subroutine order
|
2018-10-04 20:54:18 +02:00 |
|
Irmen de Jong
|
4df397d057
|
merge asmsub and normal sub
|
2018-10-03 00:25:04 +02:00 |
|
Irmen de Jong
|
34fb82969c
|
optimize assignment with literal value; const-convert value to target datatype literal if possible
|
2018-10-02 23:10:27 +02:00 |
|
Irmen de Jong
|
18c6165325
|
more complete for loops, various comma separated lists can now be split over multiple lines
|
2018-10-02 22:52:05 +02:00 |
|
Irmen de Jong
|
af0d52b5c2
|
assignment to array-indexed
|
2018-10-02 04:05:44 +02:00 |
|
Irmen de Jong
|
38e7d48492
|
implemented floating-point arrays
|
2018-10-02 02:20:42 +02:00 |
|
Irmen de Jong
|
0cdae48ce7
|
implemented array indexing
|
2018-10-01 22:23:16 +02:00 |
|
Irmen de Jong
|
8f26fdef61
|
changed the syntax of kernel/asm subroutines
|
2018-10-01 20:05:32 +02:00 |
|
Irmen de Jong
|
623b42cc14
|
added single character literals (petscii byte value)
|
2018-09-30 23:07:26 +02:00 |
|
Irmen de Jong
|
3278d4c945
|
fixed function calls, added some string-to-number conversion functions
|
2018-09-30 22:43:34 +02:00 |
|
Irmen de Jong
|
734948c813
|
funcion call parameters are now checked against function signature
|
2018-09-30 20:58:47 +02:00 |
|
Irmen de Jong
|
d1589bef26
|
builtin funcs with multiple param types
|
2018-09-30 20:19:25 +02:00 |
|
Irmen de Jong
|
02075f2cf2
|
changed subroutine syntax and fixed array/matrix initalizer values
|
2018-09-30 18:49:58 +02:00 |
|
Irmen de Jong
|
505de87f27
|
builtin funcs
|
2018-09-30 16:25:00 +02:00 |
|
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 |
|