Commit Graph

  • 4ac7917715 feat: explicit invalid syntax checks improvements Connolly, Guy 2025-02-07 16:42:37 +00:00
  • e38932a3e8 fix: uses correct comment syntax for comments on design justifications Guy C 2025-02-07 16:36:00 +00:00
  • 764e335364 refactor: add comments in ast.scala Jonny 2025-02-07 16:28:58 +00:00
  • cf661e6ac7 Merge remote-tracking branch 'origin/more-explicit-invalid-syntax' into more-explicit-invalid-syntax Barf-Vader 2025-02-07 16:27:51 +00:00
  • 4bf63454f4 fix: catch function call without keyword with parenscheck Barf-Vader 2025-02-07 16:27:32 +00:00
  • 4738207523
    refactor: make missing return type message more precise Gleb Koval 2025-02-07 16:22:00 +00:00
  • 09036040d6 refactor: further commenting to the parser Guy C 2025-02-07 16:13:50 +00:00
  • d32855cc29
    feat: detect pointer operators Gleb Koval 2025-02-07 15:40:49 +00:00
  • d0324518b6 fix: style fixes in parser Guy C 2025-02-07 15:40:14 +00:00
  • 959c556eae
    fix: use verifiedExplain for missing return type check Gleb Koval 2025-02-07 15:39:50 +00:00
  • 0955f19a81
    feat: detect function declarations mid-body Gleb Koval 2025-02-07 15:39:04 +00:00
  • ade1fdaffc refactor: scaladocs-style commenting added in Error.scala Guy C 2025-02-07 15:38:19 +00:00
  • f9e5ae4d98 refactor: scaladocs-style commenting added in parser Guy C 2025-02-07 15:37:55 +00:00
  • c6b57be2c3 refactor: scaladocs-style commenting added in lexer Guy C 2025-02-07 15:37:33 +00:00
  • af909b1492 refactor: remove offset property from position Gleb Koval 2025-02-07 15:07:45 +00:00
  • ba5445a4c5 feat: improve semantic errors Gleb Koval 2025-02-07 15:07:35 +00:00
  • 1f2adf4b82
    refactor: remove offset property from position Gleb Koval 2025-02-07 14:49:17 +00:00
  • ba1b7d67c7
    fix: return proper type in non-array index error (instead of ?) Gleb Koval 2025-02-07 14:32:15 +00:00
  • 88ddca2b98
    feat: do not include ? type in error messages Gleb Koval 2025-02-07 14:24:16 +00:00
  • 3430299847
    feat: include operator name in type errors Gleb Koval 2025-02-07 14:22:36 +00:00
  • 319fa606d9
    fix: foldLeft when type checking, rather than foldRight which is unintuitive Gleb Koval 2025-02-07 14:16:50 +00:00
  • 68e4762b37
    feat: show expected and got types for TypeMismatch Gleb Koval 2025-02-07 14:16:20 +00:00
  • c547a2a37f refactor: make functions non-semantic types Gleb Koval 2025-02-07 14:12:58 +00:00
  • 4e10fb3fda
    refactor: fail on ? snd or fst type-check result Gleb Koval 2025-02-07 12:26:04 +00:00
  • f143f685c4
    refactor: make functions non-semantic types Gleb Koval 2025-02-07 12:19:52 +00:00
  • 0f87725f62 fix: added array literal in LexTokens Barf-Vader 2025-02-07 13:49:42 +00:00
  • df4ed93726 refactor: improvements to semantic error printing format Connolly, Guy 2025-02-07 13:38:34 +00:00
  • 31bb23480b fix: refactored code to use ident.pos Barf-Vader 2025-02-07 13:36:18 +00:00
  • a09d38a40f fix: cleaned up comments, removed getPosition from ident Barf-Vader 2025-02-07 13:33:25 +00:00
  • b6d8eb31e3 feat: semantic error messages make use of msg strings passed from typeChecker Guy C 2025-02-07 12:46:47 +00:00
  • c798fdf416 fix: made missing func return type error atomic Barf-Vader 2025-02-07 13:00:28 +00:00
  • 731692d95a refactor: bringing in ast and error changes Guy C 2025-02-07 11:59:28 +00:00
  • 8583a815a8 refactor: style fixes in lexer and parser Guy C 2025-02-07 11:23:18 +00:00
  • ee1ea6c63b refactor: created printPosition method for unified error message format Guy C 2025-02-07 11:22:50 +00:00
  • a65cc01815 fix: added error messages for functions missing type, and late function decls Barf-Vader 2025-02-07 01:35:16 +00:00
  • b3ecae5dbb fix: quotes around char and str errors, added errors for assign and arrayIndex Barf-Vader 2025-02-06 23:52:13 +00:00
  • f24f8c87d8 fix: added explanation for nested pair error, added more errors Barf-Vader 2025-02-06 23:08:34 +00:00
  • a2c81883f4 refactor: improvements to semantic error printing format Guy C 2025-02-06 20:46:45 +00:00
  • 2ac7744e68 feat: implements error messages for DuplicateDeclaration and UndefinedIdentifier errors Guy C 2025-02-06 19:49:17 +00:00
  • a635370522 feat: full type checker without user-friendly error messages Gleb Koval 2025-02-07 08:20:42 +00:00
  • 316500484a
    Merge branch 'master' into type-checker Gleb Koval 2025-02-07 00:24:06 +00:00
  • bc5f28ab52
    fix: disallow unknown type assignments and reads Gleb Koval 2025-02-07 00:23:41 +00:00
  • 277d2f66af
    fix: check function calls have correct number of args Gleb Koval 2025-02-07 00:09:10 +00:00
  • e57c89beec
    fix: extract retType from KnownType.Func when type-checking function bodies Gleb Koval 2025-02-06 23:59:13 +00:00
  • f6e734937f
    feat: implement satisfies function in type checker Gleb Koval 2025-02-06 21:04:27 +00:00
  • 4dc07c249a refactor: implemented labelAndExplain(), combining label and explain, and... Gleb Koval 2025-02-06 20:30:20 +00:00
  • 6548d895d5
    feat: type checker without satisfies implemented Gleb Koval 2025-02-06 20:26:15 +00:00
  • 0e2d1af878 refactor: add comments to renamer Gleb Koval 2025-02-05 22:03:26 +00:00
  • 74f62ea933 fix: fix merge breaks, add function names to scope before renaming bodies Gleb Koval 2025-02-05 20:41:49 +00:00
  • ae9625b586 fix: use apply() instead of get() for Maps Gleb Koval 2025-02-05 18:04:04 +00:00
  • 30cf42ee3a fix: separate variable and function in scope Gleb Koval 2025-02-05 05:12:32 +00:00
  • 3fbb90322f feat: renamer maybe maybe maybe maybe Gleb Koval 2025-02-04 22:26:38 +00:00
  • e9ed197782 fix: remove unused applyCon from AST Gleb Koval 2025-02-05 04:49:05 +00:00
  • 6d1c0b7a87 fix: make parser use only parsley parser bridge apply Gleb Koval 2025-02-05 04:47:43 +00:00
  • 1486296b40 refactor: add position tracking to AST, UnaryOp, BinaryOp Gleb Koval 2025-02-05 02:12:16 +00:00
  • bd779931b6 refactor: style fixes in parser Barf-Vader 2025-02-06 17:48:14 +00:00
  • 8b64f2e352 fix: removed redundant labelling in ast Barf-Vader 2025-02-06 17:41:58 +00:00
  • 19880321d7 feat: implemented lexer-backed error builder, error messages are now based on predefined tokens Barf-Vader 2025-02-06 17:39:35 +00:00
  • e787d7168f refactor: implemented labelAndExplain(), combining the two, and provided explanations for expr Barf-Vader 2025-02-06 16:59:04 +00:00
  • 88ec08a023 feat: basic type checker skeleton Jonny 2025-02-06 17:07:55 +00:00
  • 2fb520d891 feat: scope checker and renamer Gleb Koval 2025-02-06 17:02:31 +00:00
  • ded35dcc6e feat: improved error messages for atom types Guy C 2025-02-06 15:36:24 +00:00
  • 5210a55d9e
    refactor: add comments to renamer Gleb Koval 2025-02-05 22:03:26 +00:00
  • 0f18bca7fd
    fix: fix merge breaks, add function names to scope before renaming bodies Gleb Koval 2025-02-05 20:41:49 +00:00
  • 6027bea95e
    fix: use apply() instead of get() for Maps Gleb Koval 2025-02-05 18:04:04 +00:00
  • 8c5b85b8c2
    fix: separate variable and function in scope Gleb Koval 2025-02-05 05:12:32 +00:00
  • 06c8a069fb
    feat: renamer maybe maybe maybe maybe Gleb Koval 2025-02-04 22:26:38 +00:00
  • 5f7a89b47f refactor: add position tracking to AST, UnaryOp, BinaryOp Connolly, Guy 2025-02-05 17:42:58 +00:00
  • 539403fd36
    fix: remove unused applyCon from AST Gleb Koval 2025-02-05 04:49:05 +00:00
  • 5fffd01a6f
    fix: make parser use only parsley parser bridge apply Gleb Koval 2025-02-05 04:47:43 +00:00
  • f3a59460ef
    refactor: add position tracking to AST, UnaryOp, BinaryOp Gleb Koval 2025-02-05 02:12:16 +00:00
  • 057d625464 fix: style fixes Guy C 2025-02-04 17:13:56 +00:00
  • 4602b75628 feat: improved error messages Guy C 2025-02-04 17:03:46 +00:00
  • 4e50ed35ba feat: more error messages Guy C 2025-02-04 03:32:52 +00:00
  • 3c23654356 fix: remove redundant imports Guy C 2025-02-04 03:06:56 +00:00
  • 5016fefc14 feat: lexer implements ErrorConfig for improved error messages Guy C 2025-02-04 03:02:37 +00:00
  • 3aae08ffd4
    feat: implement CLI for parser Gleb Koval 2025-02-02 13:48:54 +00:00
  • d4b410bca9 feat: implement parser Gleb Koval 2025-02-02 13:45:25 +00:00
  • 1bb4939fcd
    Merge branch 'master' into parser Gleb Koval 2025-02-02 13:41:12 +00:00
  • feac5efb6a feat: implement abstract syntax tree Gleb Koval 2025-02-02 13:37:48 +00:00
  • 41d541050f feat: implement lexer Gleb Koval 2025-02-02 13:37:36 +00:00
  • da4b398bf0
    fix: do not allow negation of a positive int literal Gleb Koval 2025-02-02 13:30:33 +00:00
  • 2588c8287d
    fix: change lhs of Assign to lvalue Gleb Koval 2025-02-02 00:33:16 +00:00
  • 03fdbe01d9
    fix: put functions "(" within atomic Gleb Koval 2025-02-02 00:30:18 +00:00
  • b5a1f2565f
    Revert "fix: add function must return on all paths check" Gleb Koval 2025-02-02 00:27:04 +00:00
  • cb9796fa87
    feat: show exact statement which must be returning at the end of a function Gleb Koval 2025-02-02 00:00:09 +00:00
  • a71045867a
    fix: add function must return on all paths check Gleb Koval 2025-02-01 21:22:48 +00:00
  • 0db7a30af0
    refactor: remove excessive atomics Gleb Koval 2025-02-01 21:05:42 +00:00
  • a110225c49
    Merge branch 'ast' into parser Gleb Koval 2025-02-01 20:47:05 +00:00
  • 993acddad3
    Merge branch 'master' into lexer Gleb Koval 2025-02-01 20:48:49 +00:00
  • 1d78072c22
    feat: use NoneEmptyList from cats to enfroce non-empty statements Gleb Koval 2025-02-01 20:39:56 +00:00
  • 1643628c60
    Merge branch 'master' into ast Gleb Koval 2025-02-01 20:37:14 +00:00
  • 7320052939
    refactor: increase max line length to 100 Gleb Koval 2025-02-01 20:33:27 +00:00
  • f5f6628c89
    fix: extract <ident> from <array-elem> Gleb Koval 2025-02-01 20:29:04 +00:00
  • 5361373c01
    refactor: non-recursive statements and array types Gleb Koval 2025-02-01 17:15:14 +00:00
  • c5b02a00aa
    feat: initial parser implementation Gleb Koval 2025-02-01 17:15:22 +00:00
  • cfad2f08f4
    refactor: non-recursive statements and array types Gleb Koval 2025-02-01 17:15:14 +00:00
  • 70aa58b879
    fix: disallow exponents, export identifier from lexer Gleb Koval 2025-02-01 02:13:55 +00:00
  • e384265189
    feat: initial lexer implementation Jonny 2025-02-01 02:21:39 +00:00
  • 4754858094
    refactor: allow binPack Strings Gleb Koval 2025-02-01 02:21:31 +00:00