diff options
Diffstat (limited to 'html/062array.mu.html')
-rw-r--r-- | html/062array.mu.html | 61 |
1 files changed, 32 insertions, 29 deletions
diff --git a/html/062array.mu.html b/html/062array.mu.html index 350f8d6a..b65da102 100644 --- a/html/062array.mu.html +++ b/html/062array.mu.html @@ -13,10 +13,13 @@ pre { white-space: pre-wrap; font-family: monospace; color: #eeeeee; background-color: #080808; } body { font-family: monospace; color: #eeeeee; background-color: #080808; } * { font-size: 1.05em; } -.Underlined { color: #c000c0; text-decoration: underline; } +.muScenario { color: #00af00; } +.muRecipe { color: #ff8700; } .Comment { color: #9090ff; } +.Constant { color: #00a0a0; } .Special { color: #ff6060; } -.Identifier { color: #804000; } +.Delimiter { color: #a04060; } +.muControl { color: #c0a020; } --> </style> @@ -28,45 +31,45 @@ body { font-family: monospace; color: #eeeeee; background-color: #080808; } </head> <body> <pre id='vimCodeElement'> -scenario <span class="Identifier">array</span>-from-<span class="Identifier">args</span> [ +<span class="muScenario">scenario</span> array-from-args [ run [ - 1:address:<span class="Identifier">array</span>:location<span class="Special"> <- </span><span class="Identifier">new</span>-<span class="Identifier">array</span> 0, 1, 2 - 2:<span class="Identifier">array</span>:location<span class="Special"> <- </span><span class="Identifier">copy</span> *1:address:<span class="Identifier">array</span>:location + <span class="Constant">1</span>:address:array:location<span class="Special"> <- </span>new-array <span class="Constant">0</span>, <span class="Constant">1</span>, <span class="Constant">2</span> + <span class="Constant">2</span>:array:location<span class="Special"> <- </span>copy *<span class="Constant">1</span>:address:array:location ] memory-should-contain [ - 2<span class="Special"> <- </span>3 <span class="Comment"># array length</span> - 3<span class="Special"> <- </span>0 - 4<span class="Special"> <- </span>1 - 5<span class="Special"> <- </span>2 + <span class="Constant">2</span><span class="Special"> <- </span><span class="Constant">3</span> <span class="Comment"># array length</span> + <span class="Constant">3</span><span class="Special"> <- </span><span class="Constant">0</span> + <span class="Constant">4</span><span class="Special"> <- </span><span class="Constant">1</span> + <span class="Constant">5</span><span class="Special"> <- </span><span class="Constant">2</span> ] ] <span class="Comment"># create an array out of a list of scalar args</span> -recipe <span class="Identifier">new</span>-<span class="Identifier">array</span> [ - <span class="Underlined">local</span>-scope - capacity:number<span class="Special"> <- </span><span class="Identifier">copy</span> 0 - { +<span class="muRecipe">recipe</span> new-array [ + <span class="Constant">local-scope</span> + capacity:number<span class="Special"> <- </span>copy <span class="Constant">0</span> + <span class="Delimiter">{</span> <span class="Comment"># while read curr-value</span> - curr-value:location, exists?:boolean<span class="Special"> <- </span>next-ingredient - break-unless exists? - capacity<span class="Special"> <- </span>add capacity, 1 - loop - } - result:address:<span class="Identifier">array</span>:location<span class="Special"> <- </span><span class="Identifier">new</span> location:<span class="Identifier">type</span>, capacity + curr-value:location, exists?:boolean<span class="Special"> <- </span><span class="Constant">next-ingredient</span> + <span class="muControl">break-unless</span> exists? + capacity<span class="Special"> <- </span>add capacity, <span class="Constant">1</span> + <span class="muControl">loop</span> + <span class="Delimiter">}</span> + result:address:array:location<span class="Special"> <- </span>new <span class="Constant">location:type</span>, capacity rewind-ingredients - i:number<span class="Special"> <- </span><span class="Identifier">copy</span> 0 - { + i:number<span class="Special"> <- </span>copy <span class="Constant">0</span> + <span class="Delimiter">{</span> <span class="Comment"># while read curr-value</span> done?:boolean<span class="Special"> <- </span>greater-or-equal i, capacity - break-if done? - curr-value:location, exists?:boolean<span class="Special"> <- </span>next-ingredient - <span class="Identifier">assert</span> exists?, [<span class="Identifier">error</span> <span class="Identifier">in</span> rewinding ingredients to <span class="Identifier">new</span>-<span class="Identifier">array</span>] + <span class="muControl">break-if</span> done? + curr-value:location, exists?:boolean<span class="Special"> <- </span><span class="Constant">next-ingredient</span> + assert exists?, <span class="Constant">[error in rewinding ingredients to new-array]</span> tmp:address:location<span class="Special"> <- </span>index-address *result, i - *tmp<span class="Special"> <- </span><span class="Identifier">copy</span> curr-value - i<span class="Special"> <- </span>add i, 1 - loop - } - reply result + *tmp<span class="Special"> <- </span>copy curr-value + i<span class="Special"> <- </span>add i, <span class="Constant">1</span> + <span class="muControl">loop</span> + <span class="Delimiter">}</span> + <span class="muControl">reply</span> result ] </pre> </body> |