From cff1b3dff6d169675309d3f7a8433ed55b9a2007 Mon Sep 17 00:00:00 2001 From: Ginger Bill Date: Tue, 3 Jan 2017 20:07:46 +0000 Subject: v0.0.5 Fix enumerations to so they work as integers in indices; Add llir_opt.c and llir_print.c --- code/demo.odin | 75 +++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 51 insertions(+), 24 deletions(-) (limited to 'code') diff --git a/code/demo.odin b/code/demo.odin index a7bf7aa88..3680c8957 100644 --- a/code/demo.odin +++ b/code/demo.odin @@ -1,33 +1,60 @@ -#import "atomic.odin"; #import "fmt.odin"; -#import "hash.odin"; -#import "math.odin"; -#import "mem.odin"; -#import "opengl.odin"; -#import "os.odin"; -#import "sync.odin"; -#import "utf8.odin"; -#import win32 "sys/windows.odin"; -Thing :: enum f64 { - _, // Ignore first value - A = 1<<(10*iota), - B, - C, - D, -} + main :: proc() { - msg := "Hellope"; - list := []int{1, 4, 7, 3, 7, 2, 1}; + { + Byte_Size :: enum f64 { + _, // Ignore first value + KB = 1<<(10*iota), + MB, + GB, + TB, + PB, + } + + using Byte_Size; + fmt.println(KB, MB, GB, TB, PB); + } + { + x := if 1 < 2 { + y := 123; + give y-2; + } else { + give 0; + }; + + x += { + x := 2; + give x; + }; - for value : msg { - fmt.println(value); + fmt.println("x =", x); } - for value : list { - fmt.println(value); + { + list := []int{1, 4, 7, 3, 7, 2, 1}; + for value : list { + fmt.println(value); + } + for val, idx : 12 ..< 17 { + fmt.println(val, idx); + } + msg := "Hellope"; + for value : msg { + fmt.println(value); + } } - for val, idx : 12 ..< 17 { - fmt.println(val, idx); + { + i := 0; + while i < 2 { + i += 1; + } + + // Idiom to emulate C-style for loops + while x := 0; x < 2 { + defer x += 1; + // Body of code + // ++ and -- have been removed + } } } -- cgit v1.2.3