Commit Graph

188 Commits

Author SHA1 Message Date
Irmen de Jong
f82ceab969 more optimizations 2018-01-29 21:36:01 +01:00
Irmen de Jong
2a662ba256 more optimizations 2018-01-28 23:13:29 +01:00
Irmen de Jong
197a4e503e improved const var evaluation, more tests, added const_num_val() on certain nodes 2018-01-27 01:07:00 +01:00
Irmen de Jong
baf3adfa8a more optimizations 2018-01-24 01:27:38 +01:00
Irmen de Jong
31c6186245 zero division checks and more optimizations 2018-01-24 00:41:50 +01:00
Irmen de Jong
6573368a69 more semantic checks and codegen 2018-01-23 22:47:35 +01:00
Irmen de Jong
fbf52d773f various fixes 2018-01-21 18:17:39 +01:00
Irmen de Jong
ab71a15007 optimizer 2018-01-21 13:38:53 +01:00
Irmen de Jong
eb58119b97 compiler 2018-01-21 03:44:04 +01:00
Irmen de Jong
3ea0723c3e compiler 2018-01-21 01:32:50 +01:00
Irmen de Jong
67f1941766 expressions 2018-01-18 23:42:07 +01:00
Irmen de Jong
861379c4d7 generalized Ast node tree by giving all classes .nodes attribute 2018-01-18 22:31:16 +01:00
Irmen de Jong
9b77dcc6b8 more semantic code checks 2018-01-16 01:47:55 +01:00
Irmen de Jong
db97be69fe fix subroutine usage scanning 2018-01-15 21:12:17 +01:00
Irmen de Jong
8fc6a5ada9 convert bool to 1/0 and single char to byte 2018-01-15 02:26:36 +01:00
Irmen de Jong
afc4ba8ff0 fixed a bunch of issues 2018-01-15 00:46:27 +01:00
Irmen de Jong
10d0dbe80b improved sourceref column calculation when dealing with tabs, added more error checks 2018-01-14 18:02:39 +01:00
Irmen de Jong
07387f501a restructure code generator 2018-01-14 15:18:50 +01:00
Irmen de Jong
ee9a5716b0 vars init 2018-01-14 02:32:03 +01:00
Irmen de Jong
faa08133a8 memset fixed 2018-01-13 22:42:07 +01:00
Irmen de Jong
1990f75e98 removed most old stuff 2018-01-13 16:20:26 +01:00
Irmen de Jong
7218c17689 var inits 2018-01-13 16:02:41 +01:00
Irmen de Jong
1df28c8091 var dimensions check 2018-01-13 02:13:32 +01:00
Irmen de Jong
62dfdace71 zp variable allocation 2018-01-13 01:19:45 +01:00
Irmen de Jong
e6804b2bf9 symbol table fixes 2018-01-12 23:54:50 +01:00
Irmen de Jong
614f90fc35 tweaks 2018-01-12 00:55:47 +01:00
Irmen de Jong
534bf2f252 codegen vars 2018-01-11 23:46:31 +01:00
Irmen de Jong
29060f3373 expression 2018-01-10 23:45:10 +01:00
Irmen de Jong
0bb5f98768 code generation 2018-01-10 00:12:25 +01:00
Irmen de Jong
14e36a8708 code generation v2 started 2018-01-09 21:38:19 +01:00
Irmen de Jong
b8506ee7d4 optimize, tests, refactor 2018-01-09 00:05:55 +01:00
Irmen de Jong
7d8c2bf161 optimize 2018-01-08 03:18:38 +01:00
Irmen de Jong
12c3ddd207 renames 2018-01-07 23:48:31 +01:00
Irmen de Jong
68c1d2af4c comp 2018-01-07 20:39:39 +01:00
Irmen de Jong
9b68722df3 attr 2018-01-07 14:38:52 +01:00
Irmen de Jong
18526469ed plyparsing more or less done 2018-01-07 04:39:21 +01:00
Irmen de Jong
16b95cf3e9 plyparsing more or less done 2018-01-07 04:01:06 +01:00
Irmen de Jong
d9c62c2149 endl parsing 2018-01-06 04:13:21 +01:00
Irmen de Jong
d92f91f22f fix syntax errors 2018-01-05 20:48:34 +01:00
Irmen de Jong
c587125674 print parse tree 2018-01-05 02:41:38 +01:00
Irmen de Jong
3c70790fbf ply 2018-01-04 04:53:15 +01:00
Irmen de Jong
6511283bb8 refactor 2018-01-02 02:19:34 +01:00
Irmen de Jong
8a99844140 register preserve is no longer the default 2018-01-01 23:24:39 +01:00
Irmen de Jong
5bfca554a4 shifting by more than 1 bit possible 2018-01-01 18:57:12 +01:00
Irmen de Jong
57bc7d49bc incr decr fixes 2018-01-01 18:09:59 +01:00
Irmen de Jong
aa2f3dd169 screen scroll 2018-01-01 16:41:08 +01:00
Irmen de Jong
50db122525 multiple parse errors 2018-01-01 05:49:12 +01:00
Irmen de Jong
6922ea2a0b float incr/decr 2018-01-01 05:17:16 +01:00
Irmen de Jong
3dcfa42574 float incr/decr by 1 2017-12-31 16:07:52 +01:00
Irmen de Jong
3b0d6e969b ast refactor 2017-12-31 04:45:27 +01:00
Irmen de Jong
1ab253b4a1 ast refactor 2017-12-31 04:10:27 +01:00
Irmen de Jong
2f6ef28c80 rename 2017-12-31 03:30:38 +01:00
Irmen de Jong
a5283bfc7b allow floats in ZP, if_pos and if_neg added, ZP allocations more flexible 2017-12-31 00:54:06 +01:00
Irmen de Jong
e67e4c0b13 allow just ? in sub return spec 2017-12-30 21:36:42 +01:00
Irmen de Jong
be40cdd8aa math 2017-12-30 20:03:19 +01:00
Irmen de Jong
a7465f480a various 2017-12-30 16:28:36 +01:00
Irmen de Jong
a5b4849058 fixes 2017-12-29 14:17:51 +01:00
Irmen de Jong
52d685b0fc fix clobberzp and zp config only once 2017-12-29 12:34:09 +01:00
Irmen de Jong
739f5b9659 fix reg2reg and incr decr 16 bits 2017-12-29 02:30:21 +01:00
Irmen de Jong
68a3b34374 fix 16 bit inc dec 2017-12-29 01:16:39 +01:00
Irmen de Jong
e30ba696db options 2017-12-29 00:36:35 +01:00
Irmen de Jong
5e16b82418 fixing conditional calls 2017-12-28 22:27:13 +01:00
Irmen de Jong
4e4baff9e0 augmented assignments 2017-12-28 04:33:55 +01:00
Irmen de Jong
ff39d15a01 fix conditional expression parse 2017-12-28 01:00:34 +01:00
Irmen de Jong
e1ef9ff611 unary operator ~ (bitwise invert) 2017-12-28 00:44:17 +01:00
Irmen de Jong
f5c7573fb3 Vice labels and breakpoints 2017-12-27 23:46:56 +01:00
Irmen de Jong
44065597ff conditional gotos 2017-12-27 21:19:57 +01:00
Irmen de Jong
a3faf07c8c if statement 2017-12-27 12:57:42 +01:00
Irmen de Jong
be76d3321b fix return value clobbering 2017-12-26 01:55:29 +01:00
Irmen de Jong
4a9d3200cd fixed arg parsing 2017-12-25 23:54:10 +01:00
Irmen de Jong
c78cbc4a33 add SI register 2017-12-25 21:43:06 +01:00
Irmen de Jong
a0a561cfb6 avoid needless saving of A register 2017-12-25 19:24:22 +01:00
Irmen de Jong
afaf8e9beb subroutine usage tracking 2017-12-25 19:09:10 +01:00
Irmen de Jong
ad1e3cedd7 docs 2017-12-25 16:00:25 +01:00
Irmen de Jong
bca33f8765 optimization for subs 2017-12-25 14:04:37 +01:00
Irmen de Jong
b4d82ba8e6 float assign improvements 2017-12-25 12:58:52 +01:00
Irmen de Jong
468c080859 sub improvements 2017-12-25 03:42:20 +01:00
Irmen de Jong
548f4fc2c6 float type improvements 2017-12-25 02:29:14 +01:00
Irmen de Jong
d0f5a9789b fix call parameters to be inside reg preserve logic 2017-12-25 02:07:17 +01:00
Irmen de Jong
4025d44b74 subroutines and assignment changes 2017-12-25 01:22:54 +01:00
Irmen de Jong
63aa3cae8c subroutines 2017-12-24 01:32:38 +01:00
Irmen de Jong
37f049ee54 changes to call 2017-12-23 23:30:55 +01:00
Irmen de Jong
fbb4ba4bd8 fix jump jsr/rts 2017-12-23 02:41:41 +01:00
Irmen de Jong
fdf9054b99 restructure indirect values 2017-12-23 01:53:48 +01:00
Irmen de Jong
504ee1a880 various fixes 2017-12-22 01:37:40 +01:00
Irmen de Jong
2110e7afef parsing now uses preprocessed symbol table and no longer fixes placeholders in the second parse phase 2017-12-21 22:16:46 +01:00
Irmen de Jong
cfb21d7f4f remove excessive warnings in preprocess 2017-12-21 15:12:24 +01:00
Irmen de Jong
a228bcd8fc initial 2017-12-21 14:52:30 +01:00