SHA1 Hash: | c0158c9281093301acd135f0332f6da1e8f05722 |
---|---|
Date: | 2010-11-24 20:34:03 |
User: | kinaba |
Comment: | document updated |
Timelines: | family | ancestors | descendants | both | trunk |
Downloads: | Tarball | ZIP archive |
Other Links: | files | file ages | manifest |
- branch=trunk inherited from [f65680e1d2]
- sym-trunk inherited from [f65680e1d2]
Modified doc/_common.html from [ef6db0f6f8782d46] to [f3e3c7b7f7a68def].
22 22 23 23 The list of modules globaly used inside Polemy.<br><br> 24 24 25 25 </td></tr> 26 26 <tr><td id="docfooter"> 27 27 Page was generated with 28 28 <img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px"> 29 - on Wed Nov 24 19:09:32 2010 29 + on Wed Nov 24 20:33:10 2010 30 30 31 31 </td></tr> 32 32 </table> 33 33 </div> 34 34 <script> 35 35 explorer.packageExplorer.addModule("index"); 36 36 explorer.packageExplorer.addModule("main");
Modified doc/ast.html from [4f37b512b58aa99b] to [e60729d606cec00d].
563 563 <script>explorer.outline.decSymbolLevel();</script> 564 564 565 565 566 566 </td></tr> 567 567 <tr><td id="docfooter"> 568 568 Page was generated with 569 569 <img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px"> 570 - on Wed Nov 24 19:09:32 2010 570 + on Wed Nov 24 20:33:10 2010 571 571 572 572 </td></tr> 573 573 </table> 574 574 </div> 575 575 <script> 576 576 explorer.packageExplorer.addModule("index"); 577 577 explorer.packageExplorer.addModule("main");
Modified doc/eval.html from [6f684a1106faa774] to [b923ea618ae1d22f].
128 128 <script>explorer.outline.decSymbolLevel();</script> 129 129 130 130 131 131 </td></tr> 132 132 <tr><td id="docfooter"> 133 133 Page was generated with 134 134 <img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px"> 135 - on Wed Nov 24 19:09:32 2010 135 + on Wed Nov 24 20:33:10 2010 136 136 137 137 </td></tr> 138 138 </table> 139 139 </div> 140 140 <script> 141 141 explorer.packageExplorer.addModule("index"); 142 142 explorer.packageExplorer.addModule("main");
Modified doc/failure.html from [b03822e245636a24] to [80c8731cdbc62770].
178 178 <script>explorer.outline.decSymbolLevel();</script> 179 179 180 180 181 181 </td></tr> 182 182 <tr><td id="docfooter"> 183 183 Page was generated with 184 184 <img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px"> 185 - on Wed Nov 24 19:09:32 2010 185 + on Wed Nov 24 20:33:10 2010 186 186 187 187 </td></tr> 188 188 </table> 189 189 </div> 190 190 <script> 191 191 explorer.packageExplorer.addModule("index"); 192 192 explorer.packageExplorer.addModule("main");
Modified doc/fresh.html from [f07559eb4d6cfc68] to [23033a1fbfc08c9c].
46 46 <script>explorer.outline.decSymbolLevel();</script> 47 47 48 48 49 49 </td></tr> 50 50 <tr><td id="docfooter"> 51 51 Page was generated with 52 52 <img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px"> 53 - on Wed Nov 24 19:09:32 2010 53 + on Wed Nov 24 20:33:10 2010 54 54 55 55 </td></tr> 56 56 </table> 57 57 </div> 58 58 <script> 59 59 explorer.packageExplorer.addModule("index"); 60 60 explorer.packageExplorer.addModule("main");
Modified doc/index.html from [bd75516fd263e529] to [49fcca2a72fbb7a0].
284 284 以下のデータ型があります。 285 285 </p> 286 286 <ul> 287 287 <li>整数: <tt>0</tt>, <tt>123</tt>, <tt>456666666666666666666666666666666666666789</tt>, ...</li> 288 288 <li>文字列: <tt>"hello, world!"</tt>, ...</li> 289 289 <li>関数: <tt>fun(x){x+1}</tt></li> 290 290 <li>テーブル: <tt>{car: 1, cdr: {car: 2, cdr: {}}}</tt></li> 291 - <li>未定義値: (テーブルの、存在しないフィールドにアクセスしたりすると作れます)</li> 291 + <li>未定義値: (undefined。特殊なケースで作られます)</li> 292 292 </ul> 293 293 <p> 294 294 関数はいわゆる「クロージャ」です。静的スコープで外側の環境にアクセスできます。 295 295 テーブルはいわゆるプロトタイプチェーンを持っていて、 296 296 自分にないフィールドの場合は親に問い合わせが行く感じになっていますが、 297 297 フィールドの書き換えがないので、これは特に意味ないかもしれない…。 298 298 </p> 299 +<p> 300 +また、リストを扱うために、いわゆる「cons リスト」を使います。 301 +空リストを <tt>{}</tt>、1個以上要素があるものを <tt>{car: 先頭要素, cdr: 二番目以降のリスト}</tt> 302 +という形で。この形でリストを扱わなければならないという決まりはありませんが、 303 +この形は特別扱いされて <tt>print</tt> で綺麗に出力されたりします。 304 +</p> 299 305 </dd> 300 306 301 307 <script>explorer.outline.writeEnabled = true;</script> 302 308 <dt><span class="decl"> 303 309 <span class="currsymbol">パターンマッチ</span> 304 310 <script>explorer.outline.addDecl('パターンマッチ');</script> 305 311 ................................................................................ 608 614 ) 609 615 }; 610 616 611 617 Here, x is a syntax tree but n is an actual integer. If you read carefully, 612 618 you should get what is going on. Basically, @macro can be considered like 613 619 quasiquoting and @value to be an escape from it. 614 620 </pre> 621 +<p> 622 +構文木がどのようなテーブルで渡されてくるかについては、ソースドキュメントの 623 +<a href="http://www.kmonos.net/repos/polemy/doc/tip/doc/ast.html">polemy.ast</a> 624 +のページをご覧下さい。例えば変数名を表す <code>Var</code> クラスには、 625 +継承の分も合わせて 626 +<tt><a href="http://www.kmonos.net/repos/polemy/doc/tip/doc/failure.html">LexPosition</a> pos;</tt> 627 +と <tt>string name;</tt> の2つのメンバがあるので 628 +</p> 629 +<pre> 630 + { is: "Var", 631 + pos: {filename:"foo.pmy", lineno:123, column:45}, 632 + name: "x" } 633 +</pre> 634 +<p> 635 +こんな感じのテーブルになります。 636 +クラス名が <tt>is</tt> フィールドに、メンバ変数はそのままの名前で入ります。 637 +配列メンバは cons リストになって入ってきます。 638 +</p> 615 639 </dd> 616 640 617 641 <script>explorer.outline.writeEnabled = true;</script> 618 642 <dt><span class="decl"> 619 643 <span class="currsymbol">微妙な挙動</span> 620 644 <script>explorer.outline.addDecl('微妙な挙動');</script> 621 645 ................................................................................ 776 800 <script>explorer.outline.decSymbolLevel();</script> 777 801 778 802 779 803 </td></tr> 780 804 <tr><td id="docfooter"> 781 805 Page was generated with 782 806 <img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px"> 783 - on Wed Nov 24 19:09:31 2010 807 + on Wed Nov 24 20:33:08 2010 784 808 785 809 </td></tr> 786 810 </table> 787 811 </div> 788 812 <script> 789 813 explorer.packageExplorer.addModule("index"); 790 814 explorer.packageExplorer.addModule("main");
Modified doc/layer.html from [6466200d7c375c71] to [63d3b80a5cea1d9b].
88 88 89 89 90 90 <dd>Predefined layer for macro run (@lay() becomes AST)<br><br> 91 91 92 92 </dd> 93 93 94 94 <script>explorer.outline.writeEnabled = true;</script> 95 -<dt><span class="decl"> 96 -<span class="currsymbol">AstLayer</span> 97 -<script>explorer.outline.addDecl('AstLayer');</script> 95 +<dt><span class="decl">bool 96 +<span class="currsymbol">isUserDefinedLayer</span> 97 +<script>explorer.outline.addDecl('isUserDefinedLayer');</script> 98 98 99 +(Layer <span class="funcparam">lay</span>); 99 100 </span></dt> 100 101 <script>explorer.outline.writeEnabled = false;</script> 101 102 102 103 103 -<dd>Predefined layer for macro run (never invoke macro)<br><br> 104 +<dd>True if it is a user-defined layer<br><br> 104 105 105 106 </dd> 106 107 107 108 <script>explorer.outline.writeEnabled = true;</script> 108 109 <dt><span class="decl">bool 109 110 <span class="currsymbol">isASTLayer</span> 110 111 <script>explorer.outline.addDecl('isASTLayer');</script> ................................................................................ 149 150 <script>explorer.outline.decSymbolLevel();</script> 150 151 151 152 152 153 </td></tr> 153 154 <tr><td id="docfooter"> 154 155 Page was generated with 155 156 <img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px"> 156 - on Wed Nov 24 19:09:32 2010 157 + on Wed Nov 24 20:33:10 2010 157 158 158 159 </td></tr> 159 160 </table> 160 161 </div> 161 162 <script> 162 163 explorer.packageExplorer.addModule("index"); 163 164 explorer.packageExplorer.addModule("main");
Modified doc/lex.html from [d95037ff9be23025] to [e1ae052f9e9d69b0].
307 307 <script>explorer.outline.decSymbolLevel();</script> 308 308 309 309 310 310 </td></tr> 311 311 <tr><td id="docfooter"> 312 312 Page was generated with 313 313 <img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px"> 314 - on Wed Nov 24 19:09:32 2010 314 + on Wed Nov 24 20:33:10 2010 315 315 316 316 </td></tr> 317 317 </table> 318 318 </div> 319 319 <script> 320 320 explorer.packageExplorer.addModule("index"); 321 321 explorer.packageExplorer.addModule("main");
Modified doc/main.html from [d4c8f156867b63c7] to [736095fc16c333ba].
62 62 <script>explorer.outline.decSymbolLevel();</script> 63 63 64 64 65 65 </td></tr> 66 66 <tr><td id="docfooter"> 67 67 Page was generated with 68 68 <img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px"> 69 - on Wed Nov 24 19:09:32 2010 69 + on Wed Nov 24 20:33:10 2010 70 70 71 71 </td></tr> 72 72 </table> 73 73 </div> 74 74 <script> 75 75 explorer.packageExplorer.addModule("index"); 76 76 explorer.packageExplorer.addModule("main");
Modified doc/parse.html from [6f4d8d046b442e49] to [84e792c2da714358].
56 56 <script>explorer.outline.decSymbolLevel();</script> 57 57 58 58 59 59 </td></tr> 60 60 <tr><td id="docfooter"> 61 61 Page was generated with 62 62 <img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px"> 63 - on Wed Nov 24 19:09:32 2010 63 + on Wed Nov 24 20:33:10 2010 64 64 65 65 </td></tr> 66 66 </table> 67 67 </div> 68 68 <script> 69 69 explorer.packageExplorer.addModule("index"); 70 70 explorer.packageExplorer.addModule("main");
Modified doc/repl.html from [a4f8734ecfa16cea] to [4efdaf2835d713ce].
156 156 <script>explorer.outline.decSymbolLevel();</script> 157 157 158 158 159 159 </td></tr> 160 160 <tr><td id="docfooter"> 161 161 Page was generated with 162 162 <img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px"> 163 - on Wed Nov 24 19:09:32 2010 163 + on Wed Nov 24 20:33:10 2010 164 164 165 165 </td></tr> 166 166 </table> 167 167 </div> 168 168 <script> 169 169 explorer.packageExplorer.addModule("index"); 170 170 explorer.packageExplorer.addModule("main");
Modified doc/runtime.html from [c37f8cec8f6ca249] to [efdc8bef87ec66a6].
42 42 <script>explorer.outline.decSymbolLevel();</script> 43 43 44 44 45 45 </td></tr> 46 46 <tr><td id="docfooter"> 47 47 Page was generated with 48 48 <img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px"> 49 - on Wed Nov 24 19:09:32 2010 49 + on Wed Nov 24 20:33:10 2010 50 50 51 51 </td></tr> 52 52 </table> 53 53 </div> 54 54 <script> 55 55 explorer.packageExplorer.addModule("index"); 56 56 explorer.packageExplorer.addModule("main");
Modified doc/test.html from [adfbdf0e13d183a2] to [27184f7aacc74186].
143 143 <script>explorer.outline.decSymbolLevel();</script> 144 144 145 145 146 146 </td></tr> 147 147 <tr><td id="docfooter"> 148 148 Page was generated with 149 149 <img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px"> 150 - on Wed Nov 24 19:09:32 2010 150 + on Wed Nov 24 20:33:10 2010 151 151 152 152 </td></tr> 153 153 </table> 154 154 </div> 155 155 <script> 156 156 explorer.packageExplorer.addModule("index"); 157 157 explorer.packageExplorer.addModule("main");
Modified doc/tricks.html from [5661c0b00c83f9dd] to [5816ccc4efa21149].
232 232 <script>explorer.outline.decSymbolLevel();</script> 233 233 234 234 235 235 </td></tr> 236 236 <tr><td id="docfooter"> 237 237 Page was generated with 238 238 <img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px"> 239 - on Wed Nov 24 19:09:32 2010 239 + on Wed Nov 24 20:33:10 2010 240 240 241 241 </td></tr> 242 242 </table> 243 243 </div> 244 244 <script> 245 245 explorer.packageExplorer.addModule("index"); 246 246 explorer.packageExplorer.addModule("main");
Modified doc/value.html from [925e1ae13e3ace40] to [9601d3816a1aa4af].
162 162 <script>explorer.outline.decSymbolLevel();</script> 163 163 164 164 165 165 </td></tr> 166 166 <tr><td id="docfooter"> 167 167 Page was generated with 168 168 <img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px"> 169 - on Wed Nov 24 19:09:32 2010 169 + on Wed Nov 24 20:33:10 2010 170 170 171 171 </td></tr> 172 172 </table> 173 173 </div> 174 174 <script> 175 175 explorer.packageExplorer.addModule("index"); 176 176 explorer.packageExplorer.addModule("main");
Modified doc/valueconv.html from [2aa3eeff1e9266f3] to [a3104ec3e37a093d].
84 84 <script>explorer.outline.decSymbolLevel();</script> 85 85 86 86 87 87 </td></tr> 88 88 <tr><td id="docfooter"> 89 89 Page was generated with 90 90 <img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px"> 91 - on Wed Nov 24 19:09:32 2010 91 + on Wed Nov 24 20:33:10 2010 92 92 93 93 </td></tr> 94 94 </table> 95 95 </div> 96 96 <script> 97 97 explorer.packageExplorer.addModule("index"); 98 98 explorer.packageExplorer.addModule("main");
Modified index.dd from [07bae30af3901ecf] to [b4c241e12eddc95c].
199 199 以下のデータ型があります。 200 200 </p> 201 201 <ul> 202 202 <li>整数: <tt>0</tt>, <tt>123</tt>, <tt>456666666666666666666666666666666666666789</tt>, ...</li> 203 203 <li>文字列: <tt>"hello, world!"</tt>, ...</li> 204 204 <li>関数: <tt>fun(x){x+1}</tt></li> 205 205 <li>テーブル: <tt>{car: 1, cdr: {car: 2, cdr: {}}}</tt></li> 206 - <li>未定義値: (テーブルの、存在しないフィールドにアクセスしたりすると作れます)</li> 206 + <li>未定義値: (undefined。特殊なケースで作られます)</li> 207 207 </ul> 208 208 <p> 209 209 関数はいわゆる「クロージャ」です。静的スコープで外側の環境にアクセスできます。 210 210 テーブルはいわゆるプロトタイプチェーンを持っていて、 211 211 自分にないフィールドの場合は親に問い合わせが行く感じになっていますが、 212 212 フィールドの書き換えがないので、これは特に意味ないかもしれない…。 213 213 </p> 214 +<p> 215 +また、リストを扱うために、いわゆる「cons リスト」を使います。 216 +空リストを <tt>{}</tt>、1個以上要素があるものを <tt>{car: 先頭要素, cdr: 二番目以降のリスト}</tt> 217 +という形で。この形でリストを扱わなければならないという決まりはありませんが、 218 +この形は特別扱いされて <tt>print</tt> で綺麗に出力されたりします。 219 +</p> 214 220 )) 215 221 $(SECTION パターンマッチ, $(SECBODY 216 222 <p> 217 223 適当に実装されたパターンマッチがあります。 218 224 リストの 2n 番目と 2n+1 番目を足して長さを半分にする関数: 219 225 </p> 220 226 <pre> ................................................................................ 487 493 ) 488 494 }; 489 495 490 496 Here, x is a syntax tree but n is an actual integer. If you read carefully, 491 497 you should get what is going on. Basically, @macro can be considered like 492 498 quasiquoting and @value to be an escape from it. 493 499 </pre> 500 +<p> 501 +構文木がどのようなテーブルで渡されてくるかについては、ソースドキュメントの 502 +<a href="http://www.kmonos.net/repos/polemy/doc/tip/doc/ast.html">polemy.ast</a> 503 +のページをご覧下さい。例えば変数名を表す <code>Var</code> クラスには、 504 +継承の分も合わせて 505 +<tt><a href="http://www.kmonos.net/repos/polemy/doc/tip/doc/failure.html">LexPosition</a> pos;</tt> 506 +と <tt>string name;</tt> の2つのメンバがあるので 507 +</p> 508 +<pre> 509 + { is: "Var", 510 + pos: {filename:"foo.pmy", lineno:123, column:45}, 511 + name: "x" } 512 +</pre> 513 +<p> 514 +こんな感じのテーブルになります。 515 +クラス名が <tt>is</tt> フィールドに、メンバ変数はそのままの名前で入ります。 516 +配列メンバは cons リストになって入ってきます。 517 +</p> 494 518 )) 495 519 $(SECTION 微妙な挙動, $(SECBODY 496 520 <pre> 497 521 (rawmacro) レイヤの話 498 522 499 523 [[limitations]] 500 524