OSDN Git Service

59f5866ebb607f2c406c7e35783b43459f71dcdd
[ring-lang-081/ring.git] / docs / build / html / compiler.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
4
5 <html xmlns="http://www.w3.org/1999/xhtml">
6   <head>
7     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8     
9     <title>コマンドラインオプション &mdash; プログラミング言語 Ring 1.12 取扱説明書</title>
10     
11     <link rel="stylesheet" href="_static/bootstrap-astropy.css" type="text/css" />
12     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
13     
14     <script type="text/javascript">
15       var DOCUMENTATION_OPTIONS = {
16         URL_ROOT:    './',
17         VERSION:     '1.12',
18         COLLAPSE_INDEX: false,
19         FILE_SUFFIX: '.html',
20         HAS_SOURCE:  true
21       };
22     </script>
23     <script type="text/javascript" src="_static/jquery.js"></script>
24     <script type="text/javascript" src="_static/underscore.js"></script>
25     <script type="text/javascript" src="_static/doctools.js"></script>
26     <script type="text/javascript" src="_static/translations.js"></script>
27     <link rel="top" title="プログラミング言語 Ring 1.12 取扱説明書" href="index.html" />
28     <link rel="next" title="性能改善に関する情報" href="performancetips.html" />
29     <link rel="prev" title="型ヒントライブラリについて" href="typehints.html" />
30     <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,600' rel='stylesheet' type='text/css'/>
31
32   </head>
33   <body role="document">
34 <div class="topbar">
35   <a class="brand" title="Documentation Home" href="index.html"><span id="logotext1">&#x1f369;Ring</span><span id="logotext2"> 1.12</span><span id="logotext3">:docs</span></a>
36   <ul>
37     
38     <li><a href="http://ring-lang.sourceforge.net/news.html">News</a></li>
39     <li><a href="http://ring-lang.sourceforge.net/download.html">Download</a></li>
40     <li><a href="https://groups.google.com/forum/#!forum/ring-lang">Get Help</a></li>
41     <li><a href="https://github.com/ring-lang/ring">Contribute</a></li>
42     <li><a href="http://ring-lang.sourceforge.net/resources.html">Resources</a></li>
43     <li><a href="http://ring-lang.sourceforge.net/team.html">Team</a></li>
44     
45     <li><a title="Ring Homepage" href="http://ring-lang.net/">Website</a></li>
46     <li><a title="総合索引" href="genindex.html">Index</a></li>
47     <li>
48       
49       
50 <form action="search.html" method="get">
51   <input type="text" name="q" placeholder="Search" />
52   <input type="hidden" name="check_keywords" value="yes" />
53   <input type="hidden" name="area" value="default" />
54 </form>
55       
56     </li>
57   </ul>
58 </div>
59
60 <div class="related">
61     <h3>ナビゲーション</h3>
62     <ul>
63       <li class="right">
64         <a href="performancetips.html" title="性能改善に関する情報">
65           next &raquo;
66         </a>
67       </li>
68       <li class="right">
69         <a href="typehints.html" title="型ヒントライブラリについて">
70           &laquo; previous
71         </a>
72          |
73       </li>
74       <li>
75         <a href="index.html">プログラミング言語 Ring 1.12 取扱説明書</a>
76          &raquo;
77       </li>
78       
79       <li>コマンドラインオプション</li> 
80     </ul>
81 </div>
82   
83
84     <div class="document">
85       <div class="documentwrapper">
86         <div class="bodywrapper">
87           <div class="body" role="main">
88             
89   <div class="section" id="index-0">
90 <span id="id1"></span><h1>コマンドラインオプション<a class="headerlink" href="#index-0" title="このヘッドラインへのパーマリンク">¶</a></h1>
91 <p>Ring はソースコードファイル (*.ring) または、オブジェクトファイル (*.ringo) とオプションを指定するとプログラムを実行します。</p>
92 <p>書式:</p>
93 <div class="highlight-bash"><div class="highlight"><pre>ring &lt;ファイル名.ring&gt;<span class="p">|</span>&lt;ファイル名.ringo&gt; <span class="o">[</span>オプション<span class="o">]</span>
94 </pre></div>
95 </div>
96 <p>オプション:</p>
97 <table border="1" class="docutils">
98 <colgroup>
99 <col width="18%" />
100 <col width="82%" />
101 </colgroup>
102 <thead valign="bottom">
103 <tr class="row-odd"><th class="head">オプション</th>
104 <th class="head">説明</th>
105 </tr>
106 </thead>
107 <tbody valign="top">
108 <tr class="row-even"><td>-tokens</td>
109 <td>ソースコードファイルのトークンリストを表示します。</td>
110 </tr>
111 <tr class="row-odd"><td>-rules</td>
112 <td>トークンに適用された文法規則を表示します。</td>
113 </tr>
114 <tr class="row-even"><td>-ic</td>
115 <td>中間バイトコードを表示します (実行前)。</td>
116 </tr>
117 <tr class="row-odd"><td>-icfinal</td>
118 <td>最終バイトコードを表示します (実行後)。</td>
119 </tr>
120 <tr class="row-even"><td>-cgi</td>
121 <td>エラーメッセージの前に http レスポンスヘッダを表示します。</td>
122 </tr>
123 <tr class="row-odd"><td>-norun</td>
124 <td>コンパイル後にプログラムを実行しません。</td>
125 </tr>
126 <tr class="row-even"><td>-ins</td>
127 <td>実行前に命令演算コードを表示します。</td>
128 </tr>
129 <tr class="row-odd"><td>-performance</td>
130 <td>プログラムの実行前後に処理時間測定結果を表示します。</td>
131 </tr>
132 <tr class="row-even"><td>-go</td>
133 <td>オブジェクトファイルを生成します。</td>
134 </tr>
135 <tr class="row-odd"><td>-geo</td>
136 <td>組込型オブジェクトファイル (C ソースコード) を生成します。</td>
137 </tr>
138 <tr class="row-even"><td>-w</td>
139 <td>警告を表示します。</td>
140 </tr>
141 </tbody>
142 </table>
143 <div class="admonition note">
144 <p class="first admonition-title">注釈</p>
145 <p class="last">オブジェクトファイル形式では、一部使用できないオプションがあります。</p>
146 </div>
147 <div class="section" id="index-1">
148 <span id="id2"></span><h2>トークンの表示<a class="headerlink" href="#index-1" title="このヘッドラインへのパーマリンク">¶</a></h2>
149 <p>用例:</p>
150 <div class="highlight-ring"><div class="highlight"><pre><span class="k">Func</span> <span class="n">Main</span>
151         <span class="k">See</span> <span class="s">&quot;Hello World&quot;</span> <span class="o">+</span> <span class="n">nl</span>
152         <span class="k">for</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">1</span> <span class="k">to</span> <span class="mi">10</span>
153                 <span class="k">see</span> <span class="n">x</span> <span class="o">+</span> <span class="n">nl</span>
154         <span class="k">next</span>
155         <span class="n">test</span><span class="p">()</span>
156
157 <span class="k">func</span> <span class="n">test</span>
158         <span class="k">see</span> <span class="s">&quot;welcome&quot;</span> <span class="o">+</span> <span class="n">nl</span>
159         <span class="n">o1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">point</span> <span class="p">{</span> <span class="n">x</span><span class="o">=</span><span class="mi">10</span> <span class="n">y</span><span class="o">=</span><span class="mi">20</span> <span class="n">z</span><span class="o">=</span><span class="mi">30</span> <span class="p">}</span>
160         <span class="k">see</span> <span class="n">o1</span>
161
162 <span class="k">class</span> <span class="n">point</span> <span class="n">x</span> <span class="n">y</span> <span class="n">z</span>
163 </pre></div>
164 </div>
165 <p>コマンド:</p>
166 <div class="highlight-ring"><div class="highlight"><pre><span class="n">ring</span> <span class="n">test</span><span class="p">.</span><span class="n">ring</span> <span class="o">-</span><span class="n">tokens</span> <span class="o">-</span><span class="n">norun</span>
167 </pre></div>
168 </div>
169 <p>実行結果:</p>
170 <div class="highlight-ring"><div class="highlight"><pre><span class="o">===================================================</span>
171 <span class="n">Tokens</span> <span class="o">-</span> <span class="n">Generated</span> <span class="n">by</span> <span class="n">the</span> <span class="n">Scanner</span>
172 <span class="o">===================================================</span>
173
174    <span class="n">Keyword</span> <span class="p">:</span> <span class="k">FUNC</span>
175 <span class="n">Identifier</span> <span class="p">:</span> <span class="n">main</span>
176    <span class="n">EndLine</span>
177    <span class="n">Keyword</span> <span class="p">:</span> <span class="k">SEE</span>
178    <span class="n">Literal</span> <span class="p">:</span> <span class="n">Hello</span> <span class="n">World</span>
179   <span class="n">Operator</span> <span class="p">:</span> <span class="o">+</span>
180 <span class="n">Identifier</span> <span class="p">:</span> <span class="n">nl</span>
181    <span class="n">EndLine</span>
182    <span class="n">Keyword</span> <span class="p">:</span> <span class="k">FOR</span>
183 <span class="n">Identifier</span> <span class="p">:</span> <span class="n">x</span>
184   <span class="n">Operator</span> <span class="p">:</span> <span class="o">=</span>
185     <span class="n">Number</span> <span class="p">:</span> <span class="mi">1</span>
186    <span class="n">Keyword</span> <span class="p">:</span> <span class="k">TO</span>
187     <span class="n">Number</span> <span class="p">:</span> <span class="mi">10</span>
188    <span class="n">EndLine</span>
189    <span class="n">Keyword</span> <span class="p">:</span> <span class="k">SEE</span>
190 <span class="n">Identifier</span> <span class="p">:</span> <span class="n">x</span>
191   <span class="n">Operator</span> <span class="p">:</span> <span class="o">+</span>
192 <span class="n">Identifier</span> <span class="p">:</span> <span class="n">nl</span>
193    <span class="n">EndLine</span>
194    <span class="n">Keyword</span> <span class="p">:</span> <span class="k">NEXT</span>
195    <span class="n">EndLine</span>
196 <span class="n">Identifier</span> <span class="p">:</span> <span class="n">test</span>
197   <span class="n">Operator</span> <span class="p">:</span> <span class="p">(</span>
198   <span class="n">Operator</span> <span class="p">:</span> <span class="p">)</span>
199    <span class="n">EndLine</span>
200    <span class="n">Keyword</span> <span class="p">:</span> <span class="k">FUNC</span>
201 <span class="n">Identifier</span> <span class="p">:</span> <span class="n">test</span>
202    <span class="n">EndLine</span>
203    <span class="n">Keyword</span> <span class="p">:</span> <span class="k">SEE</span>
204    <span class="n">Literal</span> <span class="p">:</span> <span class="n">welcome</span>
205   <span class="n">Operator</span> <span class="p">:</span> <span class="o">+</span>
206 <span class="n">Identifier</span> <span class="p">:</span> <span class="n">nl</span>
207    <span class="n">EndLine</span>
208 <span class="n">Identifier</span> <span class="p">:</span> <span class="n">o1</span>
209   <span class="n">Operator</span> <span class="p">:</span> <span class="o">=</span>
210    <span class="n">Keyword</span> <span class="p">:</span> <span class="k">NEW</span>
211 <span class="n">Identifier</span> <span class="p">:</span> <span class="n">point</span>
212   <span class="n">Operator</span> <span class="p">:</span> <span class="p">{</span>
213 <span class="n">Identifier</span> <span class="p">:</span> <span class="n">x</span>
214   <span class="n">Operator</span> <span class="p">:</span> <span class="o">=</span>
215     <span class="n">Number</span> <span class="p">:</span> <span class="mi">10</span>
216 <span class="n">Identifier</span> <span class="p">:</span> <span class="n">y</span>
217   <span class="n">Operator</span> <span class="p">:</span> <span class="o">=</span>
218     <span class="n">Number</span> <span class="p">:</span> <span class="mi">20</span>
219 <span class="n">Identifier</span> <span class="p">:</span> <span class="n">z</span>
220   <span class="n">Operator</span> <span class="p">:</span> <span class="o">=</span>
221     <span class="n">Number</span> <span class="p">:</span> <span class="mi">30</span>
222   <span class="n">Operator</span> <span class="p">:</span> <span class="p">}</span>
223    <span class="n">EndLine</span>
224    <span class="n">Keyword</span> <span class="p">:</span> <span class="k">SEE</span>
225 <span class="n">Identifier</span> <span class="p">:</span> <span class="n">o1</span>
226    <span class="n">EndLine</span>
227    <span class="n">Keyword</span> <span class="p">:</span> <span class="k">CLASS</span>
228 <span class="n">Identifier</span> <span class="p">:</span> <span class="n">point</span>
229 <span class="n">Identifier</span> <span class="p">:</span> <span class="n">x</span>
230 <span class="n">Identifier</span> <span class="p">:</span> <span class="n">y</span>
231 <span class="n">Identifier</span> <span class="p">:</span> <span class="n">z</span>
232    <span class="n">EndLine</span>
233
234 <span class="o">===================================================</span>
235 </pre></div>
236 </div>
237 </div>
238 <div class="section" id="index-2">
239 <span id="id3"></span><h2>文法規則の表示<a class="headerlink" href="#index-2" title="このヘッドラインへのパーマリンク">¶</a></h2>
240 <p>コマンド:</p>
241 <div class="highlight-ring"><div class="highlight"><pre><span class="n">ring</span> <span class="n">test</span><span class="p">.</span><span class="n">ring</span> <span class="o">-</span><span class="n">rules</span> <span class="o">-</span><span class="n">norun</span>
242 </pre></div>
243 </div>
244 <p>実行結果:</p>
245 <div class="highlight-ring"><div class="highlight"><pre><span class="o">===================================================</span>
246 <span class="n">Grammar</span> <span class="n">Rules</span> <span class="n">Used</span> <span class="n">by</span> <span class="n">The</span> <span class="n">Parser</span>
247 <span class="o">===================================================</span>
248
249 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Program</span> <span class="o">--&gt;</span> <span class="p">{</span><span class="n">Statement</span><span class="p">}</span>
250
251 <span class="n">Line</span> <span class="mi">1</span>
252 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Statement</span>  <span class="o">--&gt;</span> <span class="sc">&#39;Func&#39;</span> <span class="n">Identifier</span> <span class="o">[</span><span class="n">ParaList</span><span class="o">]</span>
253
254 <span class="n">Line</span> <span class="mi">2</span>
255 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Literal</span>
256 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
257 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
258 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
259 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Identifier</span> <span class="o">[</span> <span class="p">{</span><span class="n">Mixer</span><span class="p">}</span> <span class="o">|</span> <span class="n">Assignment</span> <span class="o">|</span> <span class="n">PlusPlus</span> <span class="o">|</span> <span class="n">MinusMinus</span><span class="o">]</span>
260 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
261 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
262 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
263 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span> <span class="o">+</span> <span class="n">Arithmetic</span>
264 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitShift</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span>
265 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitAnd</span> <span class="o">--&gt;</span> <span class="n">BitShift</span>
266 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitOrXOR</span> <span class="o">--&gt;</span>  <span class="n">BitAnd</span>
267 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Compare</span> <span class="o">--&gt;</span> <span class="n">BitOrXOR</span>
268 <span class="n">Rule</span> <span class="p">:</span> <span class="n">EqualOrNot</span> <span class="o">--&gt;</span> <span class="n">Compare</span>
269 <span class="n">Rule</span> <span class="p">:</span> <span class="n">LogicNot</span> <span class="o">-&gt;</span> <span class="n">EqualOrNot</span>
270 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Expr</span> <span class="o">--&gt;</span> <span class="n">LogicNot</span>
271 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Statement</span>  <span class="o">--&gt;</span> <span class="sc">&#39;See&#39;</span> <span class="n">Expr</span>
272
273 <span class="n">Line</span> <span class="mi">3</span>
274 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Number</span>
275 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
276 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
277 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
278 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitShift</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span>
279 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitAnd</span> <span class="o">--&gt;</span> <span class="n">BitShift</span>
280 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitOrXOR</span> <span class="o">--&gt;</span>  <span class="n">BitAnd</span>
281 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Compare</span> <span class="o">--&gt;</span> <span class="n">BitOrXOR</span>
282 <span class="n">Rule</span> <span class="p">:</span> <span class="n">EqualOrNot</span> <span class="o">--&gt;</span> <span class="n">Compare</span>
283 <span class="n">Rule</span> <span class="p">:</span> <span class="n">LogicNot</span> <span class="o">-&gt;</span> <span class="n">EqualOrNot</span>
284 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Expr</span> <span class="o">--&gt;</span> <span class="n">LogicNot</span>
285 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Number</span>
286 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
287 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
288 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
289 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitShift</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span>
290 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitAnd</span> <span class="o">--&gt;</span> <span class="n">BitShift</span>
291 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitOrXOR</span> <span class="o">--&gt;</span>  <span class="n">BitAnd</span>
292 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Compare</span> <span class="o">--&gt;</span> <span class="n">BitOrXOR</span>
293 <span class="n">Rule</span> <span class="p">:</span> <span class="n">EqualOrNot</span> <span class="o">--&gt;</span> <span class="n">Compare</span>
294 <span class="n">Rule</span> <span class="p">:</span> <span class="n">LogicNot</span> <span class="o">-&gt;</span> <span class="n">EqualOrNot</span>
295 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Expr</span> <span class="o">--&gt;</span> <span class="n">LogicNot</span>
296 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Statement</span>  <span class="o">--&gt;</span> <span class="sc">&#39;For&#39;</span> <span class="n">Identifier</span> <span class="sc">&#39;=&#39;</span> <span class="n">Expr</span> <span class="k">to</span> <span class="n">Expr</span> <span class="o">[</span><span class="sc">&#39;step&#39;</span> <span class="n">Expr</span><span class="o">]</span>
297
298 <span class="n">Line</span> <span class="mi">4</span>
299 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Identifier</span> <span class="o">[</span> <span class="p">{</span><span class="n">Mixer</span><span class="p">}</span> <span class="o">|</span> <span class="n">Assignment</span> <span class="o">|</span> <span class="n">PlusPlus</span> <span class="o">|</span> <span class="n">MinusMinus</span><span class="o">]</span>
300 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
301 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
302 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
303 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Identifier</span> <span class="o">[</span> <span class="p">{</span><span class="n">Mixer</span><span class="p">}</span> <span class="o">|</span> <span class="n">Assignment</span> <span class="o">|</span> <span class="n">PlusPlus</span> <span class="o">|</span> <span class="n">MinusMinus</span><span class="o">]</span>
304 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
305 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
306 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
307 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span> <span class="o">+</span> <span class="n">Arithmetic</span>
308 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitShift</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span>
309 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitAnd</span> <span class="o">--&gt;</span> <span class="n">BitShift</span>
310 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitOrXOR</span> <span class="o">--&gt;</span>  <span class="n">BitAnd</span>
311 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Compare</span> <span class="o">--&gt;</span> <span class="n">BitOrXOR</span>
312 <span class="n">Rule</span> <span class="p">:</span> <span class="n">EqualOrNot</span> <span class="o">--&gt;</span> <span class="n">Compare</span>
313 <span class="n">Rule</span> <span class="p">:</span> <span class="n">LogicNot</span> <span class="o">-&gt;</span> <span class="n">EqualOrNot</span>
314 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Expr</span> <span class="o">--&gt;</span> <span class="n">LogicNot</span>
315 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Statement</span>  <span class="o">--&gt;</span> <span class="sc">&#39;See&#39;</span> <span class="n">Expr</span>
316
317 <span class="n">Line</span> <span class="mi">5</span>
318 <span class="n">Rule</span> <span class="p">:</span> <span class="k">Next</span> <span class="o">--&gt;</span> <span class="sc">&#39;Next&#39;</span>
319
320 <span class="n">Line</span> <span class="mi">6</span>
321 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Mixer</span> <span class="o">-&gt;</span> <span class="sc">&#39;(&#39;</span> <span class="o">[</span><span class="n">Expr</span> <span class="p">{</span> <span class="sc">&#39;,&#39;</span> <span class="n">Expr</span><span class="p">}</span> <span class="o">]</span> <span class="sc">&#39;)&#39;</span>
322
323 <span class="n">Line</span> <span class="mi">8</span>
324 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Identifier</span> <span class="o">[</span> <span class="p">{</span><span class="n">Mixer</span><span class="p">}</span> <span class="o">|</span> <span class="n">Assignment</span> <span class="o">|</span> <span class="n">PlusPlus</span> <span class="o">|</span> <span class="n">MinusMinus</span><span class="o">]</span>
325 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
326 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
327 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
328 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitShift</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span>
329 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitAnd</span> <span class="o">--&gt;</span> <span class="n">BitShift</span>
330 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitOrXOR</span> <span class="o">--&gt;</span>  <span class="n">BitAnd</span>
331 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Compare</span> <span class="o">--&gt;</span> <span class="n">BitOrXOR</span>
332 <span class="n">Rule</span> <span class="p">:</span> <span class="n">EqualOrNot</span> <span class="o">--&gt;</span> <span class="n">Compare</span>
333 <span class="n">Rule</span> <span class="p">:</span> <span class="n">LogicNot</span> <span class="o">-&gt;</span> <span class="n">EqualOrNot</span>
334 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Expr</span> <span class="o">--&gt;</span> <span class="n">LogicNot</span>
335 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Statement</span>  <span class="o">--&gt;</span> <span class="n">Expr</span>
336 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Statement</span>  <span class="o">--&gt;</span> <span class="sc">&#39;Func&#39;</span> <span class="n">Identifier</span> <span class="o">[</span><span class="n">ParaList</span><span class="o">]</span>
337
338 <span class="n">Line</span> <span class="mi">9</span>
339 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Literal</span>
340 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
341 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
342 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
343 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Identifier</span> <span class="o">[</span> <span class="p">{</span><span class="n">Mixer</span><span class="p">}</span> <span class="o">|</span> <span class="n">Assignment</span> <span class="o">|</span> <span class="n">PlusPlus</span> <span class="o">|</span> <span class="n">MinusMinus</span><span class="o">]</span>
344 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
345 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
346 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
347 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span> <span class="o">+</span> <span class="n">Arithmetic</span>
348 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitShift</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span>
349 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitAnd</span> <span class="o">--&gt;</span> <span class="n">BitShift</span>
350 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitOrXOR</span> <span class="o">--&gt;</span>  <span class="n">BitAnd</span>
351 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Compare</span> <span class="o">--&gt;</span> <span class="n">BitOrXOR</span>
352 <span class="n">Rule</span> <span class="p">:</span> <span class="n">EqualOrNot</span> <span class="o">--&gt;</span> <span class="n">Compare</span>
353 <span class="n">Rule</span> <span class="p">:</span> <span class="n">LogicNot</span> <span class="o">-&gt;</span> <span class="n">EqualOrNot</span>
354 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Expr</span> <span class="o">--&gt;</span> <span class="n">LogicNot</span>
355 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Statement</span>  <span class="o">--&gt;</span> <span class="sc">&#39;See&#39;</span> <span class="n">Expr</span>
356
357 <span class="n">Line</span> <span class="mi">10</span>
358 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="k">New</span> <span class="n">Identifier</span> <span class="p">{</span><span class="sc">&#39;.&#39;</span> <span class="n">Identifier</span> <span class="p">}</span>
359 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Mixer</span> <span class="o">--&gt;</span> <span class="sc">&#39;{&#39;</span> <span class="p">{</span><span class="n">Statement</span><span class="p">}</span> <span class="n">BraceEnd</span>
360 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Number</span>
361 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
362 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
363 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
364 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitShift</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span>
365 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitAnd</span> <span class="o">--&gt;</span> <span class="n">BitShift</span>
366 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitOrXOR</span> <span class="o">--&gt;</span>  <span class="n">BitAnd</span>
367 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Compare</span> <span class="o">--&gt;</span> <span class="n">BitOrXOR</span>
368 <span class="n">Rule</span> <span class="p">:</span> <span class="n">EqualOrNot</span> <span class="o">--&gt;</span> <span class="n">Compare</span>
369 <span class="n">Rule</span> <span class="p">:</span> <span class="n">LogicNot</span> <span class="o">-&gt;</span> <span class="n">EqualOrNot</span>
370 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Expr</span> <span class="o">--&gt;</span> <span class="n">LogicNot</span>
371 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Assignment</span> <span class="o">-&gt;</span> <span class="sc">&#39;=&#39;</span> <span class="n">Expr</span>
372 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Identifier</span> <span class="o">[</span> <span class="p">{</span><span class="n">Mixer</span><span class="p">}</span> <span class="o">|</span> <span class="n">Assignment</span> <span class="o">|</span> <span class="n">PlusPlus</span> <span class="o">|</span> <span class="n">MinusMinus</span><span class="o">]</span>
373 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
374 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
375 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
376 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitShift</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span>
377 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitAnd</span> <span class="o">--&gt;</span> <span class="n">BitShift</span>
378 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitOrXOR</span> <span class="o">--&gt;</span>  <span class="n">BitAnd</span>
379 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Compare</span> <span class="o">--&gt;</span> <span class="n">BitOrXOR</span>
380 <span class="n">Rule</span> <span class="p">:</span> <span class="n">EqualOrNot</span> <span class="o">--&gt;</span> <span class="n">Compare</span>
381 <span class="n">Rule</span> <span class="p">:</span> <span class="n">LogicNot</span> <span class="o">-&gt;</span> <span class="n">EqualOrNot</span>
382 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Expr</span> <span class="o">--&gt;</span> <span class="n">LogicNot</span>
383 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Statement</span>  <span class="o">--&gt;</span> <span class="n">Expr</span>
384 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Number</span>
385 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
386 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
387 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
388 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitShift</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span>
389 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitAnd</span> <span class="o">--&gt;</span> <span class="n">BitShift</span>
390 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitOrXOR</span> <span class="o">--&gt;</span>  <span class="n">BitAnd</span>
391 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Compare</span> <span class="o">--&gt;</span> <span class="n">BitOrXOR</span>
392 <span class="n">Rule</span> <span class="p">:</span> <span class="n">EqualOrNot</span> <span class="o">--&gt;</span> <span class="n">Compare</span>
393 <span class="n">Rule</span> <span class="p">:</span> <span class="n">LogicNot</span> <span class="o">-&gt;</span> <span class="n">EqualOrNot</span>
394 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Expr</span> <span class="o">--&gt;</span> <span class="n">LogicNot</span>
395 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Assignment</span> <span class="o">-&gt;</span> <span class="sc">&#39;=&#39;</span> <span class="n">Expr</span>
396 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Identifier</span> <span class="o">[</span> <span class="p">{</span><span class="n">Mixer</span><span class="p">}</span> <span class="o">|</span> <span class="n">Assignment</span> <span class="o">|</span> <span class="n">PlusPlus</span> <span class="o">|</span> <span class="n">MinusMinus</span><span class="o">]</span>
397 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
398 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
399 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
400 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitShift</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span>
401 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitAnd</span> <span class="o">--&gt;</span> <span class="n">BitShift</span>
402 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitOrXOR</span> <span class="o">--&gt;</span>  <span class="n">BitAnd</span>
403 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Compare</span> <span class="o">--&gt;</span> <span class="n">BitOrXOR</span>
404 <span class="n">Rule</span> <span class="p">:</span> <span class="n">EqualOrNot</span> <span class="o">--&gt;</span> <span class="n">Compare</span>
405 <span class="n">Rule</span> <span class="p">:</span> <span class="n">LogicNot</span> <span class="o">-&gt;</span> <span class="n">EqualOrNot</span>
406 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Expr</span> <span class="o">--&gt;</span> <span class="n">LogicNot</span>
407 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Statement</span>  <span class="o">--&gt;</span> <span class="n">Expr</span>
408 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Number</span>
409 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
410 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
411 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
412 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitShift</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span>
413 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitAnd</span> <span class="o">--&gt;</span> <span class="n">BitShift</span>
414 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitOrXOR</span> <span class="o">--&gt;</span>  <span class="n">BitAnd</span>
415 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Compare</span> <span class="o">--&gt;</span> <span class="n">BitOrXOR</span>
416 <span class="n">Rule</span> <span class="p">:</span> <span class="n">EqualOrNot</span> <span class="o">--&gt;</span> <span class="n">Compare</span>
417 <span class="n">Rule</span> <span class="p">:</span> <span class="n">LogicNot</span> <span class="o">-&gt;</span> <span class="n">EqualOrNot</span>
418 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Expr</span> <span class="o">--&gt;</span> <span class="n">LogicNot</span>
419 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Assignment</span> <span class="o">-&gt;</span> <span class="sc">&#39;=&#39;</span> <span class="n">Expr</span>
420 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Identifier</span> <span class="o">[</span> <span class="p">{</span><span class="n">Mixer</span><span class="p">}</span> <span class="o">|</span> <span class="n">Assignment</span> <span class="o">|</span> <span class="n">PlusPlus</span> <span class="o">|</span> <span class="n">MinusMinus</span><span class="o">]</span>
421 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
422 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
423 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
424 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitShift</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span>
425 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitAnd</span> <span class="o">--&gt;</span> <span class="n">BitShift</span>
426 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitOrXOR</span> <span class="o">--&gt;</span>  <span class="n">BitAnd</span>
427 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Compare</span> <span class="o">--&gt;</span> <span class="n">BitOrXOR</span>
428 <span class="n">Rule</span> <span class="p">:</span> <span class="n">EqualOrNot</span> <span class="o">--&gt;</span> <span class="n">Compare</span>
429 <span class="n">Rule</span> <span class="p">:</span> <span class="n">LogicNot</span> <span class="o">-&gt;</span> <span class="n">EqualOrNot</span>
430 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Expr</span> <span class="o">--&gt;</span> <span class="n">LogicNot</span>
431 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Statement</span>  <span class="o">--&gt;</span> <span class="n">Expr</span>
432 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BraceEnd</span> <span class="o">--&gt;</span> <span class="sc">&#39;}&#39;</span>
433 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
434 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
435 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
436 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitShift</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span>
437 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitAnd</span> <span class="o">--&gt;</span> <span class="n">BitShift</span>
438 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitOrXOR</span> <span class="o">--&gt;</span>  <span class="n">BitAnd</span>
439 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Compare</span> <span class="o">--&gt;</span> <span class="n">BitOrXOR</span>
440 <span class="n">Rule</span> <span class="p">:</span> <span class="n">EqualOrNot</span> <span class="o">--&gt;</span> <span class="n">Compare</span>
441 <span class="n">Rule</span> <span class="p">:</span> <span class="n">LogicNot</span> <span class="o">-&gt;</span> <span class="n">EqualOrNot</span>
442 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Expr</span> <span class="o">--&gt;</span> <span class="n">LogicNot</span>
443 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Assignment</span> <span class="o">-&gt;</span> <span class="sc">&#39;=&#39;</span> <span class="n">Expr</span>
444 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Identifier</span> <span class="o">[</span> <span class="p">{</span><span class="n">Mixer</span><span class="p">}</span> <span class="o">|</span> <span class="n">Assignment</span> <span class="o">|</span> <span class="n">PlusPlus</span> <span class="o">|</span> <span class="n">MinusMinus</span><span class="o">]</span>
445 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
446 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
447 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
448 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitShift</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span>
449 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitAnd</span> <span class="o">--&gt;</span> <span class="n">BitShift</span>
450 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitOrXOR</span> <span class="o">--&gt;</span>  <span class="n">BitAnd</span>
451 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Compare</span> <span class="o">--&gt;</span> <span class="n">BitOrXOR</span>
452 <span class="n">Rule</span> <span class="p">:</span> <span class="n">EqualOrNot</span> <span class="o">--&gt;</span> <span class="n">Compare</span>
453 <span class="n">Rule</span> <span class="p">:</span> <span class="n">LogicNot</span> <span class="o">-&gt;</span> <span class="n">EqualOrNot</span>
454 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Expr</span> <span class="o">--&gt;</span> <span class="n">LogicNot</span>
455 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Statement</span>  <span class="o">--&gt;</span> <span class="n">Expr</span>
456
457 <span class="n">Line</span> <span class="mi">11</span>
458 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Identifier</span> <span class="o">[</span> <span class="p">{</span><span class="n">Mixer</span><span class="p">}</span> <span class="o">|</span> <span class="n">Assignment</span> <span class="o">|</span> <span class="n">PlusPlus</span> <span class="o">|</span> <span class="n">MinusMinus</span><span class="o">]</span>
459 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
460 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
461 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
462 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitShift</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span>
463 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitAnd</span> <span class="o">--&gt;</span> <span class="n">BitShift</span>
464 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitOrXOR</span> <span class="o">--&gt;</span>  <span class="n">BitAnd</span>
465 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Compare</span> <span class="o">--&gt;</span> <span class="n">BitOrXOR</span>
466 <span class="n">Rule</span> <span class="p">:</span> <span class="n">EqualOrNot</span> <span class="o">--&gt;</span> <span class="n">Compare</span>
467 <span class="n">Rule</span> <span class="p">:</span> <span class="n">LogicNot</span> <span class="o">-&gt;</span> <span class="n">EqualOrNot</span>
468 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Expr</span> <span class="o">--&gt;</span> <span class="n">LogicNot</span>
469 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Statement</span>  <span class="o">--&gt;</span> <span class="sc">&#39;See&#39;</span> <span class="n">Expr</span>
470
471 <span class="n">Line</span> <span class="mi">13</span>
472 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Statement</span>  <span class="o">--&gt;</span> <span class="sc">&#39;Class&#39;</span> <span class="n">Identifier</span>
473 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Identifier</span> <span class="o">[</span> <span class="p">{</span><span class="n">Mixer</span><span class="p">}</span> <span class="o">|</span> <span class="n">Assignment</span> <span class="o">|</span> <span class="n">PlusPlus</span> <span class="o">|</span> <span class="n">MinusMinus</span><span class="o">]</span>
474 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
475 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
476 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
477 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitShift</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span>
478 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitAnd</span> <span class="o">--&gt;</span> <span class="n">BitShift</span>
479 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitOrXOR</span> <span class="o">--&gt;</span>  <span class="n">BitAnd</span>
480 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Compare</span> <span class="o">--&gt;</span> <span class="n">BitOrXOR</span>
481 <span class="n">Rule</span> <span class="p">:</span> <span class="n">EqualOrNot</span> <span class="o">--&gt;</span> <span class="n">Compare</span>
482 <span class="n">Rule</span> <span class="p">:</span> <span class="n">LogicNot</span> <span class="o">-&gt;</span> <span class="n">EqualOrNot</span>
483 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Expr</span> <span class="o">--&gt;</span> <span class="n">LogicNot</span>
484 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Statement</span>  <span class="o">--&gt;</span> <span class="n">Expr</span>
485 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Identifier</span> <span class="o">[</span> <span class="p">{</span><span class="n">Mixer</span><span class="p">}</span> <span class="o">|</span> <span class="n">Assignment</span> <span class="o">|</span> <span class="n">PlusPlus</span> <span class="o">|</span> <span class="n">MinusMinus</span><span class="o">]</span>
486 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
487 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
488 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
489 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitShift</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span>
490 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitAnd</span> <span class="o">--&gt;</span> <span class="n">BitShift</span>
491 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitOrXOR</span> <span class="o">--&gt;</span>  <span class="n">BitAnd</span>
492 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Compare</span> <span class="o">--&gt;</span> <span class="n">BitOrXOR</span>
493 <span class="n">Rule</span> <span class="p">:</span> <span class="n">EqualOrNot</span> <span class="o">--&gt;</span> <span class="n">Compare</span>
494 <span class="n">Rule</span> <span class="p">:</span> <span class="n">LogicNot</span> <span class="o">-&gt;</span> <span class="n">EqualOrNot</span>
495 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Expr</span> <span class="o">--&gt;</span> <span class="n">LogicNot</span>
496 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Statement</span>  <span class="o">--&gt;</span> <span class="n">Expr</span>
497 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Factor</span> <span class="o">--&gt;</span> <span class="n">Identifier</span> <span class="o">[</span> <span class="p">{</span><span class="n">Mixer</span><span class="p">}</span> <span class="o">|</span> <span class="n">Assignment</span> <span class="o">|</span> <span class="n">PlusPlus</span> <span class="o">|</span> <span class="n">MinusMinus</span><span class="o">]</span>
498 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Range</span> <span class="o">--&gt;</span> <span class="n">Factor</span>
499 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Term</span> <span class="o">--&gt;</span> <span class="n">Range</span>
500 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Arithmetic</span> <span class="o">--&gt;</span> <span class="n">Term</span>
501 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitShift</span> <span class="o">--&gt;</span> <span class="n">Arithmetic</span>
502 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitAnd</span> <span class="o">--&gt;</span> <span class="n">BitShift</span>
503 <span class="n">Rule</span> <span class="p">:</span> <span class="n">BitOrXOR</span> <span class="o">--&gt;</span>  <span class="n">BitAnd</span>
504 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Compare</span> <span class="o">--&gt;</span> <span class="n">BitOrXOR</span>
505 <span class="n">Rule</span> <span class="p">:</span> <span class="n">EqualOrNot</span> <span class="o">--&gt;</span> <span class="n">Compare</span>
506 <span class="n">Rule</span> <span class="p">:</span> <span class="n">LogicNot</span> <span class="o">-&gt;</span> <span class="n">EqualOrNot</span>
507 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Expr</span> <span class="o">--&gt;</span> <span class="n">LogicNot</span>
508 <span class="n">Rule</span> <span class="p">:</span> <span class="n">Statement</span>  <span class="o">--&gt;</span> <span class="n">Expr</span>
509
510 <span class="o">===================================================</span>
511 </pre></div>
512 </div>
513 </div>
514 <div class="section" id="index-3">
515 <span id="id4"></span><h2>中間コードの表示<a class="headerlink" href="#index-3" title="このヘッドラインへのパーマリンク">¶</a></h2>
516 <p>コマンド:</p>
517 <div class="highlight-ring"><div class="highlight"><pre><span class="n">ring</span> <span class="n">test</span><span class="p">.</span><span class="n">ring</span> <span class="o">-</span><span class="n">ic</span> <span class="o">-</span><span class="n">norun</span>
518 </pre></div>
519 </div>
520 <p>実行結果:</p>
521 <div class="highlight-ring"><div class="highlight"><pre>===================================================
522 Byte Code - Before Execution by the VM
523 ===================================================
524
525          PC      OPCode        Data
526
527           1  ReturnNull
528           2        Func    main
529           3     NewLine       2
530           4     FuncExE
531           5       PushC   Hello World
532           6       LoadA      nl      0
533           7       PushV
534           8         SUM       0
535           9       Print
536          10     NewLine       3
537          11    ExitMark      29     28
538          12  LoadAFirst       x
539          13       PushN   1.000000
540          14  BeforeEqual       0
541          15  Assignment
542          16       PushN   1.000000
543          17  StepNumber
544          18  JumpVarLENum       x  10.000000    29
545          19     NewLine       4
546          20     FuncExE
547          21       LoadA       x      0
548          22       PushV
549          23       LoadA      nl      0
550          24       PushV
551          25         SUM       0
552          26       Print
553          27     NewLine       5
554          28     IncJump       x     18
555          29  POPExitMark
556          30     POPStep
557          31     NewLine       6
558          32    LoadFunc    test
559          33        Call       0
560          34  NoOperation
561          35     NewLine       8
562          36       PushV
563          37   FreeStack
564          38  ReturnNull
565          39        Func    test
566          40     NewLine       9
567          41     FuncExE
568          42       PushC   welcome
569          43       LoadA      nl      0
570          44       PushV
571          45         SUM       0
572          46       Print
573          47     NewLine      10
574          48       LoadA      o1      0
575          49  AssignmentPointer
576          50         New   point
577          51    SetScope
578          52       PushV
579          53  BraceStart
580          54       LoadA       x      0     58
581          55  AssignmentPointer
582          56       PushN   10.000000
583          57  BeforeEqual       0
584          58  Assignment       0      0
585          59   FreeStack
586          60       LoadA       y      0     64
587          61  AssignmentPointer
588          62       PushN   20.000000
589          63  BeforeEqual       0
590          64  Assignment       0      0
591          65   FreeStack
592          66       LoadA       z      0     70
593          67  AssignmentPointer
594          68       PushN   30.000000
595          69  BeforeEqual       0
596          70  Assignment       0      0
597          71   FreeStack
598          72    LoadFunc   ismethod
599          73       LoadA    self      0
600          74       PushV
601          75       PushC   braceend
602          76        Call
603          77  NoOperation
604          78       PushV
605          79       JumpZ      85
606          80    LoadFunc   braceend
607          81        Call
608          82  NoOperation
609          83       PushV
610          84   FreeStack
611          85    BraceEnd
612          86   FreeStack
613          87     NewLine      11
614          88     FuncExE
615          89       LoadA      o1      0
616          90       PushV
617          91       Print
618          92     NewLine      13
619          93  ReturnNull
620          94       Class   point  006E8BC0
621          95    NewLabel
622          96       LoadA       x      0
623          97       PushV
624          98   FreeStack
625          99       LoadA       y      0
626         100       PushV
627         101   FreeStack
628         102       LoadA       z      0
629         103       PushV
630         104   FreeStack
631         105  ReturnNull
632
633 ===================================================
634 </pre></div>
635 </div>
636 </div>
637 <div class="section" id="index-4">
638 <span id="id5"></span><h2>最終中間コードの表示<a class="headerlink" href="#index-4" title="このヘッドラインへのパーマリンク">¶</a></h2>
639 <p>コマンド:</p>
640 <div class="highlight-ring"><div class="highlight"><pre><span class="n">ring</span> <span class="n">test</span><span class="p">.</span><span class="n">ring</span> <span class="o">-</span><span class="n">icfinal</span>
641 </pre></div>
642 </div>
643 <p>実行結果:</p>
644 <div class="highlight-ring"><div class="highlight"><pre>Hello World
645 1
646 2
647 3
648 4
649 5
650 6
651 7
652 8
653 9
654 10
655 welcome
656 x: 10.000000
657 y: 20.000000
658 z: 30.000000
659
660
661 ===================================================
662 Byte Code - After Execution by the VM
663 ===================================================
664
665          PC      OPCode        Data
666
667           1  ReturnNull
668           2        Func    main
669           3     NewLine       2
670           4     FuncExE
671           5       PushC   Hello World
672           6       PushP   007D3670      0
673           7       PushV
674           8         SUM       0
675           9       Print
676          10     NewLine       3
677          11    ExitMark      29     28
678          12  LoadAFirst       x
679          13       PushN   1.000000
680          14  BeforeEqual       0
681          15  Assignment
682          16       PushN   1.000000
683          17  StepNumber
684          18  JumpVarLPLENum       x  10.000000    29
685          19     NewLine       4
686          20     FuncExE
687          21  PushPLocal       x      0
688          22       PushV
689          23       PushP   007D3670      0
690          24       PushV
691          25         SUM       0
692          26       Print
693          27     NewLine       5
694          28   IncLPJump       x     18
695          29  POPExitMark
696          30     POPStep
697          31     NewLine       6
698          32   LoadFuncP    test
699          33        Call       0
700          34  NoOperation
701          35     NewLine       8
702          36       PushV
703          37   FreeStack
704          38  ReturnNull
705          39        Func    test
706          40     NewLine       9
707          41     FuncExE
708          42       PushC   welcome
709          43       PushP   007D3670      0
710          44       PushV
711          45         SUM       0
712          46       Print
713          47     NewLine      10
714          48  PushPLocal      o1      0
715          49  AssignmentPointer
716          50         New   point
717          51    SetScope
718          52       PushV
719          53  BraceStart
720          54       LoadA       x      0     58
721          55  AssignmentPointer
722          56       PushN   10.000000
723          57  BeforeEqual       0
724          58  SetProperty       0    106
725          59   FreeStack
726          60       LoadA       y      0     64
727          61  AssignmentPointer
728          62       PushN   20.000000
729          63  BeforeEqual       0
730          64  SetProperty       0    141
731          65   FreeStack
732          66       LoadA       z      0     70
733          67  AssignmentPointer
734          68       PushN   30.000000
735          69  BeforeEqual       0
736          70  SetProperty       0    176
737          71   FreeStack
738          72    LoadFunc   ismethod
739          73       LoadA    self      0
740          74       PushV
741          75       PushC   braceend
742          76        Call
743          77  NoOperation
744          78       PushV
745          79       JumpZ      85
746          80    LoadFunc   braceend
747          81        Call
748          82  NoOperation
749          83       PushV
750          84   FreeStack
751          85    BraceEnd
752          86   FreeStack
753          87     NewLine      11
754          88     FuncExE
755          89  PushPLocal      o1      0
756          90       PushV
757          91       Print
758          92     NewLine      13
759          93  ReturnNull
760          94       Class   point  007D8470
761          95    NewLabel
762          96       LoadA       x      0
763          97       PushV
764          98   FreeStack
765          99       LoadA       y      0
766         100       PushV
767         101   FreeStack
768         102       LoadA       z      0
769         103       PushV
770         104   FreeStack
771         105  ReturnNull
772         106    LoadFunc   ismethod
773         107       LoadA   ring_gettemp_var      0
774         108       PushV
775         109       PushC    setx
776         110        Call       0
777         111  NoOperation
778         112       PushV
779         113       JumpZ     132
780         114     NewLine       2
781         115       LoadA   ring_gettemp_var      0
782         116  LoadMethod    setx
783         117       LoadA   ring_settemp_var      0
784         118       PushV
785         119        Call       0      1
786         120  AfterCallMethod
787         121       PushV
788         122   FreeStack
789         123     NewLine       3
790         124       LoadA   ring_tempflag_var      0    128
791         125  AssignmentPointer
792         126       PushN   0.000000
793         127  BeforeEqual       0
794         128  Assignment       0      0
795         129   FreeStack
796         130     NewLine       4
797         131        Jump     140
798         132     NewLine       5
799         133       PushP   007D37D8      0    137
800         134  AssignmentPointer
801         135       PushN   1.000000
802         136  BeforeEqual       0
803         137  Assignment       0      0
804         138   FreeStack
805         139     NewLine       6
806         140      Return
807         141    LoadFunc   ismethod
808         142       LoadA   ring_gettemp_var      0
809         143       PushV
810         144       PushC    sety
811         145        Call       0
812         146  NoOperation
813         147       PushV
814         148       JumpZ     167
815         149     NewLine       2
816         150       LoadA   ring_gettemp_var      0
817         151  LoadMethod    sety
818         152       LoadA   ring_settemp_var      0
819         153       PushV
820         154        Call       0      1
821         155  AfterCallMethod
822         156       PushV
823         157   FreeStack
824         158     NewLine       3
825         159       LoadA   ring_tempflag_var      0    163
826         160  AssignmentPointer
827         161       PushN   0.000000
828         162  BeforeEqual       0
829         163  Assignment       0      0
830         164   FreeStack
831         165     NewLine       4
832         166        Jump     175
833         167     NewLine       5
834         168       PushP   007D37D8      0    172
835         169  AssignmentPointer
836         170       PushN   1.000000
837         171  BeforeEqual       0
838         172  Assignment       0      0
839         173   FreeStack
840         174     NewLine       6
841         175      Return
842         176    LoadFunc   ismethod
843         177       LoadA   ring_gettemp_var      0
844         178       PushV
845         179       PushC    setz
846         180        Call       0
847         181  NoOperation
848         182       PushV
849         183       JumpZ     202
850         184     NewLine       2
851         185       LoadA   ring_gettemp_var      0
852         186  LoadMethod    setz
853         187       LoadA   ring_settemp_var      0
854         188       PushV
855         189        Call       0      1
856         190  AfterCallMethod
857         191       PushV
858         192   FreeStack
859         193     NewLine       3
860         194       LoadA   ring_tempflag_var      0    198
861         195  AssignmentPointer
862         196       PushN   0.000000
863         197  BeforeEqual       0
864         198  Assignment       0      0
865         199   FreeStack
866         200     NewLine       4
867         201        Jump     210
868         202     NewLine       5
869         203       PushP   007D37D8      0    207
870         204  AssignmentPointer
871         205       PushN   1.000000
872         206  BeforeEqual       0
873         207  Assignment       0      0
874         208   FreeStack
875         209     NewLine       6
876         210      Return
877
878 ===================================================
879 </pre></div>
880 </div>
881 </div>
882 <div class="section" id="cgi">
883 <span id="index-5"></span><h2>CGI への対応<a class="headerlink" href="#cgi" title="このヘッドラインへのパーマリンク">¶</a></h2>
884 <p>コマンド:</p>
885 <div class="highlight-ring"><div class="highlight"><pre><span class="n">ring</span> <span class="n">test</span><span class="p">.</span><span class="n">ring</span> <span class="o">-</span><span class="n">cgi</span>
886 </pre></div>
887 </div>
888 </div>
889 <div class="section" id="index-6">
890 <span id="id6"></span><h2>コンパイルの実行<a class="headerlink" href="#index-6" title="このヘッドラインへのパーマリンク">¶</a></h2>
891 <p>コマンド:</p>
892 <div class="highlight-ring"><div class="highlight"><pre><span class="n">ring</span> <span class="n">test</span><span class="p">.</span><span class="n">ring</span> <span class="o">-</span><span class="n">norun</span>
893 </pre></div>
894 </div>
895 </div>
896 <div class="section" id="index-7">
897 <span id="id7"></span><h2>命令演算コードの表示<a class="headerlink" href="#index-7" title="このヘッドラインへのパーマリンク">¶</a></h2>
898 <p>コマンド:</p>
899 <div class="highlight-ring"><div class="highlight"><pre><span class="n">ring</span> <span class="n">test</span><span class="p">.</span><span class="n">ring</span> <span class="o">-</span><span class="n">ins</span>
900 </pre></div>
901 </div>
902 <p>実行結果:</p>
903 <div class="highlight-ring"><div class="highlight"><pre><span class="o">===================================================</span>
904
905 <span class="n">Operation</span>  <span class="p">:</span> <span class="n">ReturnNull</span>
906 <span class="n">PC</span>         <span class="p">:</span> <span class="mi">1</span>
907 <span class="n">Line</span> <span class="n">Number</span>    <span class="p">:</span> <span class="mi">1</span>  <span class="p">,</span> <span class="n">File</span> <span class="n">test</span><span class="p">.</span><span class="n">ring</span>
908
909 <span class="n">SP</span> <span class="p">(</span><span class="n">After</span><span class="p">)</span> <span class="p">:</span> <span class="mi">0</span>  <span class="o">-</span> <span class="n">FuncSP</span> <span class="p">:</span> <span class="mi">0</span>
910  <span class="n">LineNumber</span> <span class="mi">1</span>
911 <span class="o">===================================================</span>
912 <span class="p">.....</span>
913 <span class="p">.....</span>
914 <span class="p">.....</span>
915 </pre></div>
916 </div>
917 <div class="admonition tip">
918 <p class="first admonition-title">ちなみに</p>
919 <p class="last">前述の用例は非常に大きいので実行結果を省略してあります!</p>
920 </div>
921 </div>
922 <div class="section" id="index-8">
923 <span id="id8"></span><h2>実行性能の計測<a class="headerlink" href="#index-8" title="このヘッドラインへのパーマリンク">¶</a></h2>
924 <p>コマンド:</p>
925 <div class="highlight-ring"><div class="highlight"><pre><span class="n">ring</span> <span class="n">test</span><span class="p">.</span><span class="n">ring</span> <span class="o">-</span><span class="n">performance</span>
926 </pre></div>
927 </div>
928 <p>実行結果:</p>
929 <div class="highlight-ring"><div class="highlight"><pre><span class="o">===================================================</span>
930 <span class="n">Date</span>  <span class="p">:</span> <span class="mi">2015</span><span class="o">/</span><span class="mi">09</span><span class="o">/</span><span class="mi">15</span> <span class="n">Time</span> <span class="p">:</span> <span class="mi">15</span><span class="p">:</span><span class="mi">56</span><span class="p">:</span><span class="mi">17</span>
931 <span class="n">Clock</span> <span class="p">:</span> <span class="mi">0</span>
932 <span class="o">===================================================</span>
933 <span class="n">Hello</span> <span class="n">World</span>
934 <span class="mi">1</span>
935 <span class="mi">2</span>
936 <span class="mi">3</span>
937 <span class="mi">4</span>
938 <span class="mi">5</span>
939 <span class="mi">6</span>
940 <span class="mi">7</span>
941 <span class="mi">8</span>
942 <span class="mi">9</span>
943 <span class="mi">10</span>
944 <span class="n">welcome</span>
945 <span class="n">x</span><span class="p">:</span> <span class="mf">10.000000</span>
946 <span class="n">y</span><span class="p">:</span> <span class="mf">20.000000</span>
947 <span class="n">z</span><span class="p">:</span> <span class="mf">30.000000</span>
948
949 <span class="o">===================================================</span>
950 <span class="n">Date</span>  <span class="p">:</span> <span class="mi">2015</span><span class="o">/</span><span class="mi">09</span><span class="o">/</span><span class="mi">15</span> <span class="n">Time</span> <span class="p">:</span> <span class="mi">15</span><span class="p">:</span><span class="mi">56</span><span class="p">:</span><span class="mi">17</span>
951 <span class="n">Clock</span> <span class="p">:</span> <span class="mi">0</span>
952 <span class="o">===================================================</span>
953 </pre></div>
954 </div>
955 </div>
956 <div class="section" id="index-9">
957 <span id="id9"></span><h2>オブジェクトファイルの生成<a class="headerlink" href="#index-9" title="このヘッドラインへのパーマリンク">¶</a></h2>
958 <p>-go オプションは、ソースコードファイル (*.ring) からオブジェクトファイル (*.ringo) を生成します。</p>
959 <div class="admonition tip">
960 <p class="first admonition-title">ちなみに</p>
961 <p class="last">アプリケーション (商用またはオープンソース) の Ring ソースファイル一式を非公開 (保管) または配布できます。
962 また、アプリケーションの配布または実行用のオブジェクトファイルも生成できます。</p>
963 </div>
964 <p>コマンド:</p>
965 <div class="highlight-ring"><div class="highlight"><pre><span class="n">ring</span> <span class="n">test</span><span class="p">.</span><span class="n">ring</span> <span class="o">-</span><span class="n">go</span>
966 </pre></div>
967 </div>
968 <p>コンパイル済みのオブジェクトファイルを実行するには、</p>
969 <div class="highlight-ring"><div class="highlight"><pre><span class="n">ring</span> <span class="n">test</span><span class="p">.</span><span class="n">ringo</span>
970 </pre></div>
971 </div>
972 </div>
973 <div class="section" id="index-10">
974 <span id="id10"></span><h2>組込型オブジェクトファイルの生成<a class="headerlink" href="#index-10" title="このヘッドラインへのパーマリンク">¶</a></h2>
975 <p>-geo オプションはソースコードファイル (*.ring) から組込型オブジェクトファイル (C ソースコード) を生成します。</p>
976 <p>コマンド:</p>
977 <div class="highlight-ring"><div class="highlight"><pre><span class="n">ring</span> <span class="n">test</span><span class="p">.</span><span class="n">ring</span> <span class="o">-</span><span class="n">geo</span>
978 </pre></div>
979 </div>
980 <p>このコマンドは最低でも 3 ファイルを生成します。</p>
981 <div class="highlight-ring"><div class="highlight"><pre><span class="n">test</span><span class="p">.</span><span class="n">c</span>
982 <span class="n">ringappcode</span><span class="p">.</span><span class="n">c</span>
983 <span class="n">ringappcode</span><span class="p">.</span><span class="n">h</span>
984 </pre></div>
985 </div>
986 <p>プロジェクトの規模により、それ以上のファイルを生成します。</p>
987 <p>生成後のファイルは Ring VM のバイトコードとして実行されます。</p>
988 </div>
989 </div>
990
991
992           </div>
993         </div>
994       </div>
995       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
996         <div class="sphinxsidebarwrapper"><h3>ページの内容</h3>
997 <ul>
998 <li><a class="reference internal" href="#">コマンドラインオプション</a><ul>
999 <li><a class="reference internal" href="#index-1">トークンの表示</a></li>
1000 <li><a class="reference internal" href="#index-2">文法規則の表示</a></li>
1001 <li><a class="reference internal" href="#index-3">中間コードの表示</a></li>
1002 <li><a class="reference internal" href="#index-4">最終中間コードの表示</a></li>
1003 <li><a class="reference internal" href="#cgi">CGI への対応</a></li>
1004 <li><a class="reference internal" href="#index-6">コンパイルの実行</a></li>
1005 <li><a class="reference internal" href="#index-7">命令演算コードの表示</a></li>
1006 <li><a class="reference internal" href="#index-8">実行性能の計測</a></li>
1007 <li><a class="reference internal" href="#index-9">オブジェクトファイルの生成</a></li>
1008 <li><a class="reference internal" href="#index-10">組込型オブジェクトファイルの生成</a></li>
1009 </ul>
1010 </li>
1011 </ul>
1012
1013
1014   <h4>前のトピックへ</h4>
1015   <p class="topless"><a href="typehints.html"
1016                         title="前の章へ">型ヒントライブラリについて</a></p>
1017   <h4>次のトピックへ</h4>
1018   <p class="topless"><a href="performancetips.html"
1019                         title="次の章へ">性能改善に関する情報</a></p>
1020   <div role="note" aria-label="source link">
1021     <h3>このページ</h3>
1022     <ul class="this-page-menu">
1023       <li><a href="_sources/compiler.txt"
1024             rel="nofollow">ソースコードを表示</a></li>
1025     </ul>
1026    </div>
1027       
1028 <form action="search.html" method="get">
1029   <input type="text" name="q" placeholder="Search" />
1030   <input type="hidden" name="check_keywords" value="yes" />
1031   <input type="hidden" name="area" value="default" />
1032 </form>
1033       
1034         </div>
1035       </div>
1036       <div class="clearer"></div>
1037     </div>
1038 <footer class="footer">
1039   <p class="pull-right">
1040     <a href="_sources/compiler.txt"
1041        rel="nofollow">Page Source</a> &nbsp;
1042     <a href="#">Back to Top</a></p>
1043   <p>
1044     &copy; Copyright 2016-2020, Ring Team.<br/>
1045     Created using <a href="http://www.sphinx-doc.org/en/stable/">Sphinx</a> 1.3.6. / astropy-sphinx-theme 1.1 (isVowel)
1046   </p>
1047 </footer>
1048   </body>
1049 </html>