feat: implement satisfies function in type checker

Co-Authored-By: jt2622
This commit is contained in:
2025-02-06 21:04:27 +00:00
parent 6548d895d5
commit f6e734937f
4 changed files with 96 additions and 62 deletions

View File

@@ -32,12 +32,11 @@ val cliParser = {
def compile(contents: String): Int = {
parser.parse(contents) match {
case Success(ast) =>
case Success(prog) =>
given errors: mutable.Builder[Error, List[Error]] = List.newBuilder
renamer.rename(ast)
// given ctx: types.TypeCheckerCtx[List[Error]] =
// types.TypeCheckerCtx(names, errors)
// types.check(ast)
val names = renamer.rename(prog)
given ctx: typeChecker.TypeCheckerCtx = typeChecker.TypeCheckerCtx(names, errors)
typeChecker.check(prog)
if (errors.result.nonEmpty) {
errors.result.foreach(println)
200