Commit Graph

213 Commits

Author SHA1 Message Date
d5f480d763 dataflow update 2021-01-31 16:21:03 +01:00
c4382aae38 rework DataFlowGraph 2021-01-31 15:55:54 +01:00
6aa3976468 make use of iterable interface for graphs 2021-01-31 14:40:17 +01:00
e607fe82ce LivenessAnalysis test 2021-01-31 14:24:00 +01:00
bf998e9d91 LivenessAnalysis test 2021-01-31 14:23:46 +01:00
48f57439d8 rearrange FlowGraphGeneratorTest 2021-01-31 14:23:34 +01:00
4ae059004f env update 2021-01-30 16:59:38 +01:00
1326e3b6cc fix printing bug when graph empty 2021-01-30 16:59:31 +01:00
70d05ad05f refactor liveness analysis 2021-01-30 16:59:15 +01:00
2a1246d2fb bufixes when printing to image 2021-01-30 16:06:18 +01:00
e79980479f bufixes with printing to image 2021-01-30 15:30:46 +01:00
6e7208e6d3 bufixes with goto-successors, empty block removal 2021-01-30 15:30:24 +01:00
3a355d9224 decrease main class 2021-01-29 22:05:38 +01:00
290d4f1ff6 pipe picture output through logger 2021-01-29 21:55:21 +01:00
3ec67234f3 horrible messy liveness analysis, will be redone 2021-01-29 21:54:32 +01:00
96fc8cc654 pretty shitty dataflow graph, will be redone 2021-01-29 21:54:07 +01:00
525f021add renaming and FlowGraph Update 2021-01-29 21:53:38 +01:00
c25c6e0d45 renaming and FlowGraph Update 2021-01-29 21:53:33 +01:00
6ae06c9f63 renaming and FlowGraph Update 2021-01-29 21:53:27 +01:00
eac739d07c env upd 2021-01-29 21:52:23 +01:00
01aa31da82 add predecessor and successor data to srcgraph + graphviz dot export 2021-01-28 21:53:36 +01:00
5cc40964b6 add CodeGenerator 2021-01-28 16:49:22 +01:00
c29c807861 renamings 2021-01-28 13:08:44 +01:00
fd483811b9 First flowgraph? 2021-01-28 11:49:15 +01:00
a027e449cf fix unary operator bug in stacksize determination 2021-01-23 20:56:44 +01:00
fab8881947 determine stack size simply by trying 2021-01-23 20:43:19 +01:00
60452b3713 flip commutative exprs for stack efficiency 2021-01-23 18:36:03 +01:00
4f9c4364e5 empty file case 2021-01-22 22:08:08 +01:00
9060cd81ea new tests 2021-01-22 22:07:39 +01:00
88eae33df4 fix empty file case 2021-01-22 22:07:16 +01:00
c99de7dcc5 implement loop generation 2021-01-22 17:56:12 +01:00
763f58b09a linenums 2021-01-22 17:04:31 +01:00
e2d670bdba add + improve comparison codegen 2021-01-22 17:04:23 +01:00
f65cd86f32 fix bug where both children were removed if they had the same identity 2021-01-22 17:03:59 +01:00
3d40e93fdc more expressive undefined error 2021-01-22 16:44:06 +01:00
ad7e86df24 changed bytecode version + bool exprs 2021-01-22 16:43:56 +01:00
c61c8dcb22 add more expressive message for undefined variable 2021-01-22 16:43:29 +01:00
3990cb0d29 linenums 2021-01-22 13:50:30 +01:00
7212dd8180 add support for AND, NOT, OR in exprs 2021-01-22 13:50:18 +01:00
27201dfd0d correct indentation in .j 2021-01-22 13:05:52 +01:00
1d4aa6aca2 add support for string, boolean literals + identifiers 2021-01-22 12:53:36 +01:00
67a708b9d3 use condegen instance again instead of static => cleanup method arguments 2021-01-22 12:19:10 +01:00
246169307a many tests for logic + ifelse (not implemented) 2021-01-21 23:48:36 +01:00
7d70d480eb initial support for if 2021-01-21 22:52:14 +01:00
25a9bf6388 return nodetable from typecheck 2021-01-21 22:51:46 +01:00
925e8d42d0 return nodetable from typecheck 2021-01-21 22:51:35 +01:00
1e22630d14 return nodetable from typecheck 2021-01-21 22:51:20 +01:00
c28ed1ac32 fix a = a / a = b assignment bug 2021-01-21 22:51:02 +01:00
498b903800 remove 1 test 2021-01-21 19:03:11 +01:00
b703ae2b31 add unary codegen for +, - 2021-01-21 19:03:04 +01:00