Commit Graph

1136 Commits

Author SHA1 Message Date
Irmen de Jong
bcc75732e9 optimize asm jsr+rts into jmp 2020-03-23 23:51:27 +01:00
Irmen de Jong
50a85ee6b0 attempt to optimize asm for bitshifts more. 2020-03-23 22:59:29 +01:00
Irmen de Jong
2c7424fd43 fix: datatype mismatch in optimized bitshift const value 2020-03-23 22:35:23 +01:00
Irmen de Jong
7426587c38 fix: add proper return statement type cast if needed, now also for non constant values 2020-03-23 19:49:11 +01:00
Irmen de Jong
1f39749a5e tweak bitshift asm 2020-03-23 17:35:58 +01:00
Irmen de Jong
ca63051c71 replaced todo's that aren't real todo's with regular exception 2020-03-23 13:00:44 +01:00
Irmen de Jong
6dd44aaf0d compiler main cleanup 2020-03-23 02:54:04 +01:00
Irmen de Jong
f89457ba68 fixed var initialization bug in anonymous scopes 2020-03-23 02:09:30 +01:00
Irmen de Jong
efef205fcf doc 2020-03-23 01:24:54 +01:00
Irmen de Jong
0c561d8528 fixed subroutine parameter value issue 2020-03-23 00:13:46 +01:00
Irmen de Jong
8bfa2c4c02 proper initialization of block-level global variables 2020-03-22 22:47:05 +01:00
Irmen de Jong
f0d4c3aba9 moved initialvalues to asmgen, fixed sgn bug and internal float 0.0 variable disappearing bug 2020-03-22 18:17:12 +01:00
Irmen de Jong
3a99115070 Initial variable values semantics changed: now always sets value at program (re)start (except strings/arrays).
This may change later by introducing a compiler option to choose a strategy, perhaps.
2020-03-22 15:12:26 +01:00
Irmen de Jong
7232134931 fix some compiler errors 2020-03-22 13:47:13 +01:00
Irmen de Jong
954e911eb3 optimized zeros array initializer 2020-03-22 02:58:51 +01:00
Irmen de Jong
63c073c93f got rid of the Simulator / AST VM 2020-03-22 02:50:34 +01:00
Irmen de Jong
78feef9d59 simplified handling of initial vardecl values in codegeneration 2020-03-22 02:45:42 +01:00
Irmen de Jong
4fbdd6d570 fix ubyte number print bug for 100-109 and 200-209 missing the tens digit 2020-03-22 01:49:05 +01:00
Irmen de Jong
4929c198ba tweak error reporting, expanded lines and circles example 2020-03-22 00:43:46 +01:00
Irmen de Jong
9409f17372 bugfixes in new optimization routines 2020-03-21 23:09:18 +01:00
Irmen de Jong
43781c02d0 tweaked ast modifications 2020-03-21 18:42:40 +01:00
Irmen de Jong
824f06e17f new var init values 2020-03-21 14:54:19 +01:00
Irmen de Jong
21dbc6da97 doc 2020-03-21 12:51:32 +01:00
Irmen de Jong
270ea54ff7 now properly compile assignment of struct literal value to struct variable (outside of vardecl) 2020-03-21 00:57:20 +01:00
Irmen de Jong
771ac7aba7 error when struct literal value element count doesn't match struct members in assignment 2020-03-20 23:14:03 +01:00
Irmen de Jong
97d36243f2 don't include the generated parser java files in git 2020-03-20 22:53:56 +01:00
Irmen de Jong
511b47bac4 fix compiler crash when initializing struct var with something other than a struct literal 2020-03-20 22:48:33 +01:00
Irmen de Jong
f265199fbe replaced typecastsAdder with version based on astwalker 2020-03-20 22:28:18 +01:00
Irmen de Jong
a191ec71a4 this is not modifying the ast 2020-03-19 23:16:58 +01:00
Irmen de Jong
82dce2dd53 added Foreverloop statement to the ast simulator 2020-03-19 22:45:27 +01:00
Irmen de Jong
29ac160811 applying new astwalker for modifications 2020-03-19 22:40:49 +01:00
Irmen de Jong
5e50ea14f8 applying new astwalker for modifications 2020-03-19 21:30:01 +01:00
Irmen de Jong
40e6091506 new astvisitor tryout 2020-03-19 00:01:57 +01:00
Irmen de Jong
0ee4d420b1 slight tweaks on the Ast, Program (the top level) is now a Node as well 2020-03-18 22:29:30 +01:00
Irmen de Jong
66acce9e8e doc 2020-03-15 01:49:16 +01:00
Irmen de Jong
6c23ae14ab ver 2020-03-15 01:37:01 +01:00
Irmen de Jong
6f000d0d26 fix datatype warning 2020-03-15 01:14:44 +01:00
Irmen de Jong
9d7eb3be5a fix error reporting of constantfolding, and number of errors printed 2020-03-15 01:10:08 +01:00
Irmen de Jong
835555171e fix function call arg type mismatch crash 2020-03-15 00:50:59 +01:00
Irmen de Jong
68ce4a1bf0 labels are now prefixed with underscore in assembly to fix undefined symbol errors from the assembler 2020-03-15 00:23:54 +01:00
Irmen de Jong
a995867deb added check for duplicate label definitions 2020-03-15 00:16:50 +01:00
Irmen de Jong
6bd99d63b4 cleanup of error reporting 2020-03-14 23:47:26 +01:00
Irmen de Jong
baf5d3041a cleanup of error reporting 2020-03-14 23:15:44 +01:00
Irmen de Jong
a326ffa00a added warning about sgn() of unsigned type 2020-03-14 21:09:34 +01:00
Irmen de Jong
d28dd92b47 refreshed examples 2020-03-14 18:11:38 +01:00
Irmen de Jong
1de328b2e8 added forever-loop and optimizer 2020-03-14 18:11:04 +01:00
Irmen de Jong
51bb902162 added bresenham and circle example 2020-03-14 17:11:10 +01:00
Irmen de Jong
4fd14f1366 doc updates 2020-03-14 15:20:04 +01:00
Irmen de Jong
91d9559f79 avoid pulling in the dbus libraries for now 2020-03-14 14:40:39 +01:00
Irmen de Jong
3245a9b157 restricted block to only directive/subroutine/vardecl/inlineasm 2020-03-14 14:20:55 +01:00