This commit is contained in:
nub31
2025-10-22 22:17:54 +02:00
parent caacf3d402
commit b59ca29792
3 changed files with 15 additions and 11 deletions

View File

@@ -290,6 +290,8 @@ public class Diagnostic
case Symbol.Struct:
case Symbol.Let:
case Symbol.Extern:
case Symbol.For:
case Symbol.In:
{
return ConsoleColors.Colorize(tokenText, ConsoleColors.Bold + ConsoleColors.Blue);
}

View File

@@ -388,9 +388,7 @@ public class Generator
}
var arrayType = (NubArrayType)arrayInitializerNode.Type;
var tmp = NewTmp();
_writer.WriteLine($"{CType.Create(arrayType.ElementType)} {tmp}[] = {{{string.Join(", ", values)}}};");
return tmp;
return $"({CType.Create(arrayType.ElementType)}[]){{{string.Join(", ", values)}}}";
}
private string EmitBinaryExpression(BinaryExpressionNode binaryExpressionNode)
@@ -441,9 +439,7 @@ public class Generator
}
var arrayType = (NubConstArrayType)arrayInitializerNode.Type;
var tmp = NewTmp();
_writer.WriteLine($"{CType.Create(arrayType.ElementType)} {tmp}[{arrayType.Size}] = {{{string.Join(", ", values)}}};");
return tmp;
return $"({CType.Create(arrayType.ElementType)}[{arrayType.Size}]){{{string.Join(", ", values)}}}";
}
private string EmitConstArrayToSlice(ConstArrayToSliceNode constArrayToSliceNode)

View File

@@ -2,16 +2,22 @@ module "main"
extern "puts" func puts(text: cstring)
struct X
{
points: []i32
}
extern "main" func main(argc: i64, argv: [?]cstring): i64
{
let names: []cstring = ["test", "test2"]
let f: []cstring = ["1", "2", "3"]
puts(names[0])
puts(names[1])
puts(f[0])
puts(f[1])
puts(f[2])
for name, i in names
for num in f
{
puts(name)
puts(num)
}
return 0