Commit Graph
100 Commits
Author SHA1 Message Date
ChUrl 3a355d9224 decrease main class 2021-01-29 22:05:38 +01:00
ChUrl 290d4f1ff6 pipe picture output through logger 2021-01-29 21:55:21 +01:00
ChUrl 3ec67234f3 horrible messy liveness analysis, will be redone 2021-01-29 21:54:32 +01:00
ChUrl 96fc8cc654 pretty shitty dataflow graph, will be redone 2021-01-29 21:54:07 +01:00
ChUrl 525f021add renaming and FlowGraph Update 2021-01-29 21:53:38 +01:00
ChUrl c25c6e0d45 renaming and FlowGraph Update 2021-01-29 21:53:33 +01:00
ChUrl 6ae06c9f63 renaming and FlowGraph Update 2021-01-29 21:53:27 +01:00
ChUrl eac739d07c env upd 2021-01-29 21:52:23 +01:00
ChUrl 01aa31da82 add predecessor and successor data to srcgraph + graphviz dot export 2021-01-28 21:53:36 +01:00
ChUrl 5cc40964b6 add CodeGenerator 2021-01-28 16:49:22 +01:00
ChUrl c29c807861 renamings 2021-01-28 13:08:44 +01:00
ChUrl fd483811b9 First flowgraph? 2021-01-28 11:49:15 +01:00
ChUrl a027e449cf fix unary operator bug in stacksize determination 2021-01-23 20:56:44 +01:00
ChUrl fab8881947 determine stack size simply by trying 2021-01-23 20:43:19 +01:00
ChUrl 60452b3713 flip commutative exprs for stack efficiency 2021-01-23 18:36:03 +01:00
ChUrl 4f9c4364e5 empty file case 2021-01-22 22:08:08 +01:00
ChUrl 9060cd81ea new tests 2021-01-22 22:07:39 +01:00
ChUrl 88eae33df4 fix empty file case 2021-01-22 22:07:16 +01:00
ChUrl c99de7dcc5 implement loop generation 2021-01-22 17:56:12 +01:00
ChUrl 763f58b09a linenums 2021-01-22 17:04:31 +01:00
ChUrl e2d670bdba add + improve comparison codegen 2021-01-22 17:04:23 +01:00
ChUrl f65cd86f32 fix bug where both children were removed if they had the same identity 2021-01-22 17:03:59 +01:00
ChUrl 3d40e93fdc more expressive undefined error 2021-01-22 16:44:06 +01:00
ChUrl ad7e86df24 changed bytecode version + bool exprs 2021-01-22 16:43:56 +01:00
ChUrl c61c8dcb22 add more expressive message for undefined variable 2021-01-22 16:43:29 +01:00
ChUrl 3990cb0d29 linenums 2021-01-22 13:50:30 +01:00
ChUrl 7212dd8180 add support for AND, NOT, OR in exprs 2021-01-22 13:50:18 +01:00
ChUrl 27201dfd0d correct indentation in .j 2021-01-22 13:05:52 +01:00
ChUrl 1d4aa6aca2 add support for string, boolean literals + identifiers 2021-01-22 12:53:36 +01:00
ChUrl 67a708b9d3 use condegen instance again instead of static => cleanup method arguments 2021-01-22 12:19:10 +01:00
ChUrl 246169307a many tests for logic + ifelse (not implemented) 2021-01-21 23:48:36 +01:00
ChUrl 7d70d480eb initial support for if 2021-01-21 22:52:14 +01:00
ChUrl 25a9bf6388 return nodetable from typecheck 2021-01-21 22:51:46 +01:00
ChUrl 925e8d42d0 return nodetable from typecheck 2021-01-21 22:51:35 +01:00
ChUrl 1e22630d14 return nodetable from typecheck 2021-01-21 22:51:20 +01:00
ChUrl c28ed1ac32 fix a = a / a = b assignment bug 2021-01-21 22:51:02 +01:00
Christoph 498b903800 remove 1 test 2021-01-21 19:03:11 +01:00
Christoph b703ae2b31 add unary codegen for +, - 2021-01-21 19:03:04 +01:00
Christoph 8fe5659f21 fix bug with unary precedence 2021-01-21 19:02:48 +01:00
Christoph 19a30632d4 add some codegen tests 2021-01-21 18:20:47 +01:00
Christoph f9eb73630f make codegen completely static 2021-01-21 18:20:32 +01:00
Christoph 049f2529d4 ignore 2021-01-18 17:55:23 +01:00
Christoph c93589bd3f ignore 2021-01-18 17:55:04 +01:00
ChUrl a7d6e7bec3 add println codegen + addition codegen + fix return missing 2021-01-17 21:56:13 +01:00
ChUrl 1718d647a7 use codegen + jasmin when compiling 2021-01-17 17:59:09 +01:00
ChUrl 805f63893f first simple unfinished code generator 2021-01-17 17:58:51 +01:00
ChUrl daa8da71ca test class 2021-01-17 17:58:36 +01:00
ChUrl ad37601afc slight refactor for map 2021-01-17 17:57:39 +01:00
ChUrl 5a384af948 new test program 2021-01-17 17:57:26 +01:00
ChUrl aa48550b3c update 2021-01-17 17:57:10 +01:00
ChUrl 22702c97e0 slight cleanup 2020-12-16 15:20:10 +01:00
ChUrl 63424cec36 new test 2020-12-16 15:12:03 +01:00
ChUrl f621430f26 remove unused 2020-12-16 15:07:00 +01:00
ChUrl c5aee78b7b new tests 2020-12-16 14:55:52 +01:00
ChUrl 938d2a6afe add test coverage plugin 2020-12-16 14:55:38 +01:00
ChUrl e08cbcb15a slight formatting changes 2020-12-15 20:03:11 +01:00
ChUrl 3c17220ef1 slight formatting changes 2020-12-15 19:57:21 +01:00
ChUrl 1333f24d03 add grammar for main prog 2020-12-15 18:02:38 +01:00
ChUrl 200924e1d3 fix test bugs 2020-12-15 17:57:11 +01:00
ChUrl 2c1a714e10 remove demo "test" 2020-12-15 17:54:08 +01:00
ChUrl 908a9e4652 add typechecker tests 2020-12-15 17:53:14 +01:00
ChUrl 5390856fd8 refactor tests 2020-12-15 17:53:02 +01:00
ChUrl 0e7364cf1d fix typechecker equals bug 2020-12-15 17:52:43 +01:00
ChUrl 4721f80f9c make stuff final 2020-12-15 16:58:52 +01:00
ChUrl 1738771d1d use unmodifiable collection views 2020-12-15 16:57:09 +01:00
ChUrl 774f0f45f2 fix compactertest after rework 2020-12-15 16:29:47 +01:00
ChUrl 4f45a57294 rework grammar to use new actions + distinguish between term, nterm 2020-12-15 16:24:30 +01:00
ChUrl d86eaa9b9d update 2020-12-15 16:24:08 +01:00
ChUrl 71c9348a3c grammar update 2020-12-15 16:24:01 +01:00
ChUrl 921d735e69 grammar update 2020-12-15 16:23:38 +01:00
ChUrl e6f2774ed4 grammar update + parsing of new grammar actions + new checks for actions 2020-12-15 16:23:25 +01:00
ChUrl 33761016d5 grammar update + complete compacter overhaul with new grammar actions 2020-12-15 16:22:48 +01:00
ChUrl d0271cb72e grammar update 2020-12-15 16:22:25 +01:00
ChUrl 09ff65fd95 logging + grammar update 2020-12-15 16:22:12 +01:00
ChUrl 643a1c0e51 implement ast deepcopy 2020-12-15 16:21:40 +01:00
ChUrl b606ba5593 renam + add actions 2020-12-15 16:21:26 +01:00
ChUrl ce92dcad6e formatting change 2020-12-14 18:17:48 +01:00
ChUrl de88d650d3 support abs paths 2020-12-14 18:02:06 +01:00
ChUrl 8ff6ffd637 some main program changes 2020-12-14 17:30:00 +01:00
ChUrl 4132551f0e updates 2020-12-14 17:29:50 +01:00
ChUrl 29def0a645 fix identifiermovement bug 2020-12-14 17:29:23 +01:00
ChUrl d0d0426345 fix typechecking bug where identifiers weren't used 2020-12-14 16:33:00 +01:00
ChUrl fc9cade682 status messages + better error messages 2020-12-14 16:06:37 +01:00
ChUrl 2ef7cefedc status messages + better error messages 2020-12-14 16:04:33 +01:00
ChUrl 1987e6532d update 2020-12-14 16:04:10 +01:00
ChUrl f2f10772b2 add line info to astnodes 2020-12-14 16:03:55 +01:00
ChUrl b9086e2bb2 add line info to astnodes 2020-12-14 16:03:41 +01:00
ChUrl 50cb660c4c update 2020-12-14 15:11:05 +01:00
ChUrl 1991255ee6 implement type checker 2020-12-14 15:05:54 +01:00
ChUrl 3ef2199910 exception 2020-12-14 15:05:32 +01:00
ChUrl af73c718af rename 2020-12-14 15:05:23 +01:00
ChUrl 88e88c035d add argument-type table 2020-12-14 15:05:15 +01:00
ChUrl bf6e2256d8 fix operator-precedence 2020-12-14 15:04:52 +01:00
ChUrl 63903f6955 rename 2020-12-14 15:04:32 +01:00
ChUrl be2d56f7b2 new exceptions 2020-12-14 15:04:23 +01:00
ChUrl ba624cf4a0 renamings 2020-12-13 15:03:28 +01:00
ChUrl 8e7292ea3e begin typechecker + rename 2020-12-13 15:02:08 +01:00
ChUrl ed99c71d44 renamings 2020-12-13 15:01:55 +01:00
ChUrl e56e1abc46 updates 2020-12-13 14:49:35 +01:00
ChUrl c84825e62b add empty typechecker 2020-12-13 14:49:24 +01:00