Code generation for procedure literals

This commit is contained in:
gingerBill
2016-08-11 21:53:44 +01:00
parent 4c467b118d
commit 19cc77dad3
11 changed files with 341 additions and 468 deletions
+33 -26
View File
@@ -2,31 +2,38 @@ import "basic"
TWO_HEARTS :: '💕';
main :: proc() {
dst : [4]int;
src : [2]int;
src[0] = 7;
src[1] = 5;
_ = copy(dst[1:], src[:]);
for i := 0; i < len(dst); i++ {
print_int(dst[i]);
}
if false {
print_string("Chinese - 你好世界\n");
print_string("Dutch - Hello wereld\n");
print_string("English - Hello world\n");
print_string("French - Bonjour monde\n");
print_string("German - Hallo Welt\n");
print_string("Greek - γειά σου κόσμος\n");
print_string("Italian - Ciao mondo\n");
print_string("Japanese - こんにちは世界\n");
print_string("Korean - 여보세요 세계\n");
print_string("Portuguese - Olá mundo\n");
print_string("Russian - Здравствулте мир\n");
print_string("Spanish - Hola mundo\n");
}
thing :: proc(p : proc() -> int) {
print_int(p());
print_rune('\n');
}
main :: proc() {
a : u8 = 123;
print_int(cast(int)a);
print_rune(TWO_HEARTS);
print_rune('\n');
thing(proc() -> int {
a : int = 1337;
print_rune(TWO_HEARTS);
print_rune('\n');
return a;
});
}
/*
if false {
print_string("Chinese - \n");
print_string("Dutch - Hello wereld\n");
print_string("English - Hello world\n");
print_string("French - Bonjour monde\n");
print_string("German - Hallo Welt\n");
print_string("Greek - γειά σου κόσμος\n");
print_string("Italian - Ciao mondo\n");
print_string("Japanese - \n");
print_string("Korean - \n");
print_string("Portuguese - Olá mundo\n");
print_string("Russian - Здравствулте мир\n");
print_string("Spanish - Hola mundo\n");
}
*/