Commit Graph

70 Commits

Author SHA1 Message Date
069f6ea372 improved assignment of single character values and strings 2018-11-22 00:58:21 +01:00
d6432df90d got rid of 16-bit register pair variables (AX, AY, XY) they were complicating things too much 2018-11-02 22:06:57 +01:00
5bf2c4a798 got rid of matrix type 2018-10-30 20:29:03 +01:00
1fea9e3bc4 matrix doc 2018-10-27 22:16:18 +02:00
a825bbff96 fix array problems, limit size of arrays. 2018-10-23 00:52:51 +02:00
ba384c9722 rsave/rrestore added 2018-10-14 22:32:03 +02:00
b52120139c 6502 start 2018-10-14 01:55:39 +02:00
987915a77a doc 2018-10-12 18:01:40 +02:00
7aec14524e fix datatype conversion issues 2018-10-12 15:50:32 +02:00
f5261a3425 added %zpreserved 2018-10-09 00:01:53 +02:00
42394f561b syntax checks on asmsubs 2018-10-08 22:35:39 +02:00
34d26e42e1 fixed some type checks 2018-10-07 02:05:26 +02:00
30b58c8567 variables are reset to their declared value when entering the scope again 2018-10-07 00:21:13 +02:00
6edd5f9b30 can now declare for loop variable on the spot 2018-10-06 22:54:03 +02:00
1d37841575 for, while, repeat, if, branch bodies are now (anonymous) symbol scopes 2018-10-06 18:42:06 +02:00
a7abc32368 wrd and wrdhi functions added for byte-word conversion, more constant folding optimizations 2018-10-06 00:10:30 +02:00
42e4891fcf allowing vardecl with non-const initial value assignment 2018-10-05 00:29:46 +02:00
4501276217 cube3d and tweaks 2018-10-03 01:57:16 +02:00
38e7d48492 implemented floating-point arrays 2018-10-02 02:20:42 +02:00
0cdae48ce7 implemented array indexing 2018-10-01 22:23:16 +02:00
623b42cc14 added single character literals (petscii byte value) 2018-09-30 23:07:26 +02:00
3278d4c945 fixed function calls, added some string-to-number conversion functions 2018-09-30 22:43:34 +02:00
02075f2cf2 changed subroutine syntax and fixed array/matrix initalizer values 2018-09-30 18:49:58 +02:00
c5d251073f removed broken unused symbol clean up for now
streamlined irq routine handling and compilation
2018-09-28 21:28:16 +02:00
bf5c2e07a2 subroutines cannot use builtin function names for parameters 2018-09-27 23:58:14 +02:00
91f9229b07 fixed memory vars in compiler, added invalid assignment check 2018-09-27 23:21:04 +02:00
53cd50ad48 changed float handling and appropriate compiler messages 2018-09-25 19:52:59 +02:00
70e5a38aa2 changed set/clear carry and irqd somewhat 2018-09-24 23:38:33 +02:00
cef0aae927 compilation of builtin functions to opcode
untit tests for stackvm opcodes, value and parser literalvalue
2018-09-24 22:34:12 +02:00
68037e4425 implemented while and repeat loops 2018-09-23 02:04:45 +02:00
f84e06bdeb tweak branches 2018-09-22 00:33:25 +02:00
455f60fb84 for loop and comparison expression fixes 2018-09-20 01:13:21 +02:00
cba9e7670e added floordivision operator // 2018-09-19 01:24:28 +02:00
00d74551b3 fix for loop code generation.
added flt conversion function.
attempt at implementing break and continue.
var initializer value can be omitted for numeric vars (and default to 0)
subroutine return statement not needed when no return values.
2018-09-18 23:14:32 +02:00
63492a1805 stackvm functions 2018-09-18 00:38:29 +02:00
266f98a888 doc 2018-09-16 11:25:37 +02:00
2591f4e27e forloop in grammar 2018-09-16 03:00:32 +02:00
19cedf91ff prog8 logos 2018-09-16 01:28:07 +02:00
1a40a88103 added remainder operator '%' 2018-09-16 00:59:12 +02:00
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
c05cd72d23 vm tweaks 2018-09-15 18:43:23 +02:00
e382be89db changed source file suffix to .p8 2018-09-15 16:35:15 +02:00
8ff72167a4 renamed project to Prog8 2018-09-15 16:21:05 +02:00
6da048ba4c some type conversion opcodes added 2018-09-15 04:07:42 +02:00
70fe43a6ac improved type checking of builtin functions 2018-09-15 03:12:30 +02:00
28aaf38f22 made position required to avoid some bugs where it was not specified
fixed some type checking bugs
2018-09-15 01:28:01 +02:00
ea94063689 now explicit separation between byte and word literal integers 2018-09-13 23:39:54 +02:00
949e468543 more stackvm opcodes, and sort of finished the stackvm compiler 2018-09-13 03:16:44 +02:00
efd3b1f5c6 matrix decl parsing and fixes 2018-09-12 03:07:49 +02:00
8ef61ffc88 various syntax checks added
first steps code generation
2018-09-08 00:07:25 +02:00