From fa92a157746ae17f295d31b7a047dfeb99624a13 Mon Sep 17 00:00:00 2001 From: Baitinq Date: Wed, 11 Jun 2025 00:16:17 +0200 Subject: Misc: Rename lang --- examples/22.pry | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 examples/22.pry (limited to 'examples/22.pry') diff --git a/examples/22.pry b/examples/22.pry new file mode 100644 index 0000000..b57d7c9 --- /dev/null +++ b/examples/22.pry @@ -0,0 +1,45 @@ +extern malloc = (i64) => *void; + +import "!stdlib.pry"; + +/* declare new struct type */ +let test = struct { + x: i64, + y: *i8, + z: bool +}; + +let main = () => i64 { + /* instanciate new struct. instanciating fields isn't supported here */ + let inst = test{}; + + inst.x = 2; + inst.z = true; + inst.y = malloc(1); + (*(inst.y)) = 5; + + let x = 0; + + printf("Inst x: %d\n", inst.x); + printf("Inst y: %d\n", *(inst.y)); + + if inst.z { + x = 1; + }; + + printf("Test: %d\n", x); + + return 0; +}; + +/* + +Expected stdout: + +Inst x: 2 +Inst y: 5 +Test: 1 + +Expected return: 0 + +*/ -- cgit 1.4.1