Variable declaration and assign, unary operators

This commit is contained in:
gingerBill
2016-07-31 23:01:42 +01:00
parent 776dc0e8f1
commit 70f6282f41
7 changed files with 273 additions and 93 deletions
+15 -11
View File
@@ -1,16 +1,20 @@
define void @main() {
entry:
%0 = alloca i64, align 8
%0 = alloca i64, align 8 ; a
store i64 zeroinitializer, i64* %0
store i64 137, i64* %0
%1 = load i64, i64* %0
add i64 1, %1
store i64 %2, i64* %0
%3 = alloca float, align 4
store float zeroinitializer, float* %3
store float 0x3f8147ae00000000, float* %3
%4 = load float, float* %3
fadd float %4, 0x3f7d70a400000000
store float %5, float* %3
%1 = alloca i64, align 8 ; b
store i64 zeroinitializer, i64* %1
store i64 1, i64* %0
store i64 2, i64* %1
%2 = load i64, i64* %0
%3 = add i64 %2, 1
store i64 %3, i64* %0
%4 = load i64, i64* %1
%5 = add i64 %4, 1
store i64 %5, i64* %1
%6 = load i64, i64* %1
%7 = load i64, i64* %0
%8 = add i64 %7, %6
store i64 %8, i64* %0
ret void
}
+4 -9
View File
@@ -1,11 +1,6 @@
main :: proc() {
// x : string;
// x = "Hello";
x : int;
x = 137;
x = 1 + x;
y : f32;
y = 1.01;
y = y + 0.99;
a, b := 1, 2;
a++;
b++;
a += b;
}