Commit Graph

38 Commits

Author SHA1 Message Date
Irmen de Jong
ca5f2f3607 constant folding is now also done in regular compiler not only when optimizing (it's too valuable to skip) 2018-02-07 23:29:56 +01:00
Irmen de Jong
7b2af25a42 much improved constant folding by actually evaluating const expressions 2018-02-07 23:01:47 +01:00
Irmen de Jong
76755cf57d stuff 2018-02-02 22:42:09 +01:00
Irmen de Jong
43a59817bf expression float consts 2018-02-02 00:12:17 +01:00
Irmen de Jong
dba4dd780a coerce values put back mostly 2018-02-01 01:56:36 +01:00
Irmen de Jong
f06721a4ce fixed ZP merge errors 2018-01-31 23:32:21 +01:00
Irmen de Jong
dd96cd506d fixed some optimization destroying parent 2018-01-31 01:38:55 +01:00
Irmen de Jong
9b23bfb85c builtin functions are now defined as BuiltinFunction in topmost scope 2018-01-30 22:30:05 +01:00
Irmen de Jong
d299742ddf fixed ast parent pointers 2018-01-30 01:38:37 +01:00
Irmen de Jong
4d70e3d42f more explicit use of Expression, fixed some optimizations 2018-01-29 23:39:01 +01:00
Irmen de Jong
f82ceab969 more optimizations 2018-01-29 21:36:01 +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
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