diff options
-rw-r--r-- | trace.arc.t | 114 | ||||
-rw-r--r-- | trace.mu | 68 |
2 files changed, 92 insertions, 90 deletions
diff --git a/trace.arc.t b/trace.arc.t index 87db1205..839d87d1 100644 --- a/trace.arc.t +++ b/trace.arc.t @@ -25,8 +25,8 @@ schedule: done with routine") (traces:instruction-trace-address-array-address <- parse-traces s:stream-address) (len:integer <- length traces:instruction-trace-address-array-address/deref) (screen:terminal-address <- init-fake-terminal 70:literal 15:literal) - (screen-state:space-address <- screen-state traces:instruction-trace-address-array-address 30:literal/screen-height) - (print-traces-collapsed screen-state:space-address screen:terminal-address) + (browser-state:space-address <- browser-state traces:instruction-trace-address-array-address 30:literal/screen-height) + (print-traces-collapsed browser-state:space-address screen:terminal-address) (1:string-address/raw <- get screen:terminal-address/deref data:offset) ]))) ;? (set dump-trace*) @@ -73,8 +73,8 @@ schedule: done with routine") ; position the cursor away from top of screen (cursor-down 1:terminal-address/raw) (cursor-down 1:terminal-address/raw) - (screen-state:space-address <- screen-state traces:instruction-trace-address-array-address 30:literal/screen-height) - (print-traces-collapsed screen-state:space-address 1:terminal-address/raw traces:instruction-trace-address-array-address) + (browser-state:space-address <- browser-state traces:instruction-trace-address-array-address 30:literal/screen-height) + (print-traces-collapsed browser-state:space-address 1:terminal-address/raw traces:instruction-trace-address-array-address) (2:string-address/raw <- get 1:terminal-address/raw/deref data:offset) ]))) (run 'main) @@ -132,14 +132,14 @@ schedule: done with routine") ; position the cursor away from top of screen (cursor-down 2:terminal-address/raw) (cursor-down 2:terminal-address/raw) - (3:space-address/raw <- screen-state 1:instruction-trace-address-array-address/raw 30:literal/screen-height) + (3:space-address/raw <- browser-state 1:instruction-trace-address-array-address/raw 30:literal/screen-height) ; draw trace - (print-traces-collapsed 3:space-address/raw/screen-state 2:terminal-address/raw 1:instruction-trace-address-array-address/raw) + (print-traces-collapsed 3:space-address/raw/browser-state 2:terminal-address/raw 1:instruction-trace-address-array-address/raw) ; move cursor up ; we have no way yet to test special keys like up-arrow (s:string-address <- new "k") (k:keyboard-address <- init-keyboard s:string-address) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) ; draw cursor (replace-character 2:terminal-address/raw ((#\* literal))) (4:string-address/raw <- get 2:terminal-address/raw/deref data:offset) @@ -166,9 +166,9 @@ schedule: done with routine") ; move cursor up 3 more lines (s:string-address <- new "kkk") (k:keyboard-address <- init-keyboard s:string-address) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) (replace-character 2:terminal-address/raw ((#\* literal))) ) ; cursor is now at line 3 @@ -189,13 +189,13 @@ schedule: done with routine") (replace-character 2:terminal-address/raw ((#\+ literal))) (s:string-address <- new "kkk") (k:keyboard-address <- init-keyboard s:string-address) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) (replace-character 2:terminal-address/raw ((#\* literal))) ) ; cursor doesn't go beyond the first line printed -; stuff on screen before screen-state was initialized is inviolate +; stuff on screen before browser-state was initialized is inviolate (when (~screen-contains memory*.4 70 (+ " " " " @@ -213,10 +213,10 @@ schedule: done with routine") (replace-character 2:terminal-address/raw ((#\+ literal))) (s:string-address <- new "jjjj") (k:keyboard-address <- init-keyboard s:string-address) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) (replace-character 2:terminal-address/raw ((#\* literal))) ) (when (~screen-contains memory*.4 70 @@ -236,10 +236,10 @@ schedule: done with routine") (replace-character 2:terminal-address/raw ((#\+ literal))) (s:string-address <- new "jjjj") (k:keyboard-address <- init-keyboard s:string-address) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) (replace-character 2:terminal-address/raw ((#\* literal))) ) (when (~screen-contains memory*.4 70 @@ -281,9 +281,9 @@ schedule: done with routine") ; position the cursor away from top of screen (cursor-down 2:terminal-address/raw) (cursor-down 2:terminal-address/raw) - (3:space-address/raw <- screen-state 1:instruction-trace-address-array-address/raw 30:literal/screen-height) + (3:space-address/raw <- browser-state 1:instruction-trace-address-array-address/raw 30:literal/screen-height) ; draw trace - (print-traces-collapsed 3:space-address/raw/screen-state 2:terminal-address/raw 1:instruction-trace-address-array-address/raw) + (print-traces-collapsed 3:space-address/raw/browser-state 2:terminal-address/raw 1:instruction-trace-address-array-address/raw) (4:string-address/raw <- get 2:terminal-address/raw/deref data:offset) ]))) (run 'main) @@ -305,8 +305,8 @@ schedule: done with routine") ; move cursor to final line and expand (s:string-address <- new "k\n") (k:keyboard-address <- init-keyboard s:string-address) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) ) ; final line is expanded (when (~screen-contains memory*.4 70 @@ -366,15 +366,15 @@ schedule: done with routine") ; position the cursor away from top of screen (cursor-down 2:terminal-address/raw) (cursor-down 2:terminal-address/raw) - (3:space-address/raw <- screen-state 1:instruction-trace-address-array-address/raw 30:literal/screen-height) + (3:space-address/raw <- browser-state 1:instruction-trace-address-array-address/raw 30:literal/screen-height) ; draw trace - (print-traces-collapsed 3:space-address/raw/screen-state 2:terminal-address/raw 1:instruction-trace-address-array-address/raw) + (print-traces-collapsed 3:space-address/raw/browser-state 2:terminal-address/raw 1:instruction-trace-address-array-address/raw) ; expand penultimate line (s:string-address <- new "kk\n") (k:keyboard-address <- init-keyboard s:string-address) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) (4:string-address/raw <- get 2:terminal-address/raw/deref data:offset) ]))) (run 'main) @@ -422,16 +422,16 @@ schedule: done with routine") ; position the cursor away from top of screen (cursor-down 2:terminal-address/raw) (cursor-down 2:terminal-address/raw) - (3:space-address/raw <- screen-state 1:instruction-trace-address-array-address/raw 30:literal/screen-height) + (3:space-address/raw <- browser-state 1:instruction-trace-address-array-address/raw 30:literal/screen-height) ; draw trace - (print-traces-collapsed 3:space-address/raw/screen-state 2:terminal-address/raw 1:instruction-trace-address-array-address/raw) + (print-traces-collapsed 3:space-address/raw/browser-state 2:terminal-address/raw 1:instruction-trace-address-array-address/raw) ; expand penultimate line, then move one line down and draw cursor (s:string-address <- new "kk\nj") (k:keyboard-address <- init-keyboard s:string-address) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) (replace-character 2:terminal-address/raw ((#\* literal))) (4:string-address/raw <- get 2:terminal-address/raw/deref data:offset) ]))) @@ -460,7 +460,7 @@ schedule: done with routine") ; move cursor back up one line (s:string-address <- new "k") (k:keyboard-address <- init-keyboard s:string-address) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) ; show cursor (replace-character 2:terminal-address/raw ((#\* literal))) ) @@ -487,7 +487,7 @@ schedule: done with routine") ; press enter (s:string-address <- new "\n") (k:keyboard-address <- init-keyboard s:string-address) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) ) (each routine completed-routines* (awhen rep.routine!error @@ -510,15 +510,15 @@ schedule: done with routine") ; move up a few lines, expand, then move down and expand again (s:string-address <- new "kkk\njjj\n") (k:keyboard-address <- init-keyboard s:string-address) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) ;? (replace-character 2:terminal-address/raw ((#\* literal))) ;? 1 - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) ) (each routine completed-routines* (awhen rep.routine!error @@ -564,8 +564,8 @@ run: main 8: o") (traces:instruction-trace-address-array-address <- parse-traces s:stream-address) (len:integer <- length traces:instruction-trace-address-array-address/deref) (2:terminal-address/raw <- init-fake-terminal 17:literal 15:literal) - (3:space-address/raw/screen-state <- screen-state traces:instruction-trace-address-array-address 3:literal/screen-height) - (print-traces-collapsed 3:space-address/raw/screen-state 2:terminal-address/raw) + (3:space-address/raw/browser-state <- browser-state traces:instruction-trace-address-array-address 3:literal/screen-height) + (print-traces-collapsed 3:space-address/raw/browser-state 2:terminal-address/raw) (4:string-address/raw <- get 2:terminal-address/raw/deref data:offset) ]))) (run 'main) @@ -583,10 +583,10 @@ run: main 8: o") (default-space:space-address <- new space:literal 30:literal/capacity) (s:string-address <- new "kkk\n") (k:keyboard-address <- init-keyboard s:string-address) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) ) ; screen shows just first trace line fully expanded (when (~screen-contains memory*.4 17 @@ -600,8 +600,8 @@ run: main 8: o") (default-space:space-address <- new space:literal 30:literal/capacity) (s:string-address <- new "j\n") (k:keyboard-address <- init-keyboard s:string-address) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) ) ; screen shows part of the second trace line expanded (when (~screen-contains memory*.4 17 @@ -616,8 +616,8 @@ run: main 8: o") (default-space:space-address <- new space:literal 30:literal/capacity) (s:string-address <- new "k\n") (k:keyboard-address <- init-keyboard s:string-address) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) - (process-key 3:space-address/raw/screen-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) + (process-key 3:space-address/raw/browser-state k:keyboard-address 2:terminal-address/raw) ) ; screen again shows first trace line expanded (when (~screen-contains memory*.4 17 diff --git a/trace.mu b/trace.mu index ba68a484..17604144 100644 --- a/trace.mu +++ b/trace.mu @@ -124,7 +124,7 @@ (default-space:space-address <- new space:literal 30:literal) (screen:terminal-address <- next-input) (x:instruction-trace-address <- next-input) - (0:space-address/names:screen-state <- next-input) + (0:space-address/names:browser-state <- next-input) (clear-line screen:terminal-address) (print-character screen:terminal-address ((#\- literal))) (print-character screen:terminal-address ((#\space literal))) @@ -151,7 +151,7 @@ (print-character screen:terminal-address ((#\space literal))) (i:string-address <- get x:instruction-trace-address/deref instruction:offset) (print-string screen:terminal-address i:string-address) - (add-line 0:space-address/screen-state screen:terminal-address) + (add-line 0:space-address/browser-state screen:terminal-address) ; print children (ch:trace-address-array-address <- get x:instruction-trace-address/deref children:offset) (i:integer <- copy 0:literal) @@ -173,7 +173,7 @@ (print-character screen:terminal-address ((#\space literal))) (print-character screen:terminal-address ((#\space literal))) (print-trace screen:terminal-address t:trace-address) - (add-line 0:space-address/screen-state screen:terminal-address) + (add-line 0:space-address/browser-state screen:terminal-address) (i:integer <- add i:integer 1:literal) (loop) } @@ -183,7 +183,7 @@ (default-space:space-address <- new space:literal 30:literal) (screen:terminal <- next-input) (x:instruction-trace-address <- next-input) - (screen-state:space-address <- next-input) + (browser-state:space-address <- next-input) (clear-line screen:terminal-address) (print-character screen:terminal-address ((#\+ literal))) (print-character screen:terminal-address ((#\space literal))) @@ -212,7 +212,7 @@ (print-character screen:terminal-address ((#\space literal))) (i:string-address <- get x:instruction-trace-address/deref instruction:offset) (print-string screen:terminal-address i:string-address) - (add-line screen-state:space-address screen:terminal-address) + (add-line browser-state:space-address screen:terminal-address) ]) (function instruction-trace-num-children [ @@ -226,20 +226,22 @@ ]) ;; data structure -(function screen-state [ +(function browser-state [ (default-space:space-address <- new space:literal 30:literal/capacity) - (traces:instruction-trace-address-array-address <- next-input) + ; trace state + (traces:instruction-trace-address-array-address <- next-input) ; the ground truth being rendered + (expanded-index:integer <- copy -1:literal) ; currently trace browser only ever shows one item expanded + ; screen state (screen-height:integer <- next-input) ; 'hardware' limitation (app-height:integer <- copy 0:literal) ; area of the screen we're responsible for; can't be larger than screen-height (printed-height:integer <- copy 0:literal) ; part of screen that currently has text; can't be larger than app-height (cursor-row:integer <- copy 0:literal) ; position of cursor on screen; can't be larger than printed-height + 1 - (expanded-index:integer <- copy -1:literal) (reply default-space:space-address) ]) (function down [ (default-space:space-address <- new space:literal 30:literal/capacity) - (0:space-address/names:screen-state <- next-input) + (0:space-address/names:browser-state <- next-input) (screen:terminal-address <- next-input) ; if at expanded, skip past nested lines { begin @@ -271,7 +273,7 @@ (function up [ (default-space:space-address <- new space:literal 30:literal/capacity) - (0:space-address/names:screen-state <- next-input) + (0:space-address/names:browser-state <- next-input) (screen:terminal-address <- next-input) ; if at expanded, skip past nested lines { begin @@ -304,7 +306,7 @@ (function to-bottom [ (default-space:space-address <- new space:literal 30:literal/capacity) - (0:space-address/names:screen-state <- next-input) + (0:space-address/names:browser-state <- next-input) (screen:terminal-address <- next-input) { begin (at-bottom?:boolean <- greater-or-equal cursor-row:integer/space:1 printed-height:integer/space:1) @@ -316,7 +318,7 @@ (function back-to [ (default-space:space-address <- new space:literal 30:literal/capacity) - (0:space-address/names:screen-state <- next-input) + (0:space-address/names:browser-state <- next-input) (screen:terminal-address <- next-input) (target-row:integer <- next-input) { begin @@ -335,7 +337,7 @@ (function add-line [ ; move down, adding line if necessary (default-space:space-address <- new space:literal 30:literal/capacity) - (0:space-address/names:screen-state <- next-input) + (0:space-address/names:browser-state <- next-input) (screen:terminal-address <- next-input) { begin (at-bottom?:boolean <- greater-or-equal cursor-row:integer/space:1 printed-height:integer/space:1) @@ -362,14 +364,14 @@ ;; initial screen state (function print-traces-collapsed [ (default-space:space-address <- new space:literal 30:literal/capacity) - (0:space-address/names:screen-state <- next-input) + (0:space-address/names:browser-state <- next-input) (screen:terminal-address <- next-input) - (print-traces-collapsed-from 0:space-address/screen-state screen:terminal-address 0:literal/from) + (print-traces-collapsed-from 0:space-address/browser-state screen:terminal-address 0:literal/from) ]) (function print-traces-collapsed-from [ (default-space:space-address <- new space:literal 30:literal/capacity) - (0:space-address/names:screen-state <- next-input) + (0:space-address/names:browser-state <- next-input) (screen:terminal-address <- next-input) (trace-index:integer <- next-input) (len:integer <- length traces:instruction-trace-address-array-address/space:1/deref) @@ -384,7 +386,7 @@ (break-if screen-done?:boolean) ; continue printing trace lines (tr:instruction-trace-address <- index traces:instruction-trace-address-array-address/space:1/deref trace-index:integer) - (print-instruction-trace-collapsed screen:terminal-address tr:instruction-trace-address 0:space-address/screen-state) + (print-instruction-trace-collapsed screen:terminal-address tr:instruction-trace-address 0:space-address/browser-state) (trace-index:integer <- add trace-index:integer 1:literal) (loop) } @@ -396,14 +398,14 @@ (done?:boolean <- greater-or-equal cursor-row:integer/space:1 app-height:integer/space:1) (break-if done?:boolean) (clear-line screen:terminal-address) - (down 0:space-address/screen-state screen:terminal-address) + (down 0:space-address/browser-state screen:terminal-address) (loop) } ]) (function cursor-row-to-trace-index [ (default-space:space-address <- new space:literal 30:literal/capacity) - (0:space-address/names:screen-state <- next-input) + (0:space-address/names:browser-state <- next-input) (n:integer/screen <- next-input) ; no row expanded? no munging needed { begin @@ -425,7 +427,7 @@ ;; modify screen state in response to a single key (function process-key [ (default-space:space-address <- new space:literal 30:literal/capacity) - (0:space-address/names:screen-state <- next-input) + (0:space-address/names:browser-state <- next-input) (k:keyboard-address <- next-input) (screen:terminal-address <- next-input) (c:character <- read-key k:keyboard-address silent:literal/terminal) @@ -448,7 +450,7 @@ (k?:boolean <- equal c:character ((#\k literal))) (up?:boolean <- or up?:boolean k?:boolean) (break-unless up?:boolean) - (up 0:space-address/screen-state screen:terminal-address) + (up 0:space-address/browser-state screen:terminal-address) (reply nil:literal) } { begin @@ -456,7 +458,7 @@ (j?:boolean <- equal c:character ((#\j literal))) (down?:boolean <- or down?:boolean j?:boolean) (break-unless down?:boolean) - (down 0:space-address/screen-state screen:terminal-address) + (down 0:space-address/browser-state screen:terminal-address) (reply nil:literal) } ; enter: expand/collapse current row @@ -466,7 +468,7 @@ (original-cursor-row:integer <- copy cursor-row:integer/space:1) ;? ($print original-cursor-row:integer) ;? 1 ;? ($print (("\n" literal))) ;? 1 - (original-trace-index:integer <- cursor-row-to-trace-index 0:space-address/screen-state original-cursor-row:integer) + (original-trace-index:integer <- cursor-row-to-trace-index 0:space-address/browser-state original-cursor-row:integer) ;? ($print original-trace-index:integer) ;? 1 ;? ($print (("\n" literal))) ;? 1 ; is expanded-index already set? @@ -479,8 +481,8 @@ (break-unless at-expanded?:boolean) ; print remaining lines collapsed and return (expanded-index:integer/space:1 <- copy -1:literal) - (print-traces-collapsed-from 0:space-address/screen-state screen:terminal-address cursor-row:integer/space:1) - (back-to 0:space-address/screen-state screen:terminal-address original-cursor-row:integer) + (print-traces-collapsed-from 0:space-address/browser-state screen:terminal-address cursor-row:integer/space:1) + (back-to 0:space-address/browser-state screen:terminal-address original-cursor-row:integer) (reply) } ; are we below the expanded row? @@ -499,7 +501,7 @@ (done?:boolean <- greater-or-equal cursor-row:integer/space:1 original-trace-index:integer) (break-if done?:boolean) (tr:instruction-trace-address <- index traces:instruction-trace-address-array-address/space:1/deref cursor-row:integer/space:1) - (print-instruction-trace-collapsed screen:terminal-address tr:instruction-trace-address 0:space-address/screen-state) + (print-instruction-trace-collapsed screen:terminal-address tr:instruction-trace-address 0:space-address/browser-state) (loop) } ; fall through @@ -508,12 +510,12 @@ ; expand original row and print traces below it (expanded-index:integer/space:1 <- copy original-trace-index:integer) (tr:instruction-trace-address <- index traces:instruction-trace-address-array-address/space:1/deref original-trace-index:integer) - (print-instruction-trace screen:terminal-address tr:instruction-trace-address 0:space-address/screen-state) + (print-instruction-trace screen:terminal-address tr:instruction-trace-address 0:space-address/browser-state) (next-index:integer <- add original-trace-index:integer 1:literal) ;? ($print next-index:integer) ;? 1 ;? ($print (("\n" literal))) ;? 1 - (print-traces-collapsed-from 0:space-address/screen-state screen:terminal-address next-index:integer) - (back-to 0:space-address/screen-state screen:terminal-address original-trace-index:integer) + (print-traces-collapsed-from 0:space-address/browser-state screen:terminal-address next-index:integer) + (back-to 0:space-address/browser-state screen:terminal-address original-trace-index:integer) (reply nil:literal) } (reply nil:literal) @@ -540,16 +542,16 @@ ;? schedule: done with routine") (s:stream-address <- init-stream x:string-address) (traces:instruction-trace-address-array-address <- parse-traces s:stream-address) - (0:space-address/names:screen-state <- screen-state traces:instruction-trace-address-array-address screen-height:integer) + (0:space-address/names:browser-state <- browser-state traces:instruction-trace-address-array-address screen-height:integer) (cursor-mode) - (print-traces-collapsed 0:space-address/screen-state nil:literal/terminal) + (print-traces-collapsed 0:space-address/browser-state nil:literal/terminal) { begin - (quit?:boolean <- process-key 0:space-address/screen-state nil:literal/keyboard nil:literal/terminal) + (quit?:boolean <- process-key 0:space-address/browser-state nil:literal/keyboard nil:literal/terminal) (break-if quit?:boolean) (loop) } ; move cursor to bottom before exiting - (to-bottom 0:space-address/screen-state nil:literal/terminal) + (to-bottom 0:space-address/browser-state nil:literal/terminal) (retro-mode) ]) |