speedcat/test_type_checker.cat
Slendi 177a41ebd2 Add support for structure definitions and initializers
Signed-off-by: Slendi <slendi@socopon.com>
2024-03-12 10:15:38 +02:00

70 lines
1.0 KiB
Plaintext

\\let asdf := 0b1101 as f32
\\let poop :: 12.0 + 2.0 * asdf
\
\\fn name(a b: f32) i32 {
\\ ret (a + b) as i32
\\}
\
\\name 123.0 456.0
\
\\let arr: []i32, arr2: [69]u8, ptr: ^i32
\
\fn meow(val: i32) i32
\
\let amogus := 500 + (meow 8008135)
\
\meow 69 * amogus + 420
\
\let a b := 5 1
\
\if a == 5 {
\ if b {
\ meow 123
\ } else {
\ meow 69
\ }
\} elif a == 2 {
\ meow 456
\} else {
\ meow 420
\}
\
\fn add(a b: i32) i32 {
\ ret a + b
\}
\
\for a != 0 {
\ meow (1 << a) >> 1
\ a = a - 1
\}
\
\(meow (add 60 9)) -> meow
\
\fn InitWindow(w h: i32, title: i32)
\fn CloseWindow
\fn ClearBackground(c: i32)
\fn BeginDrawing
\fn EndDrawing
\fn DrawFPS(x y: i32)
\fn DrawRectangle(x y w h c: i32)
\fn DrawCircle(x y: i32, r: f32, c: i32)
\fn WindowShouldClose i32
\
\InitWindow 640 480 0
\for WindowShouldClose == 0 {
\ BeginDrawing
\ ClearBackground 0
\ DrawFPS 20 20
\ DrawRectangle 80 80 100 200 4294967295
\ DrawCircle 90 90 100.0 4278255615
\ EndDrawing
\}
\CloseWindow
\
struct MyStruct {
a b c: i32,
}
.MyStruct{ 1 2 3 }