This commit is contained in:
nub31
2026-02-10 22:26:18 +01:00
parent d0c31ad17f
commit 576abe1240
12 changed files with 308 additions and 26 deletions

View File

@@ -2,11 +2,11 @@
namespace Compiler;
public sealed class Generator(List<TypedNodeDefinitionFunc> functions, ModuleGraph moduleGraph)
public sealed class Generator(List<TypedNodeDefinitionFunc> functions, ModuleGraph moduleGraph, bool compileLib)
{
public static string Emit(List<TypedNodeDefinitionFunc> functions, ModuleGraph moduleGraph)
public static string Emit(List<TypedNodeDefinitionFunc> functions, ModuleGraph moduleGraph, bool compileLib)
{
return new Generator(functions, moduleGraph).Emit();
return new Generator(functions, moduleGraph, compileLib).Emit();
}
private readonly IndentedTextWriter writer = new();
@@ -79,10 +79,10 @@ public sealed class Generator(List<TypedNodeDefinitionFunc> functions, ModuleGra
writer.WriteLine();
var main = functions.FirstOrDefault(x => x.Module == "main" && x.Name.Ident == "main");
if (main != null)
if (!compileLib)
{
var main = functions.First(x => x.Module == "main" && x.Name.Ident == "main");
writer.WriteLine($$"""
int main(int argc, char *argv[])
{