Commit Graph

115 Commits

Author SHA1 Message Date
4f9c4364e5 empty file case 2021-01-22 22:08:08 +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
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
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
7d70d480eb initial support for if 2021-01-21 22:52:14 +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
b703ae2b31 add unary codegen for +, - 2021-01-21 19:03:04 +01:00
8fe5659f21 fix bug with unary precedence 2021-01-21 19:02:48 +01:00
f9eb73630f make codegen completely static 2021-01-21 18:20:32 +01:00
a7d6e7bec3 add println codegen + addition codegen + fix return missing 2021-01-17 21:56:13 +01:00
1718d647a7 use codegen + jasmin when compiling 2021-01-17 17:59:09 +01:00
805f63893f first simple unfinished code generator 2021-01-17 17:58:51 +01:00
ad37601afc slight refactor for map 2021-01-17 17:57:39 +01:00
22702c97e0 slight cleanup 2020-12-16 15:20:10 +01:00
e08cbcb15a slight formatting changes 2020-12-15 20:03:11 +01:00
3c17220ef1 slight formatting changes 2020-12-15 19:57:21 +01:00
0e7364cf1d fix typechecker equals bug 2020-12-15 17:52:43 +01:00
4721f80f9c make stuff final 2020-12-15 16:58:52 +01:00
1738771d1d use unmodifiable collection views 2020-12-15 16:57:09 +01:00
921d735e69 grammar update 2020-12-15 16:23:38 +01:00
e6f2774ed4 grammar update + parsing of new grammar actions + new checks for actions 2020-12-15 16:23:25 +01:00
33761016d5 grammar update + complete compacter overhaul with new grammar actions 2020-12-15 16:22:48 +01:00
09ff65fd95 logging + grammar update 2020-12-15 16:22:12 +01:00
643a1c0e51 implement ast deepcopy 2020-12-15 16:21:40 +01:00
b606ba5593 renam + add actions 2020-12-15 16:21:26 +01:00
ce92dcad6e formatting change 2020-12-14 18:17:48 +01:00
de88d650d3 support abs paths 2020-12-14 18:02:06 +01:00
8ff6ffd637 some main program changes 2020-12-14 17:30:00 +01:00
29def0a645 fix identifiermovement bug 2020-12-14 17:29:23 +01:00
d0d0426345 fix typechecking bug where identifiers weren't used 2020-12-14 16:33:00 +01:00
fc9cade682 status messages + better error messages 2020-12-14 16:06:37 +01:00
2ef7cefedc status messages + better error messages 2020-12-14 16:04:33 +01:00
1987e6532d update 2020-12-14 16:04:10 +01:00
b9086e2bb2 add line info to astnodes 2020-12-14 16:03:41 +01:00
50cb660c4c update 2020-12-14 15:11:05 +01:00
1991255ee6 implement type checker 2020-12-14 15:05:54 +01:00
3ef2199910 exception 2020-12-14 15:05:32 +01:00
88e88c035d add argument-type table 2020-12-14 15:05:15 +01:00
bf6e2256d8 fix operator-precedence 2020-12-14 15:04:52 +01:00
63903f6955 rename 2020-12-14 15:04:32 +01:00