diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2016-03-26 23:59:59 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2016-03-27 17:43:41 -0700 |
commit | a654e4ecace2d506d1b10f1dde2c287ebe84ef37 (patch) | |
tree | 1e34a3ad99a56e32bdf9ee03ecfe7d339e7942ae /html/024jump.cc.html | |
parent | 859f35fbe2f6a78157b875e12eb7dc8cd95c1152 (diff) | |
download | mu-a654e4ecace2d506d1b10f1dde2c287ebe84ef37.tar.gz |
2812
Diffstat (limited to 'html/024jump.cc.html')
-rw-r--r-- | html/024jump.cc.html | 63 |
1 files changed, 36 insertions, 27 deletions
diff --git a/html/024jump.cc.html b/html/024jump.cc.html index 9ff53434..e6fb3aba 100644 --- a/html/024jump.cc.html +++ b/html/024jump.cc.html @@ -3,28 +3,36 @@ <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Mu - 024jump.cc</title> -<meta name="Generator" content="Vim/7.3"> -<meta name="plugin-version" content="vim7.3_v6"> +<meta name="Generator" content="Vim/7.4"> +<meta name="plugin-version" content="vim7.4_v2"> <meta name="syntax" content="cpp"> -<meta name="settings" content="use_css"> +<meta name="settings" content="use_css,pre_wrap,no_foldcolumn,expand_tabs,prevent_copy="> +<meta name="colorscheme" content="minimal"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #eeeeee; background-color: #080808; } +pre { white-space: pre-wrap; font-family: monospace; color: #eeeeee; background-color: #080808; } body { font-size: 12pt; font-family: monospace; color: #eeeeee; background-color: #080808; } -.Identifier { color: #fcb165; } -.cSpecial { color: #008000; } -.Normal { color: #eeeeee; background-color: #080808; } +* { font-size: 12pt; font-size: 1em; } +.Constant { color: #00a0a0; } .traceAbsent { color: #c00000; } +.cSpecial { color: #008000; } .traceContains { color: #008000; } -.Special { color: #c00000; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } .Comment { color: #9090ff; } +.Delimiter { color: #800080; } +.Special { color: #c00000; } +.Identifier { color: #fcb165; } +.Normal { color: #eeeeee; background-color: #080808; padding-bottom: 1px; } --> </style> + +<script type='text/javascript'> +<!-- + +--> +</script> </head> <body> -<pre> +<pre id='vimCodeElement'> <span class="Comment">//: Jump primitives</span> <span class="Delimiter">:(scenario jump_can_skip_instructions)</span> @@ -32,8 +40,8 @@ def main [ jump <span class="Constant">1</span>:offset <span class="Constant">1</span>:number<span class="Special"> <- </span>copy <span class="Constant">1</span> ] -<span class="traceContains">+run: jump 1:offset</span> -<span class="traceAbsent">-run: 1:number <- copy 1</span> +<span class="traceContains">+run: jump {1: "offset"}</span> +<span class="traceAbsent">-run: {1: "number"} <- copy {1: "literal"}</span> <span class="traceAbsent">-mem: storing 1 in location 1</span> <span class="Delimiter">:(before "End Primitive Recipe Declarations")</span> @@ -43,7 +51,7 @@ put<span class="Delimiter">(</span>Recipe_ordinal<span class="Delimiter">,</span <span class="Delimiter">:(before "End Primitive Recipe Checks")</span> <span class="Normal">case</span> JUMP: <span class="Delimiter">{</span> <span class="Normal">if</span> <span class="Delimiter">(</span>SIZE<span class="Delimiter">(</span>inst<span class="Delimiter">.</span>ingredients<span class="Delimiter">)</span> != <span class="Constant">1</span><span class="Delimiter">)</span> <span class="Delimiter">{</span> - raise << maybe<span class="Delimiter">(</span>get<span class="Delimiter">(</span>Recipe<span class="Delimiter">,</span> r<span class="Delimiter">).</span>name<span class="Delimiter">)</span> << <span class="Constant">"'jump' requires exactly one ingredient, but got "</span> << to_string<span class="Delimiter">(</span>inst<span class="Delimiter">)</span> << <span class="cSpecial">'\n'</span> << end<span class="Delimiter">();</span> + raise << maybe<span class="Delimiter">(</span>get<span class="Delimiter">(</span>Recipe<span class="Delimiter">,</span> r<span class="Delimiter">).</span>name<span class="Delimiter">)</span> << <span class="Constant">"'jump' requires exactly one ingredient, but got "</span> << to_original_string<span class="Delimiter">(</span>inst<span class="Delimiter">)</span> << <span class="cSpecial">'\n'</span> << end<span class="Delimiter">();</span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span class="Delimiter">}</span> <span class="Normal">if</span> <span class="Delimiter">(</span>!is_mu_scalar<span class="Delimiter">(</span>inst<span class="Delimiter">.</span>ingredients<span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">)))</span> <span class="Delimiter">{</span> @@ -71,9 +79,9 @@ def main [ <span class="Comment"># \/ /\ |</span> jump -<span class="Constant">2</span>:offset <span class="Comment"># 2 +-->+ |</span> ] <span class="Comment"># \/ 3</span> -<span class="traceContains">+run: jump 1:offset</span> -<span class="traceContains">+run: jump -2:offset</span> -<span class="traceContains">+run: jump 3:offset</span> +<span class="traceContains">+run: jump {1: "offset"}</span> +<span class="traceContains">+run: jump {-2: "offset"}</span> +<span class="traceContains">+run: jump {3: "offset"}</span> <span class="Delimiter">:(before "End Primitive Recipe Declarations")</span> JUMP_IF<span class="Delimiter">,</span> @@ -82,7 +90,7 @@ put<span class="Delimiter">(</span>Recipe_ordinal<span class="Delimiter">,</span <span class="Delimiter">:(before "End Primitive Recipe Checks")</span> <span class="Normal">case</span> JUMP_IF: <span class="Delimiter">{</span> <span class="Normal">if</span> <span class="Delimiter">(</span>SIZE<span class="Delimiter">(</span>inst<span class="Delimiter">.</span>ingredients<span class="Delimiter">)</span> != <span class="Constant">2</span><span class="Delimiter">)</span> <span class="Delimiter">{</span> - raise << maybe<span class="Delimiter">(</span>get<span class="Delimiter">(</span>Recipe<span class="Delimiter">,</span> r<span class="Delimiter">).</span>name<span class="Delimiter">)</span> << <span class="Constant">"'jump-if' requires exactly two ingredients, but got "</span> << to_string<span class="Delimiter">(</span>inst<span class="Delimiter">)</span> << <span class="cSpecial">'\n'</span> << end<span class="Delimiter">();</span> + raise << maybe<span class="Delimiter">(</span>get<span class="Delimiter">(</span>Recipe<span class="Delimiter">,</span> r<span class="Delimiter">).</span>name<span class="Delimiter">)</span> << <span class="Constant">"'jump-if' requires exactly two ingredients, but got "</span> << to_original_string<span class="Delimiter">(</span>inst<span class="Delimiter">)</span> << <span class="cSpecial">'\n'</span> << end<span class="Delimiter">();</span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span class="Delimiter">}</span> <span class="Normal">if</span> <span class="Delimiter">(</span>!is_mu_scalar<span class="Delimiter">(</span>inst<span class="Delimiter">.</span>ingredients<span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">)))</span> <span class="Delimiter">{</span> @@ -112,9 +120,9 @@ def main [ jump-<span class="Normal">if</span> <span class="Constant">999</span><span class="Delimiter">,</span> <span class="Constant">1</span>:offset <span class="Constant">123</span>:number<span class="Special"> <- </span>copy <span class="Constant">1</span> ] -<span class="traceContains">+run: jump-if 999, 1:offset</span> +<span class="traceContains">+run: jump-if {999: "literal"}, {1: "offset"}</span> <span class="traceContains">+run: jumping to instruction 2</span> -<span class="traceAbsent">-run: 1:number <- copy 1</span> +<span class="traceAbsent">-run: {1: "number"} <- copy {1: "literal"}</span> <span class="traceAbsent">-mem: storing 1 in location 123</span> <span class="Delimiter">:(scenario jump_if_fallthrough)</span> @@ -122,9 +130,9 @@ def main [ jump-<span class="Normal">if</span> <span class="Constant">0</span><span class="Delimiter">,</span> <span class="Constant">1</span>:offset <span class="Constant">123</span>:number<span class="Special"> <- </span>copy <span class="Constant">1</span> ] -<span class="traceContains">+run: jump-if 0, 1:offset</span> +<span class="traceContains">+run: jump-if {0: "literal"}, {1: "offset"}</span> <span class="traceContains">+run: jump-if fell through</span> -<span class="traceContains">+run: 123:number <- copy 1</span> +<span class="traceContains">+run: {123: "number"} <- copy {1: "literal"}</span> <span class="traceContains">+mem: storing 1 in location 123</span> <span class="Delimiter">:(before "End Primitive Recipe Declarations")</span> @@ -134,7 +142,7 @@ put<span class="Delimiter">(</span>Recipe_ordinal<span class="Delimiter">,</span <span class="Delimiter">:(before "End Primitive Recipe Checks")</span> <span class="Normal">case</span> JUMP_UNLESS: <span class="Delimiter">{</span> <span class="Normal">if</span> <span class="Delimiter">(</span>SIZE<span class="Delimiter">(</span>inst<span class="Delimiter">.</span>ingredients<span class="Delimiter">)</span> != <span class="Constant">2</span><span class="Delimiter">)</span> <span class="Delimiter">{</span> - raise << maybe<span class="Delimiter">(</span>get<span class="Delimiter">(</span>Recipe<span class="Delimiter">,</span> r<span class="Delimiter">).</span>name<span class="Delimiter">)</span> << <span class="Constant">"'jump-unless' requires exactly two ingredients, but got "</span> << to_string<span class="Delimiter">(</span>inst<span class="Delimiter">)</span> << <span class="cSpecial">'\n'</span> << end<span class="Delimiter">();</span> + raise << maybe<span class="Delimiter">(</span>get<span class="Delimiter">(</span>Recipe<span class="Delimiter">,</span> r<span class="Delimiter">).</span>name<span class="Delimiter">)</span> << <span class="Constant">"'jump-unless' requires exactly two ingredients, but got "</span> << to_original_string<span class="Delimiter">(</span>inst<span class="Delimiter">)</span> << <span class="cSpecial">'\n'</span> << end<span class="Delimiter">();</span> <span class="Identifier">break</span><span class="Delimiter">;</span> <span class="Delimiter">}</span> <span class="Normal">if</span> <span class="Delimiter">(</span>!is_mu_scalar<span class="Delimiter">(</span>inst<span class="Delimiter">.</span>ingredients<span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">)))</span> <span class="Delimiter">{</span> @@ -164,9 +172,9 @@ def main [ jump-unless <span class="Constant">0</span><span class="Delimiter">,</span> <span class="Constant">1</span>:offset <span class="Constant">123</span>:number<span class="Special"> <- </span>copy <span class="Constant">1</span> ] -<span class="traceContains">+run: jump-unless 0, 1:offset</span> +<span class="traceContains">+run: jump-unless {0: "literal"}, {1: "offset"}</span> <span class="traceContains">+run: jumping to instruction 2</span> -<span class="traceAbsent">-run: 123:number <- copy 1</span> +<span class="traceAbsent">-run: {123: "number"} <- copy {1: "literal"}</span> <span class="traceAbsent">-mem: storing 1 in location 123</span> <span class="Delimiter">:(scenario jump_unless_fallthrough)</span> @@ -174,10 +182,11 @@ def main [ jump-unless <span class="Constant">999</span><span class="Delimiter">,</span> <span class="Constant">1</span>:offset <span class="Constant">123</span>:number<span class="Special"> <- </span>copy <span class="Constant">1</span> ] -<span class="traceContains">+run: jump-unless 999, 1:offset</span> +<span class="traceContains">+run: jump-unless {999: "literal"}, {1: "offset"}</span> <span class="traceContains">+run: jump-unless fell through</span> -<span class="traceContains">+run: 123:number <- copy 1</span> +<span class="traceContains">+run: {123: "number"} <- copy {1: "literal"}</span> <span class="traceContains">+mem: storing 1 in location 123</span> </pre> </body> </html> +<!-- vim: set foldmethod=manual : --> |