feat: type-checker returns micro wacc

This commit is contained in:
2025-02-17 15:26:32 +00:00
parent b7e442b269
commit 27cc25cc0d
3 changed files with 259 additions and 115 deletions

View File

@@ -36,7 +36,7 @@ def compile(contents: String): Int = {
given errors: mutable.Builder[Error, List[Error]] = List.newBuilder
val (names, funcs) = renamer.rename(prog)
given ctx: typeChecker.TypeCheckerCtx = typeChecker.TypeCheckerCtx(names, funcs, errors)
typeChecker.check(prog)
val typedProg = typeChecker.check(prog)
if (errors.result.nonEmpty) {
given errorContent: String = contents
errors.result
@@ -48,7 +48,10 @@ def compile(contents: String): Int = {
}
}
.max()
} else 0
} else {
println(typedProg)
0
}
case Failure(msg) =>
println(msg)
100