diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-10-10 21:22:00 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-10-10 21:22:00 -0700 |
commit | ae6340f2254d22fcbb05ac9a18b00341886fd341 (patch) | |
tree | b9839289c414e00a016c0e95dc5fd191fcc47554 /apps/tile/main.mu | |
parent | 831a133a4b15dfaf81318b848b0cabb7c7c91e98 (diff) | |
download | mu-ae6340f2254d22fcbb05ac9a18b00341886fd341.tar.gz |
6991 - tile: nested calls now expanding
I just needed to remove an obsolete guardrail in render-line. Still seeing some bugs with left-arrow when playing around with the full expansion of `1 2+`.
Diffstat (limited to 'apps/tile/main.mu')
-rw-r--r-- | apps/tile/main.mu | 247 |
1 files changed, 10 insertions, 237 deletions
diff --git a/apps/tile/main.mu b/apps/tile/main.mu index 2f559918..2336b37b 100644 --- a/apps/tile/main.mu +++ b/apps/tile/main.mu @@ -81,114 +81,18 @@ fn test { process env, g g <- copy 0x32 # '2' process env, g - g <- copy 0x2a # '*' + g <- copy 0x2b # '+' process env, g g <- copy 0xa # <enter> process env, g - g <- copy 0x20 # space - process env, g - g <- copy 0x32 # '2' - process env, g - g <- copy 0x2a # '*' - process env, g - g <- copy 0xa # <enter> - process env, g - # 12 arrows to return to end of first call - g <- copy 0x445b1b # left-arrow - process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - cursor-call-path <- get foo, next - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - compare foo, 0 - break-if-= - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } - process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - cursor-call-path <- get foo, next - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - compare foo, 0 - break-if-= - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } g <- copy 0x445b1b # left-arrow process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - cursor-call-path <- get foo, next - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - compare foo, 0 - break-if-= - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } g <- copy 0x445b1b # left-arrow process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - cursor-call-path <- get foo, next - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - compare foo, 0 - break-if-= - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } g <- copy 0x445b1b # left-arrow process env, g { - print-string-to-real-screen "==\n" + print-string 0, "== before enter\n" var functions/ecx: (addr handle function) <- get env, functions var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah @@ -198,7 +102,7 @@ fn test { var foo/ecx: (addr call-path-element) <- copy _foo var bar/eax: (addr int) <- get foo, index-in-body print-int32-hex 0, *bar - print-string-to-real-screen "\n" + print-string 0, "\n" cursor-call-path <- get foo, next var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path var foo/ecx: (addr call-path-element) <- copy _foo @@ -206,127 +110,12 @@ fn test { break-if-= var bar/eax: (addr int) <- get foo, index-in-body print-int32-hex 0, *bar - print-string-to-real-screen "\n" + print-string 0, "\n" } - g <- copy 0x445b1b # left-arrow - process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - cursor-call-path <- get foo, next - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - compare foo, 0 - break-if-= - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } - g <- copy 0x445b1b # left-arrow - process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - cursor-call-path <- get foo, next - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - compare foo, 0 - break-if-= - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } - g <- copy 0x445b1b # left-arrow - process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - cursor-call-path <- get foo, next - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - compare foo, 0 - break-if-= - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } - g <- copy 0x445b1b # left-arrow - process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - cursor-call-path <- get foo, next - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - compare foo, 0 - break-if-= - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } - g <- copy 0x445b1b # left-arrow - process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - cursor-call-path <- get foo, next - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - compare foo, 0 - break-if-= - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } - g <- copy 0x445b1b # left-arrow + g <- copy 0xa # <enter> process env, g { - print-string-to-real-screen "==\n" + print-string 0, "== after enter\n" var functions/ecx: (addr handle function) <- get env, functions var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah @@ -336,7 +125,7 @@ fn test { var foo/ecx: (addr call-path-element) <- copy _foo var bar/eax: (addr int) <- get foo, index-in-body print-int32-hex 0, *bar - print-string-to-real-screen "\n" + print-string 0, "\n" cursor-call-path <- get foo, next var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path var foo/ecx: (addr call-path-element) <- copy _foo @@ -344,22 +133,7 @@ fn test { break-if-= var bar/eax: (addr int) <- get foo, index-in-body print-int32-hex 0, *bar - print-string-to-real-screen "\n" - } - g <- copy 0x445b1b # left-arrow - process env, g - { - print-string-to-real-screen "==\n" - var functions/ecx: (addr handle function) <- get env, functions - var sandbox-ah/eax: (addr handle sandbox) <- get env, sandboxes - var _sandbox/eax: (addr sandbox) <- lookup *sandbox-ah - var sandbox/edi: (addr sandbox) <- copy _sandbox - var cursor-call-path/edi: (addr handle call-path-element) <- get sandbox, cursor-call-path - var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path - var foo/ecx: (addr call-path-element) <- copy _foo - var bar/eax: (addr int) <- get foo, index-in-body - print-int32-hex 0, *bar - print-string-to-real-screen "\n" + print-string 0, "\n" cursor-call-path <- get foo, next var _foo/eax: (addr call-path-element) <- lookup *cursor-call-path var foo/ecx: (addr call-path-element) <- copy _foo @@ -367,10 +141,9 @@ fn test { break-if-= var bar/eax: (addr int) <- get foo, index-in-body print-int32-hex 0, *bar - print-string-to-real-screen "\n" + print-string 0, "\n" } - g <- copy 0x445b1b # left-arrow - process env, g + print-string 0, "== render\n" render env } |