Commit Graph

149 Commits

Author SHA1 Message Date
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
Barf-Vader 2c281066a8 refactor: used varargs instead of noOperand 2025-02-17 18:07:36 +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
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
cyclane 2a4c2bc993 refactor: comment non-trivial code in typeChecker.scala
Merge request lab2425_spring/WACC_37!20
2025-02-07 18:45:50 +00:00
cyclane 84932edb69 refactor: change typo in Unweakenable 2025-02-07 18:43:30 +00:00
cyclane 9da2744cb9 refactor: comment non-trivial code in typeChecker.scala 2025-02-07 18:41:16 +00:00
cyclane 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
cyclane 5ea3ca5a03 fix: display function type on incorrect number of args 2025-02-07 18:09:18 +00:00
cyclane 4d25d7a730 fix: make int binary operators and char binary operators errors consistent 2025-02-07 18:02:31 +00:00
cyclane 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
cyclane b5e72660b7 fix: make free error message more clear 2025-02-07 17:19:16 +00:00
cyclane e87e61b152 feat: explicitly disallow non-assigned direct function calls 2025-02-07 17:16:23 +00:00
cyclane 4631f4370e Revert "fix: catch function call without keyword with parenscheck"
This reverts commit 4bf63454f4.
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
Connolly, Guy 4ac7917715 feat: explicit invalid syntax checks improvements
Merge request lab2425_spring/WACC_37!17

Co-authored-by: Barf-Vader <47476490+Barf-Vader@users.noreply.github.com>
Co-authored-by: Gleb Koval <gleb@koval.net>
2025-02-07 16:42:37 +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
cyclane 4738207523 refactor: make missing return type message more precise 2025-02-07 16:22:00 +00:00
Guy C 09036040d6 refactor: further commenting to the parser 2025-02-07 16:13:50 +00:00
cyclane d32855cc29 feat: detect pointer operators 2025-02-07 15:42:38 +00:00
Guy C d0324518b6 fix: style fixes in parser 2025-02-07 15:40:14 +00:00
cyclane 959c556eae fix: use verifiedExplain for missing return type check 2025-02-07 15:39:50 +00:00
cyclane 0955f19a81 feat: detect function declarations mid-body 2025-02-07 15:39:04 +00:00
Guy C ade1fdaffc refactor: scaladocs-style commenting added in Error.scala 2025-02-07 15:38:19 +00:00
Guy C f9e5ae4d98 refactor: scaladocs-style commenting added in parser 2025-02-07 15:37:55 +00:00
Guy C c6b57be2c3 refactor: scaladocs-style commenting added in lexer 2025-02-07 15:37:33 +00:00
cyclane af909b1492 refactor: remove offset property from position
Merge request lab2425_spring/WACC_37!16
2025-02-07 15:07:45 +00:00
cyclane ba5445a4c5 feat: improve semantic errors
Merge request lab2425_spring/WACC_37!15
2025-02-07 15:07:35 +00:00
cyclane 1f2adf4b82 refactor: remove offset property from position 2025-02-07 14:51:05 +00:00
cyclane ba1b7d67c7 fix: return proper type in non-array index error (instead of ?) 2025-02-07 14:32:15 +00:00
cyclane 88ddca2b98 feat: do not include ? type in error messages 2025-02-07 14:24:16 +00:00
cyclane 3430299847 feat: include operator name in type errors 2025-02-07 14:22:36 +00:00
cyclane 319fa606d9 fix: foldLeft when type checking, rather than foldRight which is unintuitive 2025-02-07 14:16:50 +00:00
cyclane 68e4762b37 feat: show expected and got types for TypeMismatch 2025-02-07 14:16:20 +00:00
cyclane c547a2a37f refactor: make functions non-semantic types
Merge request lab2425_spring/WACC_37!13
2025-02-07 14:12:58 +00:00
cyclane 4e10fb3fda refactor: fail on ? snd or fst type-check result 2025-02-07 13:54:35 +00:00
cyclane f143f685c4 refactor: make functions non-semantic types 2025-02-07 13:54:35 +00:00
Barf-Vader 0f87725f62 fix: added array literal in LexTokens 2025-02-07 13:49:42 +00:00
Connolly, Guy df4ed93726 refactor: improvements to semantic error printing format
Merge request lab2425_spring/WACC_37!14

Co-authored-by: Barf-Vader <47476490+Barf-Vader@users.noreply.github.com>
Co-authored-by: Guy C <gc1523@ic.ac.uk>
2025-02-07 13:38:34 +00:00