Commit Graph

4409 Commits

Author SHA1 Message Date
Irmen de Jong
70fe43a6ac improved type checking of builtin functions 2018-09-15 03:12:30 +02:00
Irmen de Jong
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
Irmen de Jong
ba81f32080 expression datatype checks improvements 2018-09-14 19:38:22 +02:00
Irmen de Jong
3228fa4c76 stuff 2018-09-14 01:24:12 +02:00
Irmen de Jong
ea94063689 now explicit separation between byte and word literal integers 2018-09-13 23:39:54 +02:00
Irmen de Jong
949e468543 more stackvm opcodes, and sort of finished the stackvm compiler 2018-09-13 03:16:44 +02:00
Irmen de Jong
efd3b1f5c6 matrix decl parsing and fixes 2018-09-12 03:07:49 +02:00
Irmen de Jong
e71fef709a screen added to vm, some new opcodes 2018-09-11 23:44:07 +02:00
Irmen de Jong
af7103f0f7 screen 2018-09-08 17:21:22 +02:00
Irmen de Jong
8ef61ffc88 various syntax checks added
first steps code generation
2018-09-08 00:07:25 +02:00
Irmen de Jong
e928997193 arrays are now a datatype as well
fixed array initializer checks
2018-09-06 22:28:37 +02:00
Irmen de Jong
3933fdab13 added lsb, msb functions.
fixed missing errormessages.
changed some zp options.
2018-09-06 21:13:49 +02:00
Irmen de Jong
0b4135698e reorder statments to please the compiler later 2018-09-06 01:35:26 +02:00
Irmen de Jong
1a60119fde check assignment targets 2018-09-06 01:02:36 +02:00
Irmen de Jong
f23808eaae improve undefined symbol error reporting 2018-09-06 00:08:16 +02:00
Irmen de Jong
831d41dbc6 fix symbol usage tracking, also track scopes themselves.
Fix directive option comparisons.
Vars cannot overwrite builtin functions.
2018-09-05 23:14:08 +02:00
Irmen de Jong
28ab7bbe34 fix symbol usage tracking, also track scopes themselves. Fix directive option comparisons. 2018-09-05 23:07:23 +02:00
Irmen de Jong
cd6327850e improve datatype checks, auto convert some value types 2018-09-05 02:23:49 +02:00
Irmen de Jong
a81c1485d7 fix globalnamespace after change 2018-09-05 00:11:52 +02:00
Irmen de Jong
d9865a4b97 bunch of new builtin functions, const expression evaluation now also done for array literals 2018-09-04 23:37:21 +02:00
Irmen de Jong
76d07a2de8 recursion checking and bugfix in subroutine usage determination 2018-09-03 23:19:25 +02:00
Irmen de Jong
6ed6a3a552 stackvm program parser 2018-09-03 15:36:19 +02:00
Irmen de Jong
6d7d5a4d13 tweaks 2018-09-03 00:30:11 +02:00
Irmen de Jong
e39ae3c346 branching instructions 2018-09-02 18:32:48 +02:00
Irmen de Jong
492c64f348 vm stuff 2018-09-02 16:38:18 +02:00
Irmen de Jong
d4341b7afe more builtin functions 2018-09-02 12:34:50 +02:00
Irmen de Jong
dc3095956a parent now lateinit (not-null) 2018-09-01 23:24:25 +02:00
Irmen de Jong
6701f2a3a4 fix lib and gitignore 2018-09-01 20:38:01 +02:00
Irmen de Jong
640457f35a stuff 2018-09-01 19:40:28 +02:00
Irmen de Jong
3e11d45883 removal of unused nodes 2018-09-01 00:03:32 +02:00
Irmen de Jong
cc73d90d6e cbm charset codecs, name checking 2018-08-31 18:36:13 +02:00
Irmen de Jong
bc558019ee fix float generation 2018-08-31 00:08:47 +02:00
Irmen de Jong
8368633ed2 mflpt5 but not correct yet 2018-08-17 01:47:07 +02:00
Irmen de Jong
26a7a3c8d0 zeropage 2018-08-16 23:10:28 +02:00
Irmen de Jong
4dc594a046 setup for compilation 2018-08-16 18:32:05 +02:00
Irmen de Jong
f98b9c3cb9 fix import losing statements 2018-08-16 17:08:26 +02:00
Irmen de Jong
d28ce881e4 restructure 2018-08-16 16:35:16 +02:00
Irmen de Jong
b6ea33efa3 error reporting improved 2018-08-16 15:55:56 +02:00
Irmen de Jong
50bbbc67e2 range initializers 2018-08-14 16:46:34 +02:00
Irmen de Jong
4b7d656a2f range initializers 2018-08-14 16:29:08 +02:00
Irmen de Jong
397fdc61cd if statement 2018-08-14 14:33:36 +02:00
Irmen de Jong
bd6a05df73 names 2018-08-14 13:08:27 +02:00
Irmen de Jong
69ff680eaf fix functions 2018-08-14 02:22:59 +02:00
Irmen de Jong
666b9b2263 functions 2018-08-14 01:15:11 +02:00
Irmen de Jong
74fd5d29b8 evals 2018-08-14 00:27:43 +02:00
Irmen de Jong
4c250fdc17 namespaces 2018-08-13 20:28:15 +02:00
Irmen de Jong
0b8e3183b7 import lib paths 2018-08-13 12:08:30 +02:00
Irmen de Jong
8974a9cc2d duplicate label check 2018-08-13 11:34:14 +02:00
Irmen de Jong
dcab0d1e98 refactor interface 2018-08-13 11:01:37 +02:00
Irmen de Jong
64032d766e %option 2018-08-13 10:51:05 +02:00