about summary refs log blame commit diff stats
path: root/html/013update_operation.cc.html
blob: 596e76247623b3bd8f3690168bd7ed3a0c5819ce (plain) (tree)
76755b28 
#!/usr/bin/python
"""Generate pydoc documentation and move it to the doc directory.
THIS WILL DELETE ALL EXISTING HTML FILES IN THAT DIRECTORY, so don't
store important content there."""

import pydoc, os, sys
if __name__ == '__main__':
	docdir = 'doc/pydoc'
	os.chdir(sys.path[0])
	try: os.mkdir(docdir)
	except: pass


	for fname in os.listdir(docdir):
		if fname.endswith('.html'):
			os.remove(os.path.join(docdir, fname))

	pydoc.writedocs('.')
	pydoc.writedoc('curses')
	pydoc.writedoc('curses.ascii')
	pydoc.writedoc('os')
	pydoc.writedoc('os.path')
	pydoc.writedoc('sys')

	for fname in os.listdir('.'):
		if fname.endswith('.html'):
			os.rename(fname, os.path.join(docdir, fname))
lass='oid'>a654e4ec ^
e5c11a51 ^






















a654e4ec ^

76755b28 ^
e5c11a51 ^
a654e4ec ^
204dae92 ^



201458e3 ^
204dae92 ^

201458e3 ^
c0f84b1f ^
204dae92 ^

2c678a4e ^
805d58c6 ^







204dae92 ^



1c2d788b ^











76755b28 ^


