226 Commits

Author SHA1 Message Date
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
9da2744cb9
refactor: comment non-trivial code in typeChecker.scala 2025-02-07 18:41:16 +00:00
585ba6958a feat: reduce appearances of unknown-type, catch illegal function calls
Merge request lab2425_spring/WACC_37!19

Co-authored-by: Barf-Vader <47476490+Barf-Vader@users.noreply.github.com>
2025-02-07 18:14:33 +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
2ff7fff7eb Scaladocs
Merge request lab2425_spring/WACC_37!18

Co-authored-by: Guy C <gc1523@ic.ac.uk>
Co-authored-by: Jonny <j.sinteix@gmail.com>
2025-02-07 16:50:12 +00:00
Connolly, Guy
c92ae5a707 Merge branch 'master' into 'scaladocs'
# Conflicts:
#   src/main/wacc/parser.scala
2025-02-07 16:47:59 +00:00