diff options
author | Kartik Agaram <vc@akkartik.com> | 2021-06-23 13:19:20 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2021-06-23 13:19:20 -0700 |
commit | e0b8eddb5b2463a6a2890fd2a089cc3cc1a0f711 (patch) | |
tree | 33975c8b0bdde721e9bcfd4f59c85f445b3408ee /html/shell/macroexpand.mu.html | |
parent | a25e4c1ac2f135b5b76508c6bd5cd2d4edd73c49 (diff) | |
download | mu-e0b8eddb5b2463a6a2890fd2a089cc3cc1a0f711.tar.gz |
.
Diffstat (limited to 'html/shell/macroexpand.mu.html')
-rw-r--r-- | html/shell/macroexpand.mu.html | 60 |
1 files changed, 30 insertions, 30 deletions
diff --git a/html/shell/macroexpand.mu.html b/html/shell/macroexpand.mu.html index 6abe8101..4ba567b1 100644 --- a/html/shell/macroexpand.mu.html +++ b/html/shell/macroexpand.mu.html @@ -66,7 +66,7 @@ if ('onhashchange' in window) { <a href='https://github.com/akkartik/mu/blob/main/shell/macroexpand.mu'>https://github.com/akkartik/mu/blob/main/shell/macroexpand.mu</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='macroexpand.mu.html#L1'>macroexpand</a></span> expr-ah: (addr handle <a href='cell.mu.html#L1'>cell</a>), globals: (addr <a href='global.mu.html#L1'>global-table</a>), trace: (addr trace) <span class="Delimiter">{</span> -<span id="L2" class="Folded"> 2 </span><span class="Folded">+-- 15 lines: # trace "macroexpand " expr-ah --------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L2" class="Folded"> 2 </span><span class="Folded">+-- 15 lines: # trace "macroexpand " expr-ah -----------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L17" class="LineNr"> 17 </span> <a href='trace.mu.html#L239'>trace-lower</a> trace <span id="L18" class="LineNr"> 18 </span> <span class="muComment"># loop until convergence</span> <span id="L19" class="LineNr"> 19 </span> <span class="Delimiter">{</span> @@ -78,13 +78,13 @@ if ('onhashchange' in window) { <span id="L25" class="LineNr"> 25 </span> <span class="PreProc">loop-if-!=</span> <span id="L26" class="LineNr"> 26 </span> <span class="Delimiter">}</span> <span id="L27" class="LineNr"> 27 </span> <a href='trace.mu.html#L250'>trace-higher</a> trace -<span id="L28" class="Folded"> 28 </span><span class="Folded">+-- 15 lines: # trace "=> " expr-ah -----------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L28" class="Folded"> 28 </span><span class="Folded">+-- 15 lines: # trace "=> " expr-ah --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L43" class="LineNr"> 43 </span><span class="Delimiter">}</span> <span id="L44" class="LineNr"> 44 </span> <span id="L45" class="LineNr"> 45 </span><span class="muComment"># return true if we found any macros</span> <span id="L46" class="LineNr"> 46 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='macroexpand.mu.html#L46'>macroexpand-iter</a></span> _expr-ah: (addr handle <a href='cell.mu.html#L1'>cell</a>), globals: (addr <a href='global.mu.html#L1'>global-table</a>), trace: (addr trace)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> <span id="L47" class="LineNr"> 47 </span> <span class="PreProc">var</span> expr-ah/<span class="muRegEsi">esi</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> copy _expr-ah -<span id="L48" class="Folded"> 48 </span><span class="Folded">+-- 15 lines: # trace "macroexpand-iter " expr ------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L48" class="Folded"> 48 </span><span class="Folded">+-- 15 lines: # trace "macroexpand-iter " expr ---------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L63" class="LineNr"> 63 </span> <a href='trace.mu.html#L239'>trace-lower</a> trace <span id="L64" class="LineNr"> 64 </span> <span class="muComment"># if expr is a non-pair, return</span> <span id="L65" class="LineNr"> 65 </span> <span class="PreProc">var</span> expr/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *expr-ah @@ -111,8 +111,8 @@ if ('onhashchange' in window) { <span id="L86" class="LineNr"> 86 </span> <span class="PreProc">var</span> rest-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> get expr, right <span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> first/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *first-ah <span id="L88" class="LineNr"> 88 </span> <span class="Delimiter">{</span> -<span id="L89" class="LineNr"> 89 </span> <span class="PreProc">var</span> <a href='evaluate.mu.html#L1381'>litfn?</a>/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='evaluate.mu.html#L1381'>litfn?</a> first -<span id="L90" class="LineNr"> 90 </span> compare <a href='evaluate.mu.html#L1381'>litfn?</a>, <span class="Constant">0</span>/false +<span id="L89" class="LineNr"> 89 </span> <span class="PreProc">var</span> <a href='evaluate.mu.html#L1429'>litfn?</a>/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='evaluate.mu.html#L1429'>litfn?</a> first +<span id="L90" class="LineNr"> 90 </span> compare <a href='evaluate.mu.html#L1429'>litfn?</a>, <span class="Constant">0</span>/false <span id="L91" class="LineNr"> 91 </span> <span class="PreProc">break-if-=</span> <span id="L92" class="LineNr"> 92 </span> <span class="muComment"># litfn is a literal</span> <span id="L93" class="LineNr"> 93 </span> <a href='trace.mu.html#L185'>trace-text</a> trace, <span class="Constant">"mac"</span>, <span class="Constant">"literal function"</span> @@ -120,8 +120,8 @@ if ('onhashchange' in window) { <span id="L95" class="LineNr"> 95 </span> <span class="PreProc">return</span> <span class="Constant">0</span>/false <span id="L96" class="LineNr"> 96 </span> <span class="Delimiter">}</span> <span id="L97" class="LineNr"> 97 </span> <span class="Delimiter">{</span> -<span id="L98" class="LineNr"> 98 </span> <span class="PreProc">var</span> <a href='evaluate.mu.html#L1395'>litmac?</a>/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='evaluate.mu.html#L1395'>litmac?</a> first -<span id="L99" class="LineNr"> 99 </span> compare <a href='evaluate.mu.html#L1395'>litmac?</a>, <span class="Constant">0</span>/false +<span id="L98" class="LineNr"> 98 </span> <span class="PreProc">var</span> <a href='evaluate.mu.html#L1443'>litmac?</a>/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='evaluate.mu.html#L1443'>litmac?</a> first +<span id="L99" class="LineNr"> 99 </span> compare <a href='evaluate.mu.html#L1443'>litmac?</a>, <span class="Constant">0</span>/false <span id="L100" class="LineNr">100 </span> <span class="PreProc">break-if-=</span> <span id="L101" class="LineNr">101 </span> <span class="muComment"># litmac is a literal</span> <span id="L102" class="LineNr">102 </span> <a href='trace.mu.html#L185'>trace-text</a> trace, <span class="Constant">"mac"</span>, <span class="Constant">"literal macro"</span> @@ -131,8 +131,8 @@ if ('onhashchange' in window) { <span id="L106" class="LineNr">106 </span> <span class="PreProc">var</span> result/<span class="muRegEdi">edi</span>: boolean <span class="Special"><-</span> copy <span class="Constant">0</span>/false <span id="L107" class="LineNr">107 </span> <span class="muComment"># for each builtin, expand only what will later be evaluated</span> <span id="L108" class="LineNr">108 </span> $macroexpand-iter:anonymous-function: <span class="Delimiter">{</span> -<span id="L109" class="LineNr">109 </span> <span class="PreProc">var</span> <a href='evaluate.mu.html#L1367'>fn?</a>/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='evaluate.mu.html#L1367'>fn?</a> first -<span id="L110" class="LineNr">110 </span> compare <a href='evaluate.mu.html#L1367'>fn?</a>, <span class="Constant">0</span>/false +<span id="L109" class="LineNr">109 </span> <span class="PreProc">var</span> <a href='evaluate.mu.html#L1415'>fn?</a>/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='evaluate.mu.html#L1415'>fn?</a> first +<span id="L110" class="LineNr">110 </span> compare <a href='evaluate.mu.html#L1415'>fn?</a>, <span class="Constant">0</span>/false <span id="L111" class="LineNr">111 </span> <span class="PreProc">break-if-=</span> <span id="L112" class="LineNr">112 </span> <span class="muComment"># fn: expand every expression in the body</span> <span id="L113" class="LineNr">113 </span> <a href='trace.mu.html#L185'>trace-text</a> trace, <span class="Constant">"mac"</span>, <span class="Constant">"anonymous function"</span> @@ -159,7 +159,7 @@ if ('onhashchange' in window) { <span id="L134" class="LineNr">134 </span> <span class="PreProc">loop</span> <span id="L135" class="LineNr">135 </span> <span class="Delimiter">}</span> <span id="L136" class="LineNr">136 </span> <a href='trace.mu.html#L250'>trace-higher</a> trace -<span id="L137" class="Folded">137 </span><span class="Folded">+-- 15 lines: # trace "fn=> " _expr-ah --------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L137" class="Folded">137 </span><span class="Folded">+-- 15 lines: # trace "fn=> " _expr-ah -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L152" class="LineNr">152 </span> <span class="PreProc">return</span> result <span id="L153" class="LineNr">153 </span> <span class="Delimiter">}</span> <span id="L154" class="LineNr">154 </span> <span class="muComment"># builtins with "special" evaluation rules</span> @@ -203,7 +203,7 @@ if ('onhashchange' in window) { <span id="L192" class="LineNr">192 </span> <span class="PreProc">var</span> val-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> get rest, left <span id="L193" class="LineNr">193 </span> <span class="PreProc">var</span> macro-found?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='macroexpand.mu.html#L46'>macroexpand-iter</a> val-ah, globals, trace <span id="L194" class="LineNr">194 </span> <a href='trace.mu.html#L250'>trace-higher</a> trace -<span id="L195" class="Folded">195 </span><span class="Folded">+-- 15 lines: # trace "define=> " _expr-ah ----------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L195" class="Folded">195 </span><span class="Folded">+-- 15 lines: # trace "define=> " _expr-ah -------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L210" class="LineNr">210 </span> <span class="PreProc">return</span> macro-found? <span id="L211" class="LineNr">211 </span> <span class="Delimiter">}</span> <span id="L212" class="LineNr">212 </span> $macroexpand-iter:set: <span class="Delimiter">{</span> @@ -219,7 +219,7 @@ if ('onhashchange' in window) { <span id="L222" class="LineNr">222 </span> <span class="PreProc">var</span> val-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> get rest, left <span id="L223" class="LineNr">223 </span> <span class="PreProc">var</span> macro-found?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='macroexpand.mu.html#L46'>macroexpand-iter</a> val-ah, globals, trace <span id="L224" class="LineNr">224 </span> <a href='trace.mu.html#L250'>trace-higher</a> trace -<span id="L225" class="Folded">225 </span><span class="Folded">+-- 15 lines: # trace "set=> " _expr-ah -------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L225" class="Folded">225 </span><span class="Folded">+-- 15 lines: # trace "set=> " _expr-ah ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L240" class="LineNr">240 </span> <span class="PreProc">return</span> macro-found? <span id="L241" class="LineNr">241 </span> <span class="Delimiter">}</span> <span id="L242" class="LineNr">242 </span> <span class="muComment"># 'and' is like a function for macroexpansion purposes</span> @@ -244,7 +244,7 @@ if ('onhashchange' in window) { <span id="L261" class="LineNr">261 </span> <span class="Delimiter">{</span> <span id="L262" class="LineNr">262 </span> <span class="PreProc">var</span> definition-car-ah/<span class="muRegEax">eax</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> get definition, left <span id="L263" class="LineNr">263 </span> <span class="PreProc">var</span> definition-car/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *definition-car-ah -<span id="L264" class="LineNr">264 </span> <span class="PreProc">var</span> macro?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='evaluate.mu.html#L1395'>litmac?</a> definition-car +<span id="L264" class="LineNr">264 </span> <span class="PreProc">var</span> macro?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='evaluate.mu.html#L1443'>litmac?</a> definition-car <span id="L265" class="LineNr">265 </span> compare macro?, <span class="Constant">0</span>/false <span id="L266" class="LineNr">266 </span> <span class="Delimiter">}</span> <span id="L267" class="LineNr">267 </span> <span class="PreProc">break-if-=</span> @@ -252,9 +252,9 @@ if ('onhashchange' in window) { <span id="L269" class="LineNr">269 </span> <span class="PreProc">var</span> macro-definition-ah/<span class="muRegEax">eax</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> get definition, right <span id="L270" class="LineNr">270 </span> <span class="muComment"># TODO: check car(macro-definition) is litfn</span> <span id="L271" class="LineNr">271 </span><span class="CommentedCode">#? turn-on-debug-print</span> -<span id="L272" class="LineNr">272 </span> <a href='evaluate.mu.html#L607'>apply</a> macro-definition-ah, rest-ah, expr-ah, globals, trace, <span class="Constant">0</span>/no-screen, <span class="Constant">0</span>/no-keyboard, <span class="Constant">0</span>/definitions-created, <span class="Constant">0</span>/call-number +<span id="L272" class="LineNr">272 </span> <a href='evaluate.mu.html#L655'>apply</a> macro-definition-ah, rest-ah, expr-ah, globals, trace, <span class="Constant">0</span>/no-screen, <span class="Constant">0</span>/no-keyboard, <span class="Constant">0</span>/definitions-created, <span class="Constant">0</span>/call-number <span id="L273" class="LineNr">273 </span> <a href='trace.mu.html#L250'>trace-higher</a> trace -<span id="L274" class="Folded">274 </span><span class="Folded">+-- 15 lines: # trace "1=> " _expr-ah ---------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L274" class="Folded">274 </span><span class="Folded">+-- 15 lines: # trace "1=> " _expr-ah ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L289" class="LineNr">289 </span> <span class="PreProc">return</span> <span class="Constant">1</span>/true <span id="L290" class="LineNr">290 </span> <span class="Delimiter">}</span> <span id="L291" class="LineNr">291 </span> <span class="muComment"># no macro found; process any macros within args</span> @@ -279,7 +279,7 @@ if ('onhashchange' in window) { <span id="L310" class="LineNr">310 </span> <span class="PreProc">loop</span> <span id="L311" class="LineNr">311 </span> <span class="Delimiter">}</span> <span id="L312" class="LineNr">312 </span> <a href='trace.mu.html#L250'>trace-higher</a> trace -<span id="L313" class="Folded">313 </span><span class="Folded">+-- 15 lines: # trace "=> " _expr-ah ----------------------------------------------------------------------------------------------------------------------------------------------------</span> +<span id="L313" class="Folded">313 </span><span class="Folded">+-- 15 lines: # trace "=> " _expr-ah -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L328" class="LineNr">328 </span> <span class="PreProc">return</span> result <span id="L329" class="LineNr">329 </span><span class="Delimiter">}</span> <span id="L330" class="LineNr">330 </span> @@ -301,29 +301,29 @@ if ('onhashchange' in window) { <span id="L346" class="LineNr">346 </span> <span class="Delimiter">}</span> <span id="L347" class="LineNr">347 </span> <span class="PreProc">var</span> cdr-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> get expr, right <span id="L348" class="LineNr">348 </span> <span class="PreProc">var</span> car-ah/<span class="muRegEbx">ebx</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> get expr, left -<span id="L349" class="LineNr">349 </span> <span class="PreProc">var</span> <a href='evaluate.mu.html#L1141'>car</a>/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *car-ah +<span id="L349" class="LineNr">349 </span> <span class="PreProc">var</span> <a href='evaluate.mu.html#L1189'>car</a>/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *car-ah <span id="L350" class="LineNr">350 </span> <span class="muComment"># if car is unquote or unquote-splice, check if cadr is unquote or</span> <span id="L351" class="LineNr">351 </span> <span class="muComment"># unquote-splice.</span> <span id="L352" class="LineNr">352 </span> $look-for-double-unquote:<a href='../502test.mu.html#L19'>check</a>: <span class="Delimiter">{</span> <span id="L353" class="LineNr">353 </span> <span class="muComment"># if car is not an unquote, break</span> <span id="L354" class="LineNr">354 </span> <span class="Delimiter">{</span> <span id="L355" class="LineNr">355 </span> <span class="Delimiter">{</span> -<span id="L356" class="LineNr">356 </span> <span class="PreProc">var</span> unquote?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='cell.mu.html#L44'>symbol-equal?</a> <a href='evaluate.mu.html#L1141'>car</a>, <span class="Constant">","</span> +<span id="L356" class="LineNr">356 </span> <span class="PreProc">var</span> unquote?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='cell.mu.html#L44'>symbol-equal?</a> <a href='evaluate.mu.html#L1189'>car</a>, <span class="Constant">","</span> <span id="L357" class="LineNr">357 </span> compare unquote?, <span class="Constant">0</span>/false <span id="L358" class="LineNr">358 </span> <span class="Delimiter">}</span> <span id="L359" class="LineNr">359 </span> <span class="PreProc">break-if-!=</span> -<span id="L360" class="LineNr">360 </span> <span class="PreProc">var</span> unquote-splice?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='cell.mu.html#L44'>symbol-equal?</a> <a href='evaluate.mu.html#L1141'>car</a>, <span class="Constant">",@"</span> +<span id="L360" class="LineNr">360 </span> <span class="PreProc">var</span> unquote-splice?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='cell.mu.html#L44'>symbol-equal?</a> <a href='evaluate.mu.html#L1189'>car</a>, <span class="Constant">",@"</span> <span id="L361" class="LineNr">361 </span> compare unquote-splice?, <span class="Constant">0</span>/false <span id="L362" class="LineNr">362 </span> <span class="PreProc">break-if-!=</span> <span id="L363" class="LineNr">363 </span> <span class="PreProc">break</span> $look-for-double-unquote:<a href='../502test.mu.html#L19'>check</a> <span id="L364" class="LineNr">364 </span> <span class="Delimiter">}</span> <span id="L365" class="LineNr">365 </span> <span class="muComment"># if cdr is not a pair, break</span> -<span id="L366" class="LineNr">366 </span> <span class="PreProc">var</span> <a href='evaluate.mu.html#L1169'>cdr</a>/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *cdr-ah -<span id="L367" class="LineNr">367 </span> <span class="PreProc">var</span> cdr-type/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> get <a href='evaluate.mu.html#L1169'>cdr</a>, <span class="PreProc">type</span> +<span id="L366" class="LineNr">366 </span> <span class="PreProc">var</span> <a href='evaluate.mu.html#L1217'>cdr</a>/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *cdr-ah +<span id="L367" class="LineNr">367 </span> <span class="PreProc">var</span> cdr-type/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> get <a href='evaluate.mu.html#L1217'>cdr</a>, <span class="PreProc">type</span> <span id="L368" class="LineNr">368 </span> compare *cdr-type, <span class="Constant">0</span>/pair <span id="L369" class="LineNr">369 </span> <span class="PreProc">break-if-!=</span> <span id="L370" class="LineNr">370 </span> <span class="muComment"># if cadr is not an unquote, break</span> -<span id="L371" class="LineNr">371 </span> <span class="PreProc">var</span> cadr-ah/<span class="muRegEax">eax</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> get <a href='evaluate.mu.html#L1169'>cdr</a>, left +<span id="L371" class="LineNr">371 </span> <span class="PreProc">var</span> cadr-ah/<span class="muRegEax">eax</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> get <a href='evaluate.mu.html#L1217'>cdr</a>, left <span id="L372" class="LineNr">372 </span> <span class="PreProc">var</span> cadr/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *cadr-ah <span id="L373" class="LineNr">373 </span> <span class="Delimiter">{</span> <span id="L374" class="LineNr">374 </span> <span class="Delimiter">{</span> @@ -371,7 +371,7 @@ if ('onhashchange' in window) { <span id="L416" class="LineNr">416 </span> <span class="PreProc">var</span> dummy/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='macroexpand.mu.html#L46'>macroexpand-iter</a> result-ah, globals, trace <span id="L417" class="LineNr">417 </span> <span class="PreProc">var</span> error?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='trace.mu.html#L94'>has-errors?</a> trace <span id="L418" class="LineNr">418 </span> <a href='../502test.mu.html#L32'>check-not</a> error?, <span class="Constant">"F - <a href='macroexpand.mu.html#L397'>test-macroexpand</a>/error"</span> -<span id="L419" class="LineNr">419 </span><span class="CommentedCode">#? dump-cell-from-cursor-over-full-screen result-ah</span> +<span id="L419" class="LineNr">419 </span><span class="CommentedCode">#? dump-cell-from-cursor-over-full-screen result-ah, 4/fg 0/bg</span> <span id="L420" class="LineNr">420 </span> <span class="PreProc">var</span> _result/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *result-ah <span id="L421" class="LineNr">421 </span> <span class="PreProc">var</span> result/<span class="muRegEdi">edi</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> copy _result <span id="L422" class="LineNr">422 </span> <span class="muComment"># expected</span> @@ -384,7 +384,7 @@ if ('onhashchange' in window) { <span id="L429" class="LineNr">429 </span><span class="CommentedCode">#? dump-cell-from-cursor-over-full-screen expected-ah</span> <span id="L430" class="LineNr">430 </span> <span class="PreProc">var</span> expected/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *expected-ah <span id="L431" class="LineNr">431 </span> <span class="muComment">#</span> -<span id="L432" class="LineNr">432 </span> <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='evaluate.mu.html#L1197'>cell-isomorphic?</a> result, expected, trace +<span id="L432" class="LineNr">432 </span> <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='evaluate.mu.html#L1245'>cell-isomorphic?</a> result, expected, trace <span id="L433" class="LineNr">433 </span> <a href='../502test.mu.html#L19'>check</a> assertion, <span class="Constant">"F - test-macroexpand"</span> <span id="L434" class="LineNr">434 </span><span class="Delimiter">}</span> <span id="L435" class="LineNr">435 </span> @@ -422,7 +422,7 @@ if ('onhashchange' in window) { <span id="L467" class="LineNr">467 </span> <a href='read.mu.html#L1'>read-cell</a> expected-gap, expected-ah, trace <span id="L468" class="LineNr">468 </span> <span class="PreProc">var</span> expected/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *expected-ah <span id="L469" class="LineNr">469 </span> <span class="muComment">#</span> -<span id="L470" class="LineNr">470 </span> <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='evaluate.mu.html#L1197'>cell-isomorphic?</a> result, expected, trace +<span id="L470" class="LineNr">470 </span> <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='evaluate.mu.html#L1245'>cell-isomorphic?</a> result, expected, trace <span id="L471" class="LineNr">471 </span> <a href='../502test.mu.html#L19'>check</a> assertion, <span class="Constant">"F - test-macroexpand-inside-anonymous-fn"</span> <span id="L472" class="LineNr">472 </span><span class="Delimiter">}</span> <span id="L473" class="LineNr">473 </span> @@ -461,7 +461,7 @@ if ('onhashchange' in window) { <span id="L506" class="LineNr">506 </span><span class="CommentedCode">#? dump-cell-from-cursor-over-full-screen expected-ah</span> <span id="L507" class="LineNr">507 </span> <span class="PreProc">var</span> expected/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *expected-ah <span id="L508" class="LineNr">508 </span> <span class="muComment">#</span> -<span id="L509" class="LineNr">509 </span> <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='evaluate.mu.html#L1197'>cell-isomorphic?</a> result, expected, trace +<span id="L509" class="LineNr">509 </span> <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='evaluate.mu.html#L1245'>cell-isomorphic?</a> result, expected, trace <span id="L510" class="LineNr">510 </span> <a href='../502test.mu.html#L19'>check</a> assertion, <span class="Constant">"F - test-macroexpand-inside-fn-call"</span> <span id="L511" class="LineNr">511 </span><span class="Delimiter">}</span> <span id="L512" class="LineNr">512 </span> @@ -529,7 +529,7 @@ if ('onhashchange' in window) { <span id="L574" class="LineNr">574 </span> <a href='read.mu.html#L1'>read-cell</a> expected-gap, expected-ah, trace <span id="L575" class="LineNr">575 </span> <span class="PreProc">var</span> expected/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *expected-ah <span id="L576" class="LineNr">576 </span> <span class="muComment">#</span> -<span id="L577" class="LineNr">577 </span> <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='evaluate.mu.html#L1197'>cell-isomorphic?</a> result, expected, trace +<span id="L577" class="LineNr">577 </span> <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='evaluate.mu.html#L1245'>cell-isomorphic?</a> result, expected, trace <span id="L578" class="LineNr">578 </span> <a href='../502test.mu.html#L19'>check</a> assertion, <span class="Constant">"F - test-macroexpand-inside-backquote-unquote"</span> <span id="L579" class="LineNr">579 </span><span class="Delimiter">}</span> <span id="L580" class="LineNr">580 </span> @@ -555,7 +555,7 @@ if ('onhashchange' in window) { <span id="L600" class="LineNr">600 </span> <span class="PreProc">var</span> dummy/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='macroexpand.mu.html#L46'>macroexpand-iter</a> result-ah, globals, trace <span id="L601" class="LineNr">601 </span> <span class="PreProc">var</span> error?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='trace.mu.html#L94'>has-errors?</a> trace <span id="L602" class="LineNr">602 </span> <a href='../502test.mu.html#L32'>check-not</a> error?, <span class="Constant">"F - test-macroexpand-inside-nested-backquote-unquote/error"</span> -<span id="L603" class="LineNr">603 </span> <a href='print.mu.html#L136'>dump-cell-from-cursor-over-full-screen</a> result-ah +<span id="L603" class="LineNr">603 </span><span class="CommentedCode">#? dump-cell-from-cursor-over-full-screen result-ah</span> <span id="L604" class="LineNr">604 </span> <span class="PreProc">var</span> _result/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *result-ah <span id="L605" class="LineNr">605 </span> <span class="PreProc">var</span> result/<span class="muRegEdi">edi</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> copy _result <span id="L606" class="LineNr">606 </span> <span class="muComment"># expected</span> @@ -565,10 +565,10 @@ if ('onhashchange' in window) { <span id="L610" class="LineNr">610 </span> <span class="PreProc">var</span> expected-h: (handle <a href='cell.mu.html#L1'>cell</a>) <span id="L611" class="LineNr">611 </span> <span class="PreProc">var</span> expected-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> address expected-h <span id="L612" class="LineNr">612 </span> <a href='read.mu.html#L1'>read-cell</a> expected-gap, expected-ah, trace -<span id="L613" class="LineNr">613 </span> <a href='print.mu.html#L136'>dump-cell-from-cursor-over-full-screen</a> expected-ah +<span id="L613" class="LineNr">613 </span><span class="CommentedCode">#? dump-cell-from-cursor-over-full-screen expected-ah</span> <span id="L614" class="LineNr">614 </span> <span class="PreProc">var</span> expected/<span class="muRegEax">eax</span>: (addr <a href='cell.mu.html#L1'>cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L223'>lookup</a> *expected-ah <span id="L615" class="LineNr">615 </span> <span class="muComment">#</span> -<span id="L616" class="LineNr">616 </span> <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='evaluate.mu.html#L1197'>cell-isomorphic?</a> result, expected, trace +<span id="L616" class="LineNr">616 </span> <span class="PreProc">var</span> assertion/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='evaluate.mu.html#L1245'>cell-isomorphic?</a> result, expected, trace <span id="L617" class="LineNr">617 </span> <a href='../502test.mu.html#L19'>check</a> assertion, <span class="Constant">"F - test-macroexpand-inside-nested-backquote-unquote"</span> <span id="L618" class="LineNr">618 </span><span class="Delimiter">}</span> <span id="L619" class="LineNr">619 </span> |