a654e4ec ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103




                                                                                          
                                         
                                                
                                  
                                                                                                               
                                           

                       


                                                                                                 
                                       
                                      
                             
                                  
                            
                             
                            
                                                        




                                                                           
                             

        



                               






















                                                                                 

         
       
                             
                         



                                                                                                                                                  
                                                                                                                                                                                                                                                                                

                                                                             
                                                                                                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

                                                                                                                                                                                             
                                                                                                                                                                                                                                                                                                                                                                                                                                                           







                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               



                                                                                                                          











                                                                                                                                                                                                                                                              


       
                                     
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Mu - 013update_operation.cc</title>
<meta name="Generator" content="Vim/7.4">
<meta name="plugin-version" content="vim7.4_v2">
<meta name="syntax" content="cpp">
<meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy=">
<meta name="colorscheme" content="minimal">
<style type="text/css">
<!--
pre { white-space: pre-wrap; font-family: monospace; color: #aaaaaa; background-color: #080808; }
body { font-size: 12pt; font-family: monospace; color: #aaaaaa; background-color: #080808; }
a { color:#eeeeee; text-decoration: none; }
a:hover { text-decoration: underline; }
* { font-size: 12pt; font-size: 1em; }
.Constant { color: #00a0a0; }
.traceContains { color: #008000; }
.Special { color: #c00000; }
.muRecipe { color: #ff8700; }
.Comment { color: #9090ff; }
.Comment a { color:#0000ee; text-decoration:underline; }
.Delimiter { color: #800080; }
.LineNr { color: #444444; }
.CommentedCode { color: #6c6c6c; }
.Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; }
.Identifier { color: #c0a020; }
.cSpecial { color: #008000; }
-->
</style>

<script type='text/javascript'>
<!--

/* function to open any folds containing a jumped-to line before jumping to it */
function JumpToLine()
{
  var lineNum;
  lineNum = window.location.hash;
  lineNum = lineNum.substr(1); /* strip off '#' */

  if (lineNum.indexOf('L') == -1) {
    lineNum = 'L'+lineNum;
  }
  lineElem = document.getElementById(lineNum);
  /* Always jump to new location even if the line was hidden inside a fold, or
   * we corrected the raw number to a line ID.
   */
  if (lineElem) {
    lineElem.scrollIntoView(true);
  }
  return true;
}
if ('onhashchange' in window) {
  window.onhashchange = JumpToLine;
}

-->
</script>
</head>
<body onload='JumpToLine();'>
<pre id='vimCodeElement'>
<span id="L1" class="LineNr"> 1 </span><span class="Comment">//: Once all code is loaded, save operation ids of instructions and check that</span>
<span id="L2" class="LineNr"> 2 </span><span class="Comment">//: nothing's undefined.</span>
<span id="L3" class="LineNr"> 3 </span>
<span id="L4" class="LineNr"> 4 </span><span class="Delimiter">:(before &quot;End Instruction Modifying Transforms&quot;)</span>
<span id="L5" class="LineNr"> 5 </span>Transform<span class="Delimiter">.</span>push_back<span class="Delimiter">(</span><a href='013update_operation.cc.html#L8'>update_instruction_operations</a><span class="Delimiter">);</span>  <span class="Comment">// idempotent</span>
<span id="L6" class="LineNr"> 6 </span>
<span id="L7" class="LineNr"> 7 </span><span class="Delimiter">:(code)</span>
<span id="L8" class="LineNr"> 8 </span><span class="Normal">void</span> <a href='013update_operation.cc.html#L8'>update_instruction_operations</a><span class="Delimiter">(</span><span class="Normal">const</span> <a href='010vm.cc.html#L14'>recipe_ordinal</a> r<span class="Delimiter">)</span> <span class="Delimiter">{</span>
<span id="L9" class="LineNr"> 9 </span>  <a href='003trace.cc.html#L167'>trace</a><span class="Delimiter">(</span><span class="Constant">9991</span><span class="Delimiter">,</span> <span class="Constant">&quot;transform&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;--- compute <a href='010vm.cc.html#L32'>instruction</a> operations for <a href='010vm.cc.html#L19'>recipe</a> &quot;</span> &lt;&lt; get<span class="Delimiter">(</span>Recipe<span class="Delimiter">,</span> r<span class="Delimiter">).</span>name &lt;&lt; <a href='003trace.cc.html#L203'>end</a><span class="Delimiter">();</span>
<span id="L10" class="LineNr">10 </span>  recipe&amp; caller = get<span class="Delimiter">(</span>Recipe<span class="Delimiter">,</span> r<span class="Delimiter">);</span>
<span id="L11" class="LineNr">11 </span><span class="CommentedCode">//?   cerr &lt;&lt; &quot;--- compute instruction operations for recipe &quot; &lt;&lt; caller.name &lt;&lt; '\n';</span>
<span id="L12" class="LineNr">12 </span>  <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Normal">int</span> index = <span class="Constant">0</span><span class="Delimiter">;</span>  index &lt; <a href='001help.cc.html#L141'>SIZE</a><span class="Delimiter">(</span>caller<span class="Delimiter">.</span>steps<span class="Delimiter">);</span>  ++index<span class="Delimiter">)</span> <span class="Delimiter">{</span>
<span id="L13" class="LineNr">13 </span>    instruction&amp; inst = caller<span class="Delimiter">.</span>steps<span class="Delimiter">.</span>at<span class="Delimiter">(</span>index<span class="Delimiter">);</span>
<span id="L14" class="LineNr">14 </span>    <span class="Normal">if</span> <span class="Delimiter">(</span>inst<span class="Delimiter">.</span>is_label<span class="Delimiter">)</span> <span class="Identifier">continue</span><span class="Delimiter">;</span>
<span id="L15" class="LineNr">15 </span>    <span class="Normal">if</span> <span class="Delimiter">(</span>!contains_key<span class="Delimiter">(</span>Recipe_ordinal<span class="Delimiter">,</span> inst<span class="Delimiter">.</span>name<span class="Delimiter">))</span> <span class="Delimiter">{</span>
<span id="L16" class="LineNr">16 </span>      <a href='003trace.cc.html#L174'>raise</a> &lt;&lt; <a href='013update_operation.cc.html#L25'>maybe</a><span class="Delimiter">(</span>caller<span class="Delimiter">.</span>name<span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;instruction '&quot;</span> &lt;&lt; inst<span class="Delimiter">.</span>name &lt;&lt; <span class="Constant">&quot;' has no <a href='010vm.cc.html#L19'>recipe</a> in '&quot;</span> &lt;&lt; to_original_string<span class="Delimiter">(</span>inst<span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;'</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span> &lt;&lt; <a href='003trace.cc.html#L203'>end</a><span class="Delimiter">();</span>
<span id="L17" class="LineNr">17 </span>      <span class="Identifier">continue</span><span class="Delimiter">;</span>
<span id="L18" class="LineNr">18 </span>    <span class="Delimiter">}</span>
<span id="L19" class="LineNr">19 </span>    inst<span class="Delimiter">.</span>operation = get<span class="Delimiter">(</span>Recipe_ordinal<span class="Delimiter">,</span> inst<span class="Delimiter">.</span>name<span class="Delimiter">);</span>
<span id="L20" class="LineNr">20 </span>    <span class="Comment">// End Instruction Operation Checks</span>
<span id="L21" class="LineNr">21 </span>  <span class="Delimiter">}</span>
<span id="L22" class="LineNr">22 </span><span class="Delimiter">}</span>
<span id="L23" class="LineNr">23 </span>
<span id="L24" class="LineNr">24 </span><span class="Comment">// hook to suppress inserting recipe name into errors</span>
<span id="L25" class="LineNr">25 </span>string <a href='013update_operation.cc.html#L25'>maybe</a><span class="Delimiter">(</span>string recipe_name<span class="Delimiter">)</span> <span class="Delimiter">{</span>
<span id="L26" class="LineNr">26 </span>  <span class="Comment">// End maybe(recipe_name) Special-cases</span>
<span id="L27" class="LineNr">27 </span>  <span class="Identifier">return</span> recipe_name + <span class="Constant">&quot;: &quot;</span><span class="Delimiter">;</span>
<span id="L28" class="LineNr">28 </span><span class="Delimiter">}</span>
<span id="L29" class="LineNr">29 </span>
<span id="L30" class="LineNr">30 </span><span class="Delimiter">:(scenarios transform)</span>
<span id="L31" class="LineNr">31 </span><span class="Delimiter">:(scenario missing_arrow)</span>
<span id="L32" class="LineNr">32 </span><span class="Special">% Hide_errors = true;</span>
<span id="L33" class="LineNr">33 </span><span class="muRecipe">def</span> <a href='000organization.cc.html#L113'>main</a> [
<span id="L34" class="LineNr">34 </span>  <span class="Constant">1</span>:number <span class="Delimiter">,</span> copy <span class="Constant">0</span>  <span class="Comment"># typo: ',' instead of '&lt;-'</span>
<span id="L35" class="LineNr">35 </span>]
<span id="L36" class="LineNr">36 </span><span class="traceContains">+error: <a href='000organization.cc.html#L113'>main</a>: <a href='010vm.cc.html#L32'>instruction</a> '1:number' has no <a href='010vm.cc.html#L19'>recipe</a> in '1:number copy, 0'</span>
</pre>
</body>
</html>
<!-- vim: set foldmethod=manual : -->