Commit Graph

69 Commits

Author SHA1 Message Date
8f7c902ed5 feat: implement .loc, .file and .func debug directives 2025-03-14 15:40:09 +00:00
07f02e61d7 feat: pass stmt position information to microwacc 2025-03-14 14:02:42 +00:00
3b723392a7 fix: do not overwrite RDI in free 2025-02-28 18:47:36 +00:00
37812fb5a7 fix: copy whole register on assignment 2025-02-28 18:41:31 +00:00
578a28a222 Revert "fix: zero-out D32 as well"
This reverts commit 0eaf2186b6.
2025-02-28 18:28:50 +00:00
0eaf2186b6 fix: zero-out D32 as well 2025-02-28 17:51:06 +00:00
68903f5b69 refactor: use explicit sizes in asmGenerator 2025-02-28 17:21:45 +00:00
e1d90eabf9 fix: use MemLocation.copy for zeroRest 2025-02-28 16:40:58 +00:00
1a39950a7b refactor: merge MemLocation with IndexedAddress 2025-02-28 16:26:40 +00:00
82997a5a38 docs: clarify evalExprOntoStack sanity check, explanation comments for generateCall 2025-02-28 15:29:41 +00:00
720d9320e2 Merge branch 'master' into comments-and-refactors 2025-02-28 15:14:47 +00:00
c3f2ce8b19 refactor: single definition for common registers 2025-02-28 14:47:47 +00:00
7627ec14d2 refactor: return args and defs from labelGenerator, instead of strings 2025-02-28 14:23:09 +00:00
Jonny
d0a71c1888 docs: add doc for concatall chain extension 2025-02-28 14:07:50 +00:00
fb5799dbfd refactor: use LabelGenerator for RuntimeErrors 2025-02-28 14:07:00 +00:00
Jonny
621849dfa4 refactor: rename local builder chain to asm 2025-02-28 13:55:02 +00:00
967a6fe58b refactor: replace strings ListBuffer with labelGenerator 2025-02-28 13:14:29 +00:00
Guy C
302099ab76 refactor: removes magic numbers in asmgenerator 2025-02-28 12:23:09 +00:00
Guy C
b733d233b0 feat: implements outofmemoryerror handling 2025-02-28 12:01:31 +00:00
8b3e9b8380 fix: ensure all advanced wacc-examples function correctly
Merge request lab2425_spring/WACC_37!33
2025-02-28 00:31:25 +00:00
41f76e50e0 fix: evaluate all function call arguments before setting registers 2025-02-28 00:27:26 +00:00
Guy C
cdf32d93c3 feat: outofboundserror message includes given bad value 2025-02-28 00:17:30 +00:00
Jonny
edcac2782b fix: implements null pointer checks 2025-02-27 23:57:42 +00:00
Jonny
1b2df507ba fix: array bounds checks in place 2025-02-27 23:46:51 +00:00
Jonny
3a2af6f95d feat: implements outofbounds error. array negative bounds check added 2025-02-27 23:02:10 +00:00
Jonny
617f6759d3 fix: underflow detected 2025-02-27 21:53:48 +00:00
Jonny
6f5fcd4d85 refactor: redesigned runtime errors with added functionality 2025-02-27 21:48:28 +00:00
Guy C
9e6970de62 feat: implements overflow runtime error handling 2025-02-27 19:55:35 +00:00
Guy C
ea262e9a56 feat: implements divByZero and badChr runtime errors 2025-02-27 19:35:50 +00:00
Jonny
332c00b15b feat: added runtime errors class and object 2025-02-27 19:13:17 +00:00
c472c7a62c fix: reserve return pointer and RBP on stack for user func bodies 2025-02-27 18:15:48 +00:00
507cb7dd9b fix: zero-out sub-32 bit expressions 2025-02-27 18:15:48 +00:00
887b982331 fix: variable-sized values, heap-allocated arrays (and printCharArray) 2025-02-27 18:15:48 +00:00
Alex Ling
808a59f58a feat: almost implemented arrays 2025-02-27 18:15:48 +00:00
Jonny
bdee6ba756 feat: zero registers via xor 2025-02-27 15:48:48 +00:00
09df7af2ab fix: reset scope after all branching 2025-02-26 20:25:27 +00:00
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
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
Alex Ling
62df2c2244 fix: added dword in sizedir 2025-02-26 16:58:01 +00:00
Guy C
07c67dbef6 feat: add zero division error handling in asmGenerator 2025-02-26 07:14:52 +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