diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-01-19 17:55:59 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-01-19 17:55:59 -0800 |
commit | 1008059f1f277323a48d8fef545c944011efeeac (patch) | |
tree | 50dca97da0e3388b41e5d2bed0735a19bfb06d84 /html/apps/mu.subx.html | |
parent | b89ce8e455e1471ef217e00c4da4e277c2101808 (diff) | |
download | mu-1008059f1f277323a48d8fef545c944011efeeac.tar.gz |
5901
Diffstat (limited to 'html/apps/mu.subx.html')
-rw-r--r-- | html/apps/mu.subx.html | 72 |
1 files changed, 36 insertions, 36 deletions
diff --git a/html/apps/mu.subx.html b/html/apps/mu.subx.html index a16e5c67..d63f57bf 100644 --- a/html/apps/mu.subx.html +++ b/html/apps/mu.subx.html @@ -1060,7 +1060,7 @@ if ('onhashchange' in window) { <span id="L1048" class="LineNr">1048 </span> <span class="subxComment"># if (slice-equal?(word-slice, "fn")) parse a function</span> <span id="L1049" class="LineNr">1049 </span> { <span id="L1050" class="LineNr">1050 </span><span class="Constant">$parse-mu:fn</span>: -<span id="L1051" class="LineNr">1051 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %edx <span class="Constant">"fn"</span>) +<span id="L1051" class="LineNr">1051 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %edx <span class="Constant">"fn"</span>) <span id="L1052" class="LineNr">1052 </span> 3d/compare-eax-and 0/imm32 <span id="L1053" class="LineNr">1053 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 <span id="L1054" class="LineNr">1054 </span> <span class="subxComment"># var new-function/eax : (handle function) = populate-mu-function(in, new-function, vars)</span> @@ -1095,7 +1095,7 @@ if ('onhashchange' in window) { <span id="L1083" class="LineNr">1083 </span><span class="Constant">$parse-mu:error1</span>: <span id="L1084" class="LineNr">1084 </span> <span class="subxComment"># error("unexpected top-level command: " word-slice "\n")</span> <span id="L1085" class="LineNr">1085 </span> (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">"unexpected top-level command: "</span>) -<span id="L1086" class="LineNr">1086 </span> (<a href='../072slice.subx.html#L880'>write-slice-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> %edx) +<span id="L1086" class="LineNr">1086 </span> (<a href='../072slice.subx.html#L909'>write-slice-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> %edx) <span id="L1087" class="LineNr">1087 </span> (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">"\n"</span>) <span id="L1088" class="LineNr">1088 </span> (<a href='../064write-byte.subx.html#L81'>flush</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span>) <span id="L1089" class="LineNr">1089 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span> @@ -1108,7 +1108,7 @@ if ('onhashchange' in window) { <span id="L1096" class="LineNr">1096 </span> <span class="subxComment"># error(vars->top " vars not reclaimed after fn '" new-function->name "'\n")</span> <span id="L1097" class="LineNr">1097 </span> (<a href='../066print-int.subx.html#L266'>print-int32-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> *ebx) <span id="L1098" class="LineNr">1098 </span> (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">" vars not reclaimed after fn '"</span>) -<span id="L1099" class="LineNr">1099 </span> (<a href='../072slice.subx.html#L880'>write-slice-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> *eax) <span class="subxComment"># Function-name</span> +<span id="L1099" class="LineNr">1099 </span> (<a href='../072slice.subx.html#L909'>write-slice-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> *eax) <span class="subxComment"># Function-name</span> <span id="L1100" class="LineNr">1100 </span> (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">"'\n"</span>) <span id="L1101" class="LineNr">1101 </span> (<a href='../064write-byte.subx.html#L81'>flush</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span>) <span id="L1102" class="LineNr">1102 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span> @@ -1179,19 +1179,19 @@ if ('onhashchange' in window) { <span id="L1167" class="LineNr">1167 </span> (<a href='../076next-word.subx.html#L10'>next-word</a> *(ebp+8) %ecx) <span id="L1168" class="LineNr">1168 </span> <span class="subxComment"># error checking</span> <span id="L1169" class="LineNr">1169 </span> <span class="subxComment"># if (word-slice == '{') abort</span> -<span id="L1170" class="LineNr">1170 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">"{"</span>) <span class="subxComment"># => eax</span> +<span id="L1170" class="LineNr">1170 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"{"</span>) <span class="subxComment"># => eax</span> <span id="L1171" class="LineNr">1171 </span> 3d/compare-eax-and 0/imm32 <span id="L1172" class="LineNr">1172 </span> 0f 85/jump-if-!= $populate-mu-function-header:error1/disp32 <span id="L1173" class="LineNr">1173 </span> <span class="subxComment"># if (word-slice == '->') abort</span> -<span id="L1174" class="LineNr">1174 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">"->"</span>) <span class="subxComment"># => eax</span> +<span id="L1174" class="LineNr">1174 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"->"</span>) <span class="subxComment"># => eax</span> <span id="L1175" class="LineNr">1175 </span> 3d/compare-eax-and 0/imm32 <span id="L1176" class="LineNr">1176 </span> 0f 85/jump-if-!= $populate-mu-function-header:error1/disp32 <span id="L1177" class="LineNr">1177 </span> <span class="subxComment"># if (word-slice == '}') abort</span> -<span id="L1178" class="LineNr">1178 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">"}"</span>) <span class="subxComment"># => eax</span> +<span id="L1178" class="LineNr">1178 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"}"</span>) <span class="subxComment"># => eax</span> <span id="L1179" class="LineNr">1179 </span> 3d/compare-eax-and 0/imm32 <span id="L1180" class="LineNr">1180 </span> 0f 85/jump-if-!= $populate-mu-function-header:error1/disp32 <span id="L1181" class="LineNr">1181 </span> <span class="subxComment"># save function name</span> -<span id="L1182" class="LineNr">1182 </span> (<a href='../072slice.subx.html#L1015'>slice-to-string</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> %ecx) <span class="subxComment"># => eax</span> +<span id="L1182" class="LineNr">1182 </span> (<a href='../072slice.subx.html#L1044'>slice-to-string</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> %ecx) <span class="subxComment"># => eax</span> <span id="L1183" class="LineNr">1183 </span> 89/<- *edi 0/r32/eax <span class="subxComment"># Function-name</span> <span id="L1184" class="LineNr">1184 </span> <span class="subxComment"># initialize default subx-name as well</span> <span id="L1185" class="LineNr">1185 </span> 89/<- *(edi+4) 0/r32/eax <span class="subxComment"># Function-subx-name</span> @@ -1200,15 +1200,15 @@ if ('onhashchange' in window) { <span id="L1188" class="LineNr">1188 </span><span class="Constant">$populate-mu-function-header:check-for-inout</span>: <span id="L1189" class="LineNr">1189 </span> (<a href='../076next-word.subx.html#L10'>next-word</a> *(ebp+8) %ecx) <span id="L1190" class="LineNr">1190 </span> <span class="subxComment"># if (word-slice == '{') goto done</span> -<span id="L1191" class="LineNr">1191 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">"{"</span>) <span class="subxComment"># => eax</span> +<span id="L1191" class="LineNr">1191 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"{"</span>) <span class="subxComment"># => eax</span> <span id="L1192" class="LineNr">1192 </span> 3d/compare-eax-and 0/imm32 <span id="L1193" class="LineNr">1193 </span> 0f 85/jump-if-!= $populate-mu-function-header:done/disp32 <span id="L1194" class="LineNr">1194 </span> <span class="subxComment"># if (word-slice == '->') break</span> -<span id="L1195" class="LineNr">1195 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">"->"</span>) <span class="subxComment"># => eax</span> +<span id="L1195" class="LineNr">1195 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"->"</span>) <span class="subxComment"># => eax</span> <span id="L1196" class="LineNr">1196 </span> 3d/compare-eax-and 0/imm32 <span id="L1197" class="LineNr">1197 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 <span id="L1198" class="LineNr">1198 </span> <span class="subxComment"># if (word-slice == '}') abort</span> -<span id="L1199" class="LineNr">1199 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">"}"</span>) <span class="subxComment"># => eax</span> +<span id="L1199" class="LineNr">1199 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"}"</span>) <span class="subxComment"># => eax</span> <span id="L1200" class="LineNr">1200 </span> 3d/compare-eax-and 0/imm32 <span id="L1201" class="LineNr">1201 </span> 0f 85/jump-if-!= $populate-mu-function-header:error1/disp32 <span id="L1202" class="LineNr">1202 </span> <span class="subxComment"># var v/ebx : (handle var) = parse-var-with-type(word-slice, first-line)</span> @@ -1234,15 +1234,15 @@ if ('onhashchange' in window) { <span id="L1222" class="LineNr">1222 </span><span class="Constant">$parse-var-with-type:check-for-out</span>: <span id="L1223" class="LineNr">1223 </span> (<a href='../076next-word.subx.html#L10'>next-word</a> *(ebp+8) %ecx) <span id="L1224" class="LineNr">1224 </span> <span class="subxComment"># if (word-slice == '{') break</span> -<span id="L1225" class="LineNr">1225 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">"{"</span>) <span class="subxComment"># => eax</span> +<span id="L1225" class="LineNr">1225 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"{"</span>) <span class="subxComment"># => eax</span> <span id="L1226" class="LineNr">1226 </span> 3d/compare-eax-and 0/imm32 <span id="L1227" class="LineNr">1227 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 <span id="L1228" class="LineNr">1228 </span> <span class="subxComment"># if (word-slice == '->') abort</span> -<span id="L1229" class="LineNr">1229 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">"->"</span>) <span class="subxComment"># => eax</span> +<span id="L1229" class="LineNr">1229 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"->"</span>) <span class="subxComment"># => eax</span> <span id="L1230" class="LineNr">1230 </span> 3d/compare-eax-and 0/imm32 <span id="L1231" class="LineNr">1231 </span> 0f 85/jump-if-!= $populate-mu-function-header:error1/disp32 <span id="L1232" class="LineNr">1232 </span> <span class="subxComment"># if (word-slice == '}') abort</span> -<span id="L1233" class="LineNr">1233 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">"}"</span>) <span class="subxComment"># => eax</span> +<span id="L1233" class="LineNr">1233 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"}"</span>) <span class="subxComment"># => eax</span> <span id="L1234" class="LineNr">1234 </span> 3d/compare-eax-and 0/imm32 <span id="L1235" class="LineNr">1235 </span> 0f 85/jump-if-!= $populate-mu-function-header:error1/disp32 <span id="L1236" class="LineNr">1236 </span> <span class="subxComment">#</span> @@ -1548,7 +1548,7 @@ if ('onhashchange' in window) { <span id="L1536" class="LineNr">1536 </span> 89/<- *(ecx+4) 0/r32/eax <span id="L1537" class="LineNr">1537 </span> } <span id="L1538" class="LineNr">1538 </span><span class="Constant">$parse-var-with-type:write-name</span>: -<span id="L1539" class="LineNr">1539 </span> (<a href='../072slice.subx.html#L1015'>slice-to-string</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> %ecx) <span class="subxComment"># => eax</span> +<span id="L1539" class="LineNr">1539 </span> (<a href='../072slice.subx.html#L1044'>slice-to-string</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> %ecx) <span class="subxComment"># => eax</span> <span id="L1540" class="LineNr">1540 </span> 89/<- *edi 0/r32/eax <span class="subxComment"># Var-name</span> <span id="L1541" class="LineNr">1541 </span> <span class="subxComment"># save v->register</span> <span id="L1542" class="LineNr">1542 </span><span class="Constant">$parse-var-with-type:save-register</span>: @@ -1581,21 +1581,21 @@ if ('onhashchange' in window) { <span id="L1569" class="LineNr">1569 </span> 8b/-> *ecx 0/r32/eax <span id="L1570" class="LineNr">1570 </span> 39/compare 0/r32/eax *(ecx+4) <span id="L1571" class="LineNr">1571 </span> 76/jump-if-<= <span class="Constant">break</span>/disp8 -<span id="L1572" class="LineNr">1572 </span> (<a href='../072slice.subx.html#L1015'>slice-to-string</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> %ecx) +<span id="L1572" class="LineNr">1572 </span> (<a href='../072slice.subx.html#L1044'>slice-to-string</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> %ecx) <span id="L1573" class="LineNr">1573 </span> 89/<- *(edi+0x10) 0/r32/eax <span class="subxComment"># Var-register</span> <span id="L1574" class="LineNr">1574 </span> } <span id="L1575" class="LineNr">1575 </span> <span class="subxComment"># save v->type</span> <span id="L1576" class="LineNr">1576 </span> (<a href='mu.subx.html#L1640'>next-mu-token</a> *(ebp+0xc) %ecx) <span id="L1577" class="LineNr">1577 </span> <span class="subxComment"># if (word-slice == '{') abort</span> -<span id="L1578" class="LineNr">1578 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">"{"</span>) <span class="subxComment"># => eax</span> +<span id="L1578" class="LineNr">1578 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"{"</span>) <span class="subxComment"># => eax</span> <span id="L1579" class="LineNr">1579 </span> 3d/compare-eax-and 0/imm32 <span id="L1580" class="LineNr">1580 </span> 0f 85/jump-if-!= $parse-var-with-type:abort/disp32 <span id="L1581" class="LineNr">1581 </span> <span class="subxComment"># if (word-slice == '->') abort</span> -<span id="L1582" class="LineNr">1582 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">"->"</span>) <span class="subxComment"># => eax</span> +<span id="L1582" class="LineNr">1582 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"->"</span>) <span class="subxComment"># => eax</span> <span id="L1583" class="LineNr">1583 </span> 3d/compare-eax-and 0/imm32 <span id="L1584" class="LineNr">1584 </span> 0f 85/jump-if-!= $parse-var-with-type:abort/disp32 <span id="L1585" class="LineNr">1585 </span> <span class="subxComment"># if (word-slice == '}') abort</span> -<span id="L1586" class="LineNr">1586 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">"}"</span>) <span class="subxComment"># => eax</span> +<span id="L1586" class="LineNr">1586 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"}"</span>) <span class="subxComment"># => eax</span> <span id="L1587" class="LineNr">1587 </span> 3d/compare-eax-and 0/imm32 <span id="L1588" class="LineNr">1588 </span> 0f 85/jump-if-!= $parse-var-with-type:abort/disp32 <span id="L1589" class="LineNr">1589 </span> <span class="subxComment"># if (slice-empty?(type)) skip</span> @@ -1605,15 +1605,15 @@ if ('onhashchange' in window) { <span id="L1593" class="LineNr">1593 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 <span id="L1594" class="LineNr">1594 </span> (<a href='mu.subx.html#L1640'>next-mu-token</a> *(ebp+0xc) %ecx) <span id="L1595" class="LineNr">1595 </span> <span class="subxComment"># if (word-slice == '{') abort</span> -<span id="L1596" class="LineNr">1596 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">"{"</span>) <span class="subxComment"># => eax</span> +<span id="L1596" class="LineNr">1596 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"{"</span>) <span class="subxComment"># => eax</span> <span id="L1597" class="LineNr">1597 </span> 3d/compare-eax-and 0/imm32 <span id="L1598" class="LineNr">1598 </span> 0f 85/jump-if-!= $parse-var-with-type:abort/disp32 <span id="L1599" class="LineNr">1599 </span> <span class="subxComment"># if (word-slice == '->') abort</span> -<span id="L1600" class="LineNr">1600 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">"->"</span>) <span class="subxComment"># => eax</span> +<span id="L1600" class="LineNr">1600 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"->"</span>) <span class="subxComment"># => eax</span> <span id="L1601" class="LineNr">1601 </span> 3d/compare-eax-and 0/imm32 <span id="L1602" class="LineNr">1602 </span> 0f 85/jump-if-!= $parse-var-with-type:abort/disp32 <span id="L1603" class="LineNr">1603 </span> <span class="subxComment"># if (word-slice == '}') abort</span> -<span id="L1604" class="LineNr">1604 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">"}"</span>) <span class="subxComment"># => eax</span> +<span id="L1604" class="LineNr">1604 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"}"</span>) <span class="subxComment"># => eax</span> <span id="L1605" class="LineNr">1605 </span> 3d/compare-eax-and 0/imm32 <span id="L1606" class="LineNr">1606 </span> 0f 85/jump-if-!= $parse-var-with-type:abort/disp32 <span id="L1607" class="LineNr">1607 </span> } @@ -1739,7 +1739,7 @@ if ('onhashchange' in window) { <span id="L1727" class="LineNr">1727 </span> eb/jump $pos-slice:end/disp8 <span id="L1728" class="LineNr">1728 </span> } <span id="L1729" class="LineNr">1729 </span> <span class="subxComment"># if (slice-equal?(s, *curr)) break</span> -<span id="L1730" class="LineNr">1730 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> *(ebp+0xc) *edx) <span class="subxComment"># => eax</span> +<span id="L1730" class="LineNr">1730 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> *(ebp+0xc) *edx) <span class="subxComment"># => eax</span> <span id="L1731" class="LineNr">1731 </span> 3d/compare-eax-and 0/imm32 <span id="L1732" class="LineNr">1732 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L1733" class="LineNr">1733 </span> <span class="subxComment"># ++index</span> @@ -2316,7 +2316,7 @@ if ('onhashchange' in window) { <span id="L2304" class="LineNr">2304 </span> <span class="subxComment"># if slice-equal?(word-slice, "{")</span> <span id="L2305" class="LineNr">2305 </span> { <span id="L2306" class="LineNr">2306 </span><span class="Constant">$parse-mu-block:check-for-block</span>: -<span id="L2307" class="LineNr">2307 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %edx <span class="Constant">"{"</span>) +<span id="L2307" class="LineNr">2307 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %edx <span class="Constant">"{"</span>) <span id="L2308" class="LineNr">2308 </span> 3d/compare-eax-and 0/imm32 <span id="L2309" class="LineNr">2309 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L2310" class="LineNr">2310 </span> (<a href='mu.subx.html#L2381'>check-no-tokens-left</a> %ecx) @@ -2327,7 +2327,7 @@ if ('onhashchange' in window) { <span id="L2315" class="LineNr">2315 </span> } <span id="L2316" class="LineNr">2316 </span> <span class="subxComment"># if slice-equal?(word-slice, "}") break</span> <span id="L2317" class="LineNr">2317 </span><span class="Constant">$parse-mu-block:check-for-end</span>: -<span id="L2318" class="LineNr">2318 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %edx <span class="Constant">"}"</span>) +<span id="L2318" class="LineNr">2318 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %edx <span class="Constant">"}"</span>) <span id="L2319" class="LineNr">2319 </span> 3d/compare-eax-and 0/imm32 <span id="L2320" class="LineNr">2320 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 <span id="L2321" class="LineNr">2321 </span> <span class="subxComment"># if slice-ends-with?(word-slice, ":") parse named block and append</span> @@ -2348,7 +2348,7 @@ if ('onhashchange' in window) { <span id="L2336" class="LineNr">2336 </span> <span class="subxComment"># if slice-equal?(word-slice, "var")</span> <span id="L2337" class="LineNr">2337 </span> { <span id="L2338" class="LineNr">2338 </span><span class="Constant">$parse-mu-block:check-for-var</span>: -<span id="L2339" class="LineNr">2339 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %edx <span class="Constant">"var"</span>) +<span id="L2339" class="LineNr">2339 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %edx <span class="Constant">"var"</span>) <span id="L2340" class="LineNr">2340 </span> 3d/compare-eax-and 0/imm32 <span id="L2341" class="LineNr">2341 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L2342" class="LineNr">2342 </span> <span class="subxComment">#</span> @@ -2542,7 +2542,7 @@ if ('onhashchange' in window) { <span id="L2530" class="LineNr">2530 </span> 3d/compare-eax-and 0/imm32 <span id="L2531" class="LineNr">2531 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 <span id="L2532" class="LineNr">2532 </span> <span class="subxComment"># if (name == "<-") break</span> -<span id="L2533" class="LineNr">2533 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">"<-"</span>) +<span id="L2533" class="LineNr">2533 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"<-"</span>) <span id="L2534" class="LineNr">2534 </span> 3d/compare-eax-and 0/imm32 <span id="L2535" class="LineNr">2535 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L2536" class="LineNr">2536 </span> <span class="subxComment"># assert(is-identifier?(name))</span> @@ -2558,7 +2558,7 @@ if ('onhashchange' in window) { <span id="L2546" class="LineNr">2546 </span> } <span id="L2547" class="LineNr">2547 </span><span class="Constant">$parse-mu-stmt:read-operation</span>: <span id="L2548" class="LineNr">2548 </span> (<a href='../076next-word.subx.html#L10'>next-word</a> *(ebp+8) %ecx) -<span id="L2549" class="LineNr">2549 </span> (<a href='../072slice.subx.html#L1015'>slice-to-string</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> %ecx) +<span id="L2549" class="LineNr">2549 </span> (<a href='../072slice.subx.html#L1044'>slice-to-string</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> %ecx) <span id="L2550" class="LineNr">2550 </span> 89/<- *(edi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation</span> <span id="L2551" class="LineNr">2551 </span> { <span id="L2552" class="LineNr">2552 </span><span class="Constant">$parse-mu-stmt:read-inouts</span>: @@ -2569,7 +2569,7 @@ if ('onhashchange' in window) { <span id="L2557" class="LineNr">2557 </span> 3d/compare-eax-and 0/imm32 <span id="L2558" class="LineNr">2558 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 <span id="L2559" class="LineNr">2559 </span> <span class="subxComment"># if (name == "<-") abort</span> -<span id="L2560" class="LineNr">2560 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">"<-"</span>) +<span id="L2560" class="LineNr">2560 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"<-"</span>) <span id="L2561" class="LineNr">2561 </span> 3d/compare-eax-and 0/imm32 <span id="L2562" class="LineNr">2562 </span> 0f 85/jump-if-!= $parse-mu-stmt:abort2/disp32 <span id="L2563" class="LineNr">2563 </span> <span class="subxComment">#</span> @@ -2594,7 +2594,7 @@ if ('onhashchange' in window) { <span id="L2582" class="LineNr">2582 </span><span class="Constant">$parse-mu-stmt:abort</span>: <span id="L2583" class="LineNr">2583 </span> <span class="subxComment"># error("invalid identifier '" name "'\n")</span> <span id="L2584" class="LineNr">2584 </span> (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">"invalid identifier '"</span>) -<span id="L2585" class="LineNr">2585 </span> (<a href='../072slice.subx.html#L880'>write-slice-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> %ecx) +<span id="L2585" class="LineNr">2585 </span> (<a href='../072slice.subx.html#L909'>write-slice-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> %ecx) <span id="L2586" class="LineNr">2586 </span> (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">"'\n"</span>) <span id="L2587" class="LineNr">2587 </span> (<a href='../064write-byte.subx.html#L81'>flush</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span>) <span id="L2588" class="LineNr">2588 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span> @@ -2646,7 +2646,7 @@ if ('onhashchange' in window) { <span id="L2634" class="LineNr">2634 </span> b8/copy-to-eax 0/imm32/false/result <span class="subxComment"># restore result (if we're here it's still false)</span> <span id="L2635" class="LineNr">2635 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 <span id="L2636" class="LineNr">2636 </span> <span class="subxComment"># if slice-equal?(word-slice, '<-') return true</span> -<span id="L2637" class="LineNr">2637 </span> (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">"<-"</span>) +<span id="L2637" class="LineNr">2637 </span> (<a href='../072slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"<-"</span>) <span id="L2638" class="LineNr">2638 </span> 3d/compare-eax-and 0/imm32 <span id="L2639" class="LineNr">2639 </span> 74/jump-if-= <span class="Constant">loop</span>/disp8 <span id="L2640" class="LineNr">2640 </span> b8/copy-to-eax 1/imm32/true @@ -2717,7 +2717,7 @@ if ('onhashchange' in window) { <span id="L2705" class="LineNr">2705 </span> 55/push-ebp <span id="L2706" class="LineNr">2706 </span> 89/<- %ebp 4/r32/esp <span id="L2707" class="LineNr">2707 </span> <span class="subxComment"># var target/eax : (handle array byte) = slice-to-string(name)</span> -<span id="L2708" class="LineNr">2708 </span> (<a href='../072slice.subx.html#L1015'>slice-to-string</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> *(ebp+8)) <span class="subxComment"># => eax</span> +<span id="L2708" class="LineNr">2708 </span> (<a href='../072slice.subx.html#L1044'>slice-to-string</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> *(ebp+8)) <span class="subxComment"># => eax</span> <span id="L2709" class="LineNr">2709 </span> <span class="subxComment">#</span> <span id="L2710" class="LineNr">2710 </span> (<a href='mu.subx.html#L2732'>lookup-var-helper</a> %eax *(ebp+0xc)) <span class="subxComment"># => eax</span> <span id="L2711" class="LineNr">2711 </span> <span class="subxComment"># if (result == 0) abort</span> @@ -2731,7 +2731,7 @@ if ('onhashchange' in window) { <span id="L2719" class="LineNr">2719 </span> <span id="L2720" class="LineNr">2720 </span><span class="Constant">$lookup-var:abort</span>: <span id="L2721" class="LineNr">2721 </span> (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">"unknown variable '"</span>) -<span id="L2722" class="LineNr">2722 </span> (<a href='../072slice.subx.html#L880'>write-slice-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> *(ebp+8)) +<span id="L2722" class="LineNr">2722 </span> (<a href='../072slice.subx.html#L909'>write-slice-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> *(ebp+8)) <span id="L2723" class="LineNr">2723 </span> (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">"'\n"</span>) <span id="L2724" class="LineNr">2724 </span> (<a href='../064write-byte.subx.html#L81'>flush</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span>) <span id="L2725" class="LineNr">2725 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span> @@ -2798,7 +2798,7 @@ if ('onhashchange' in window) { <span id="L2786" class="LineNr">2786 </span> <span id="L2787" class="LineNr">2787 </span><span class="Constant">$lookup-var-helper:error1</span>: <span id="L2788" class="LineNr">2788 </span> (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">"malformed stack when looking up '"</span>) -<span id="L2789" class="LineNr">2789 </span> (<a href='../072slice.subx.html#L880'>write-slice-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> *(ebp+8)) +<span id="L2789" class="LineNr">2789 </span> (<a href='../072slice.subx.html#L909'>write-slice-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> *(ebp+8)) <span id="L2790" class="LineNr">2790 </span> (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">"'\n"</span>) <span id="L2791" class="LineNr">2791 </span> (<a href='../064write-byte.subx.html#L81'>flush</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span>) <span id="L2792" class="LineNr">2792 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span> @@ -2815,7 +2815,7 @@ if ('onhashchange' in window) { <span id="L2803" class="LineNr">2803 </span> <span class="subxS1Comment"># . save registers</span> <span id="L2804" class="LineNr">2804 </span> 51/push-ecx <span id="L2805" class="LineNr">2805 </span> <span class="subxComment"># var target/ecx : (handle array byte) = slice-to-string(name)</span> -<span id="L2806" class="LineNr">2806 </span> (<a href='../072slice.subx.html#L1015'>slice-to-string</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> *(ebp+8)) <span class="subxComment"># => eax</span> +<span id="L2806" class="LineNr">2806 </span> (<a href='../072slice.subx.html#L1044'>slice-to-string</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> *(ebp+8)) <span class="subxComment"># => eax</span> <span id="L2807" class="LineNr">2807 </span> 89/<- %ecx 0/r32/eax <span id="L2808" class="LineNr">2808 </span> <span class="subxComment">#</span> <span id="L2809" class="LineNr">2809 </span> (<a href='mu.subx.html#L2732'>lookup-var-helper</a> *(ebp+8) *(ebp+0xc)) <span class="subxComment"># => eax</span> @@ -2974,7 +2974,7 @@ if ('onhashchange' in window) { <span id="L2962" class="LineNr">2962 </span> 3d/compare-eax-and 0/imm32 <span id="L2963" class="LineNr">2963 </span> 0f 84/jump-if-= $new-literal-integer:abort/disp32 <span id="L2964" class="LineNr">2964 </span> <span class="subxComment"># var s/ecx : (addr array byte)</span> -<span id="L2965" class="LineNr">2965 </span> (<a href='../072slice.subx.html#L1015'>slice-to-string</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> *(ebp+0xc)) <span class="subxComment"># => eax</span> +<span id="L2965" class="LineNr">2965 </span> (<a href='../072slice.subx.html#L1044'>slice-to-string</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> *(ebp+0xc)) <span class="subxComment"># => eax</span> <span id="L2966" class="LineNr">2966 </span> 89/<- %ecx 0/r32/eax <span id="L2967" class="LineNr">2967 </span> <span class="subxComment">#</span> <span id="L2968" class="LineNr">2968 </span> (<a href='../069allocate.subx.html#L59'>allocate</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L335'>Var-size</a></span>) <span class="subxComment"># => eax</span> @@ -2996,7 +2996,7 @@ if ('onhashchange' in window) { <span id="L2984" class="LineNr">2984 </span> <span id="L2985" class="LineNr">2985 </span><span class="Constant">$new-literal-integer:abort</span>: <span id="L2986" class="LineNr">2986 </span> (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">"variable cannot begin with a digit '"</span>) -<span id="L2987" class="LineNr">2987 </span> (<a href='../072slice.subx.html#L880'>write-slice-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> *(ebp+0xc)) +<span id="L2987" class="LineNr">2987 </span> (<a href='../072slice.subx.html#L909'>write-slice-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> *(ebp+0xc)) <span id="L2988" class="LineNr">2988 </span> (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">"'\n"</span>) <span id="L2989" class="LineNr">2989 </span> (<a href='../064write-byte.subx.html#L81'>flush</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span>) <span id="L2990" class="LineNr">2990 </span> <span class="subxS1Comment"># . syscall(exit, 1)</span> |