...
This commit is contained in:
@@ -290,6 +290,8 @@ public class Diagnostic
|
|||||||
case Symbol.Struct:
|
case Symbol.Struct:
|
||||||
case Symbol.Let:
|
case Symbol.Let:
|
||||||
case Symbol.Extern:
|
case Symbol.Extern:
|
||||||
|
case Symbol.For:
|
||||||
|
case Symbol.In:
|
||||||
{
|
{
|
||||||
return ConsoleColors.Colorize(tokenText, ConsoleColors.Bold + ConsoleColors.Blue);
|
return ConsoleColors.Colorize(tokenText, ConsoleColors.Bold + ConsoleColors.Blue);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -388,9 +388,7 @@ public class Generator
|
|||||||
}
|
}
|
||||||
|
|
||||||
var arrayType = (NubArrayType)arrayInitializerNode.Type;
|
var arrayType = (NubArrayType)arrayInitializerNode.Type;
|
||||||
var tmp = NewTmp();
|
return $"({CType.Create(arrayType.ElementType)}[]){{{string.Join(", ", values)}}}";
|
||||||
_writer.WriteLine($"{CType.Create(arrayType.ElementType)} {tmp}[] = {{{string.Join(", ", values)}}};");
|
|
||||||
return tmp;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private string EmitBinaryExpression(BinaryExpressionNode binaryExpressionNode)
|
private string EmitBinaryExpression(BinaryExpressionNode binaryExpressionNode)
|
||||||
@@ -441,9 +439,7 @@ public class Generator
|
|||||||
}
|
}
|
||||||
|
|
||||||
var arrayType = (NubConstArrayType)arrayInitializerNode.Type;
|
var arrayType = (NubConstArrayType)arrayInitializerNode.Type;
|
||||||
var tmp = NewTmp();
|
return $"({CType.Create(arrayType.ElementType)}[{arrayType.Size}]){{{string.Join(", ", values)}}}";
|
||||||
_writer.WriteLine($"{CType.Create(arrayType.ElementType)} {tmp}[{arrayType.Size}] = {{{string.Join(", ", values)}}};");
|
|
||||||
return tmp;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private string EmitConstArrayToSlice(ConstArrayToSliceNode constArrayToSliceNode)
|
private string EmitConstArrayToSlice(ConstArrayToSliceNode constArrayToSliceNode)
|
||||||
|
|||||||
@@ -2,16 +2,22 @@ module "main"
|
|||||||
|
|
||||||
extern "puts" func puts(text: cstring)
|
extern "puts" func puts(text: cstring)
|
||||||
|
|
||||||
|
struct X
|
||||||
|
{
|
||||||
|
points: []i32
|
||||||
|
}
|
||||||
|
|
||||||
extern "main" func main(argc: i64, argv: [?]cstring): i64
|
extern "main" func main(argc: i64, argv: [?]cstring): i64
|
||||||
{
|
{
|
||||||
let names: []cstring = ["test", "test2"]
|
let f: []cstring = ["1", "2", "3"]
|
||||||
|
|
||||||
puts(names[0])
|
puts(f[0])
|
||||||
puts(names[1])
|
puts(f[1])
|
||||||
|
puts(f[2])
|
||||||
|
|
||||||
for name, i in names
|
for num in f
|
||||||
{
|
{
|
||||||
puts(name)
|
puts(num)
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
Reference in New Issue
Block a user