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
1c6ea16b6e
feat: carrot mark + writer
...
Merge request lab2425_spring/WACC_37!24
Co-authored-by: Barf-Vader <47476490+Barf-Vader@users.noreply.github.com>
2025-02-21 18:35:06 +00:00
b2da8c2408
ci: use x86 image for tests
2025-02-21 18:30:33 +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
87691902be
feat: set wacc target to x86-64
2025-02-21 18:18:44 +00:00
eb7387b49c
chore: update dependencies parsley-cats and os-lib
2025-02-21 18:18:35 +00:00
Barf-Vader
67f7e64b95
feat: add writer for assembly code
2025-02-20 19:47:24 +00:00
2a234f6db8
Assembly ir
...
Merge request lab2425_spring/WACC_37!23
Co-authored-by: Barf-Vader <47476490+Barf-Vader@users.noreply.github.com>
Co-authored-by: Guy C <gc1523@ic.ac.uk>
2025-02-20 19:02:47 +00:00
Barf-Vader
a8420ae45c
Merge branch 'master' into assembly-ir
2025-02-20 19:00:11 +00:00
Barf-Vader
b692982d73
refactor: gitignore .idea/
2025-02-20 18:57:41 +00:00
Guy C
006e85d0f8
style: improve formatting for Jump case class and condition toString method
2025-02-18 18:29:16 +00:00
Guy C
43682b902b
test: add unit tests for register and instruction toString methods
2025-02-18 18:27:42 +00:00
Guy C
d49c267d50
feat: extends IR for load/move instructions and generalised conditional jumps
2025-02-18 18:26:50 +00:00
bb090ad431
feat: microwacc type checker implementation
...
Merge request lab2425_spring/WACC_37!22
2025-02-18 17:29:10 +00:00
8991024d5d
feat: initial microWacc definition
...
Merge request lab2425_spring/WACC_37!21
2025-02-18 17:27:12 +00:00
Barf-Vader
2c281066a8
refactor: used varargs instead of noOperand
2025-02-17 18:07:36 +00:00
27cc25cc0d
feat: type-checker returns micro wacc
2025-02-17 15:26:32 +00:00
Barf-Vader
7525e523bb
style: reformatted to pass stylecheck
2025-02-16 18:03:39 +00:00
Barf-Vader
4e58e41a2a
refactor: abstracted operations, used trait Operand
2025-02-16 17:58:35 +00:00
b7e442b269
refactor: introduce exit-code guard against InternalError
2025-02-14 00:35:57 +00:00
756b42dd72
refactor: remove implicit ast from type checker
2025-02-14 00:35:57 +00:00
bc25f914ad
fix: add uid to microWacc Ident
2025-02-14 00:35:48 +00:00
6a6aadbbeb
fix: add nulliter to micro wacc
2025-02-14 00:21:10 +00:00
03999e00ef
fix: add support for println in micro wacc
2025-02-14 00:07:43 +00:00
d6aa83a2ea
fix: add support for return types in micro wacc calls
2025-02-13 23:59:44 +00:00
e23ef8da48
feat: initial microWacc definition
2025-02-13 23:07:38 +00:00
Barf-Vader
32622cdd7e
feat: incomplete initial implementation of assemblyIR
2025-02-13 17:42:50 +00:00
Guy C
41ed06f91c
refactor: moved frontend files into dedicated folder
2025-02-11 21:36:06 +00:00
Guy C
5fce2babc0
fix: removed expired todo in parser
2025-02-07 18:48:34 +00:00
2a4c2bc993
refactor: comment non-trivial code in typeChecker.scala
...
Merge request lab2425_spring/WACC_37!20
2025-02-07 18:45:50 +00:00
84932edb69
refactor: change typo in Unweakenable
2025-02-07 18:43:30 +00:00