This commit is contained in:
nub31
2026-02-09 19:34:47 +01:00
parent 9fb9c50a0b
commit 96670b1201
7 changed files with 335 additions and 262 deletions

View File

@@ -29,15 +29,22 @@ foreach (var fileName in args)
if (typeResolverDiagnostics.Any(x => x.Severity == DiagnosticSeverity.Error))
return 1;
var typedAst = TypeChecker.Check(fileName, ast, typeResolver, out var typeCheckerDiagnostics);
var functions = new List<TypedNodeDefinitionFunc>();
foreach (var diagnostic in typeCheckerDiagnostics)
DiagnosticFormatter.Print(diagnostic, Console.Error);
foreach (var function in ast.Definitions.OfType<NodeDefinitionFunc>())
{
var typedFunction = TypeChecker.CheckFunction(fileName, function, typeResolver, out var typeCheckerDiagnostics);
if (typeCheckerDiagnostics.Any(x => x.Severity == DiagnosticSeverity.Error))
return 1;
foreach (var diagnostic in typeCheckerDiagnostics)
DiagnosticFormatter.Print(diagnostic, Console.Error);
var output = Generator.Emit(typedAst);
if (typedFunction == null)
return 1;
functions.Add(typedFunction);
}
var output = Generator.Emit(functions);
Directory.Delete(".build", recursive: true);
Directory.CreateDirectory(".build");
@@ -48,5 +55,4 @@ foreach (var fileName in args)
Process.Start("gcc", ["-Og", "-g", "-c", "-o", Path.ChangeExtension(outFilePath, "o"), outFilePath]);
}
return 0;