diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-01-12 12:11:15 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-01-12 14:49:35 -0800 |
commit | f1eade728695ed3f52ae4e13f0a91dfe769e8567 (patch) | |
tree | d43079a8127487ecf9837600961f333e41ab7320 /apps/braces.subx | |
parent | e064f1bbfdbd4386d752fbb750bf36d91dce413b (diff) | |
download | mu-f1eade728695ed3f52ae4e13f0a91dfe769e8567.tar.gz |
5883 - drop the `ref` keyword
When I created it I was conflating two things: a) needing to refer to just the start, rather than the whole, and b) counting indirections. Both are kinda ill-posed. Now Mu will have just `addr` and `handle` types. Normal types will translate implicitly to `addr` types, while `handle` will always require explicit handling.
Diffstat (limited to 'apps/braces.subx')
-rw-r--r-- | apps/braces.subx | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/apps/braces.subx b/apps/braces.subx index 264f0893..e3659048 100644 --- a/apps/braces.subx +++ b/apps/braces.subx @@ -77,7 +77,7 @@ $subx-braces-main:end: subx-braces: # in : (addr buffered-file), out : (addr buffered-file) # pseudocode: - # var line : (ref stream byte 512) + # var line : (stream byte 512) # var label-stack : (stack int 32) # at most 32 levels of nesting # var next-label-id : int = 1 # while true @@ -123,20 +123,20 @@ subx-braces: # in : (addr buffered-file), out : (addr buffered-file) 57/push-edi # esi = in 8b/-> *(ebp+8) 6/r32/esi - # var line/ecx : (ref stream byte 512) + # var line/ecx : (stream byte 512) 81 5/subop/subtract %esp 0x200/imm32 68/push 0x200/imm32/length 68/push 0/imm32/read 68/push 0/imm32/write 89/<- %ecx 4/r32/esp - # var label-stack/edx : (ref stack int 32) + # var label-stack/edx : (stack int 32) 81 5/subop/subtract %esp 0x80/imm32 68/push 0x80/imm32/length 68/push 0/imm32/top 89/<- %edx 4/r32/esp # var next-label-id/ebx : int = 1 c7 0/subop/copy %ebx 1/imm32 - # var word-slice/edi : (ref slice) + # var word-slice/edi : slice 68/push 0/imm32/end 68/push 0/imm32/start 89/<- %edi 4/r32/esp |