155 Commits

Author SHA1 Message Date
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
Barf-Vader
a8420ae45c Merge branch 'master' into assembly-ir 2025-02-20 19:00:11 +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
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
84932edb69
refactor: change typo in Unweakenable 2025-02-07 18:43:30 +00:00
9da2744cb9
refactor: comment non-trivial code in typeChecker.scala 2025-02-07 18:41:16 +00:00
5ea3ca5a03
fix: display function type on incorrect number of args 2025-02-07 18:09:18 +00:00
4d25d7a730
fix: make int binary operators and char binary operators errors consistent 2025-02-07 18:02:31 +00:00
8a7b37e05f
fix: check both sides are unknown for assign error message 2025-02-07 17:32:24 +00:00
Barf-Vader
3d2725be8d feat: catch indirect function calls 2025-02-07 17:22:54 +00:00
b5e72660b7
fix: make free error message more clear 2025-02-07 17:19:16 +00:00
e87e61b152
feat: explicitly disallow non-assigned direct function calls 2025-02-07 17:16:23 +00:00
4631f4370e
Revert "fix: catch function call without keyword with parenscheck"
This reverts commit 4bf63454f4f8daa2f438898b6396fec6e4ad1a36.
2025-02-07 17:13:06 +00:00
Connolly, Guy
c92ae5a707 Merge branch 'master' into 'scaladocs'
# Conflicts:
#   src/main/wacc/parser.scala
2025-02-07 16:47:59 +00:00
Guy C
e38932a3e8 fix: uses correct comment syntax for comments on design justifications 2025-02-07 16:36:00 +00:00
Jonny
764e335364 refactor: add comments in ast.scala 2025-02-07 16:28:58 +00:00
Barf-Vader
cf661e6ac7 Merge remote-tracking branch 'origin/more-explicit-invalid-syntax' into more-explicit-invalid-syntax 2025-02-07 16:27:51 +00:00
Barf-Vader
4bf63454f4 fix: catch function call without keyword with parenscheck 2025-02-07 16:27:32 +00:00