From 15fce202de10352d60c1853e7c8940b3eeca13c9 Mon Sep 17 00:00:00 2001 From: A404M Date: Fri, 30 May 2025 17:51:26 +0330 Subject: add functionality to scopeAlloc --- code/main.felan | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'code/main.felan') diff --git a/code/main.felan b/code/main.felan index 98aa762..8e096e0 100644 --- a/code/main.felan +++ b/code/main.felan @@ -12,12 +12,28 @@ __sum__ :: (left:*anytype,right:i64) -> (@type_of(left)) { return @add(left,right); }; +__sub__ :: (left:*anytype,right:i64) -> (@type_of(left)) { + return @sub(left,right); +}; + +__get_item__ :: (left:*anytype,index:i64) -> (@type_of(left.*)) { + left += index; + return left.*; +}; + +__set_item__ :: (left:*anytype,index:i64,item:@type_of(left.*)) -> (@type_of(left.*)) { + left += index; + return left.* = item; +}; + +__get_item_address__ :: (left:*anytype,index:i64,item:@type_of(left.*)) -> (@type_of(left)) { + left += index; + return left; +}; + main :: ()->void{ - arr :[10]i64= undefined; - arr[0] = 2; - arr[1] = 3; - p := &arr[0]; - p += 1; - print(p.*); + p := @stack_alloc(i64,10); + __set_item__(p,1,0); + print(__get_item__(p,1)); }; -- cgit v1.2.3