diff options
author | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-05-30 17:51:26 +0330 |
---|---|---|
committer | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-05-30 17:51:26 +0330 |
commit | 15fce202de10352d60c1853e7c8940b3eeca13c9 (patch) | |
tree | 88cc3d3ec947e7220bd1d684b8a28af665f07868 /code | |
parent | a2a6bb49368e922af28b9a54669b9f7fe5b2e6a0 (diff) |
add functionality to scopeAlloc
Diffstat (limited to 'code')
-rw-r--r-- | code/main.felan | 28 |
1 files changed, 22 insertions, 6 deletions
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)); }; |