187 Commits

Author SHA1 Message Date
2cf18a47a8
fix: only push one item to stack on comparisons 2025-02-26 20:00:50 +00:00
Jonny
631f9ddca5 feat: (maybe) tail call optimisation 2025-02-26 19:49:10 +00:00
4fb399a5e1
feat: generate microWacc for printing booleans 2025-02-26 19:14:12 +00:00
16de964f74
refactor: do not append epilogue to user functions since they all return anyway 2025-02-26 18:45:03 +00:00
c748a34e4c
feat: user functions and calls 2025-02-26 18:31:15 +00:00
85190ce174
refactor: make microWacc.ArrayElem recursive rather than flat 2025-02-26 18:08:30 +00:00
Alex Ling
62df2c2244 fix: added dword in sizedir 2025-02-26 16:58:01 +00:00
Guy C
fb91dc89ee Merge branch 'branch-fix' into asm-gen 2025-02-26 07:21:26 +00:00
Guy C
07c67dbef6 feat: add zero division error handling in asmGenerator 2025-02-26 07:14:52 +00:00
39f88f6f8a
test: disable parallel test execution to avoid race conditions 2025-02-26 03:31:11 +00:00
Guy C
fc2c58002e test: include variables tests in suite 2025-02-26 02:00:28 +00:00
Guy C
f15530149e fix: fix sub instruction code gen 2025-02-26 01:43:12 +00:00
Guy C
9ca50540e6 fix: fixed implementation of if statement code gen 2025-02-26 01:10:14 +00:00
Jonny
f76b7a9dc2 refactor: replace explicit loops and flatMap with foldMap 2025-02-25 22:46:48 +00:00
Guy C
c9723f9359 feat: implements sign extension operation for division 2025-02-25 21:37:18 +00:00
11c483439c
fix: generate strDirs after prog, change += to + 2025-02-25 21:05:21 +00:00
Jonny
ebc65af981
feat: extension method concatAll defined on Chain implemented 2025-02-25 21:03:44 +00:00
Jonny
bd0eb76bec
fix: alignment issue with stack in read 2025-02-25 21:02:59 +00:00
Jonny
edbc03ee25
feat: used local mutable Chains. Also implemented new LabelGenerator 2025-02-25 21:02:57 +00:00
Jonny
7953790f4d
feat: used Chains instead of Lists 2025-02-25 21:01:02 +00:00
Alex Ling
7fd92b4212 refactor: passed exit and read tests 2025-02-25 18:25:34 +00:00
Alex Ling
87a239f37c fix: alignment issue with stack in read 2025-02-25 18:20:50 +00:00
efe9f91303
refactor: use non-singleton labelgenerator (instead use class) 2025-02-25 17:10:56 +00:00
5f8b87221c
fix: escape characters within assembly 2025-02-25 17:07:21 +00:00
8558733719
style: scala format lexer 2025-02-25 16:33:17 +00:00
f628d16d3d
fix: always push a value onto stack on expr evaluation 2025-02-25 16:27:47 +00:00
Alex Ling
3f76a2c5bf refactor: extract stack into seperate class 2025-02-25 04:44:08 +00:00
Alex Ling
8ed94e4df3 fix: initial exprs on stack 2025-02-25 03:17:05 +00:00
Guy C
58d280462e feat: enhance asmGenerator with additional registers and improve function call generation
Co-authored-by: Barf-Vader <Barf-Vader@users.noreply.github.com>
Co-authored-by: Gleb Koval
2025-02-25 02:02:57 +00:00
Guy C
f30cf42c4b style: improve code formatting and consistency in typeChecker and assemblyIR 2025-02-25 00:05:10 +00:00
Guy C
1488281223 feat: implements binary operators in asmGenerator
Co-authored-by: Gleb Koval <gleb@koval.net>
Co-authored-by: Barf-Vader <Barf-Vader@users.noreply.github.com>
2025-02-25 00:00:12 +00:00
Guy C
668d7338ae feat: move default return out of functionEpilogue into main def 2025-02-24 19:47:06 +00:00
Guy C
9d78caf6d9 feat: add support for return statements in asmGenerator 2025-02-24 18:57:13 +00:00
Guy C
909114bdce feat: implement basic while loop generation in asmGenerator 2025-02-24 04:47:21 +00:00
Guy C
2bed722a4f style: improve code formatting and readability in asmGenerator 2025-02-24 02:04:21 +00:00
Guy C
dc61b1e390 feat: implement label generation and basic conditional branching in asmGenerator 2025-02-24 02:00:35 +00:00
c59c28ecbd
test: retrieve raw stdout in example tests, rather than lines 2025-02-22 23:38:19 +00:00
Guy C
82230a5f66 refactor: remove unused import of IntLiter in Main.scala 2025-02-22 22:53:42 +00:00
Guy C
1255a2e74c feat: add initialization of AX register in function prologue 2025-02-22 22:53:17 +00:00
Alex Ling
24dddcadab feat: almost complete clib calls 2025-02-22 21:38:12 +00:00
7f2870e340
feat: generate assembly from main 2025-02-21 23:35:54 +00:00
Barf-Vader
1ce36dd8da refactor: unit tests now work with asm ir refactor 2025-02-21 23:34:37 +00:00
Ling, Alex
de181d161d feat: merge master
Merge request lab2425_spring/WACC_37!25

Co-authored-by: Gleb Koval <gleb@koval.net>
2025-02-21 23:09:13 +00:00
Barf-Vader
ee4109e9cd style: fix style 2025-02-21 23:00:59 +00:00
Barf-Vader
02e741c52e feat: implemented println and exit 2025-02-21 22:53:20 +00:00
0391b9deba
fix: remove logging from Main 2025-02-21 18:51:50 +00:00
ab28f0950a
fix: main outputs to current dir 2025-02-21 18:46:10 +00:00
42ff9c9e79
test: backend tests 2025-02-21 18:19:23 +00:00
39c695b1bb
feat: output backend files 2025-02-21 18:19:03 +00:00
Barf-Vader
67f7e64b95 feat: add writer for assembly code 2025-02-20 19:47:24 +00:00