226 Commits

Author SHA1 Message Date
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
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
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
959c556eae
fix: use verifiedExplain for missing return type check 2025-02-07 15:39:50 +00:00
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
af909b1492 refactor: remove offset property from position
Merge request lab2425_spring/WACC_37!16
2025-02-07 15:07:45 +00:00
ba5445a4c5 feat: improve semantic errors
Merge request lab2425_spring/WACC_37!15
2025-02-07 15:07:35 +00:00
1f2adf4b82
refactor: remove offset property from position 2025-02-07 14:51:05 +00:00
ba1b7d67c7
fix: return proper type in non-array index error (instead of ?) 2025-02-07 14:32:15 +00:00
88ddca2b98
feat: do not include ? type in error messages 2025-02-07 14:24:16 +00:00
3430299847
feat: include operator name in type errors 2025-02-07 14:22:36 +00:00
319fa606d9
fix: foldLeft when type checking, rather than foldRight which is unintuitive 2025-02-07 14:16:50 +00:00
68e4762b37
feat: show expected and got types for TypeMismatch 2025-02-07 14:16:20 +00:00
c547a2a37f refactor: make functions non-semantic types
Merge request lab2425_spring/WACC_37!13
2025-02-07 14:12:58 +00:00
4e10fb3fda
refactor: fail on ? snd or fst type-check result 2025-02-07 13:54:35 +00:00
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
Barf-Vader
31bb23480b fix: refactored code to use ident.pos 2025-02-07 13:36:18 +00:00
Barf-Vader
a09d38a40f fix: cleaned up comments, removed getPosition from ident 2025-02-07 13:33:25 +00:00
Guy C
b6d8eb31e3 feat: semantic error messages make use of msg strings passed from typeChecker 2025-02-07 13:22:13 +00:00
Barf-Vader
c798fdf416 fix: made missing func return type error atomic 2025-02-07 13:21:13 +00:00
Guy C
731692d95a refactor: bringing in ast and error changes 2025-02-07 11:59:28 +00:00
Guy C
8583a815a8 refactor: style fixes in lexer and parser 2025-02-07 11:52:31 +00:00
Guy C
ee1ea6c63b refactor: created printPosition method for unified error message format 2025-02-07 11:52:31 +00:00
Barf-Vader
a65cc01815 fix: added error messages for functions missing type, and late function decls 2025-02-07 11:52:31 +00:00
Barf-Vader
b3ecae5dbb fix: quotes around char and str errors, added errors for assign and arrayIndex 2025-02-07 11:52:31 +00:00
Barf-Vader
f24f8c87d8 fix: added explanation for nested pair error, added more errors 2025-02-07 11:50:57 +00:00
Guy C
a2c81883f4 refactor: improvements to semantic error printing format
Co-authored by: al4423
2025-02-07 11:49:31 +00:00
Guy C
2ac7744e68 feat: implements error messages for DuplicateDeclaration and UndefinedIdentifier errors 2025-02-07 11:49:31 +00:00
a635370522 feat: full type checker without user-friendly error messages
Merge request lab2425_spring/WACC_37!11

Co-authored-by: Jonny <j.sinteix@gmail.com>
2025-02-07 08:20:42 +00:00
316500484a
Merge branch 'master' into type-checker 2025-02-07 00:24:06 +00:00
bc5f28ab52
fix: disallow unknown type assignments and reads 2025-02-07 00:23:41 +00:00
277d2f66af
fix: check function calls have correct number of args 2025-02-07 00:09:10 +00:00
e57c89beec
fix: extract retType from KnownType.Func when type-checking function bodies 2025-02-06 23:59:13 +00:00
f6e734937f
feat: implement satisfies function in type checker
Co-Authored-By: jt2622
2025-02-06 21:04:27 +00:00
4dc07c249a refactor: implemented labelAndExplain(), combining label and explain, and...
Merge request lab2425_spring/WACC_37!9

Co-authored-by: Barf-Vader <47476490+Barf-Vader@users.noreply.github.com>
Co-authored-by: Guy C <gc1523@ic.ac.uk>
2025-02-06 20:30:20 +00:00
6548d895d5
feat: type checker without satisfies implemented
Co-Authored-By: jt2622
2025-02-06 20:26:15 +00:00
0e2d1af878 refactor: add comments to renamer 2025-02-06 19:55:52 +00:00
74f62ea933 fix: fix merge breaks, add function names to scope before renaming bodies 2025-02-06 19:55:52 +00:00
ae9625b586 fix: use apply() instead of get() for Maps 2025-02-06 19:55:52 +00:00