kwartz 3.1.2 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. data/CHANGES +444 -0
  2. data/README.txt +4 -1
  3. data/bin/kwartz +2 -2
  4. data/doc-api/classes/Kwartz.html +16 -7
  5. data/doc-api/classes/Kwartz/Assertion.html +6 -6
  6. data/doc-api/classes/Kwartz/AssertionError.html +6 -6
  7. data/doc-api/classes/Kwartz/AttrInfo.html +71 -61
  8. data/doc-api/classes/Kwartz/BaseError.html +12 -12
  9. data/doc-api/classes/Kwartz/BaseTranslator.html +104 -74
  10. data/doc-api/classes/Kwartz/CharacterType.html +24 -24
  11. data/doc-api/classes/Kwartz/CommandOptionError.html +7 -7
  12. data/doc-api/classes/Kwartz/CommandOptions.html +50 -50
  13. data/doc-api/classes/Kwartz/Config.html +5 -0
  14. data/doc-api/classes/Kwartz/ConvertError.html +12 -12
  15. data/doc-api/classes/Kwartz/Converter.html +31 -33
  16. data/doc-api/classes/Kwartz/CssStyleParser.html +207 -168
  17. data/doc-api/classes/Kwartz/Defun.html +32 -31
  18. data/doc-api/classes/Kwartz/{HandlerArgument.html → Directive.html} +27 -53
  19. data/doc-api/classes/Kwartz/ElementInfo.html +68 -53
  20. data/doc-api/classes/Kwartz/EperlExpressionParser.html +185 -0
  21. data/doc-api/classes/Kwartz/EperlHandler.html +65 -58
  22. data/doc-api/classes/Kwartz/EperlTranslator.html +14 -7
  23. data/doc-api/classes/Kwartz/ErubisTranslator.html +14 -7
  24. data/doc-api/classes/Kwartz/ErubyTranslator.html +14 -7
  25. data/doc-api/classes/Kwartz/ExpandStatement.html +20 -20
  26. data/doc-api/classes/Kwartz/Expander.html +358 -0
  27. data/doc-api/classes/Kwartz/Handler.html +287 -157
  28. data/doc-api/classes/Kwartz/{StatementHelper.html → HandlerHelper.html} +307 -112
  29. data/doc-api/classes/Kwartz/Helper/ActionViewHelper.html +23 -23
  30. data/doc-api/classes/Kwartz/Helper/RailsTemplate.html +96 -96
  31. data/doc-api/classes/Kwartz/JstlExpressionParser.html +181 -0
  32. data/doc-api/classes/Kwartz/JstlHandler.html +134 -126
  33. data/doc-api/classes/Kwartz/JstlTranslator.html +21 -14
  34. data/doc-api/classes/Kwartz/KwartzError.html +6 -6
  35. data/doc-api/classes/Kwartz/Main.html +4 -4
  36. data/doc-api/classes/Kwartz/NativeExpression.html +19 -19
  37. data/doc-api/classes/Kwartz/NativeStatement.html +24 -24
  38. data/doc-api/classes/Kwartz/Node.html +7 -7
  39. data/doc-api/classes/Kwartz/PIErubisTranslator.html +21 -14
  40. data/doc-api/classes/Kwartz/ParseError.html +6 -6
  41. data/doc-api/classes/Kwartz/PerlExpressionParser.html +185 -0
  42. data/doc-api/classes/Kwartz/PerlHandler.html +353 -0
  43. data/doc-api/classes/Kwartz/PerlTranslator.html +226 -0
  44. data/doc-api/classes/Kwartz/PhpExpressionParser.html +185 -0
  45. data/doc-api/classes/Kwartz/PhpHandler.html +63 -56
  46. data/doc-api/classes/Kwartz/PhpTranslator.html +21 -14
  47. data/doc-api/classes/Kwartz/PresentationLogicParser.html +126 -123
  48. data/doc-api/classes/Kwartz/PrintStatement.html +18 -18
  49. data/doc-api/classes/Kwartz/RailsHandler.html +84 -85
  50. data/doc-api/classes/Kwartz/RailsTranslator.html +13 -6
  51. data/doc-api/classes/Kwartz/RubyExpressionParser.html +180 -0
  52. data/doc-api/classes/Kwartz/RubyHandler.html +73 -69
  53. data/doc-api/classes/Kwartz/RubyStyleParser.html +86 -86
  54. data/doc-api/classes/Kwartz/RubyTranslator.html +28 -21
  55. data/doc-api/classes/Kwartz/Ruleset.html +622 -1
  56. data/doc-api/classes/Kwartz/StrutsTranslator.html +14 -14
  57. data/doc-api/classes/Kwartz/TagInfo.html +52 -27
  58. data/doc-api/classes/Kwartz/TextConverter.html +75 -37
  59. data/doc-api/classes/Kwartz/Translator.html +54 -53
  60. data/doc-api/classes/Kwartz/Util.html +25 -25
  61. data/doc-api/created.rid +1 -1
  62. data/doc-api/files/__/README_txt.html +7 -2
  63. data/doc-api/files/kwartz/assert_rb.html +2 -2
  64. data/doc-api/files/kwartz/binding/eperl_rb.html +2 -2
  65. data/doc-api/files/kwartz/binding/erubis_rb.html +2 -2
  66. data/doc-api/files/kwartz/binding/eruby_rb.html +2 -2
  67. data/doc-api/files/kwartz/binding/jstl_rb.html +2 -2
  68. data/doc-api/files/kwartz/binding/perl_rb.html +115 -0
  69. data/doc-api/files/kwartz/binding/php_rb.html +2 -2
  70. data/doc-api/files/kwartz/binding/pierubis_rb.html +2 -2
  71. data/doc-api/files/kwartz/binding/rails_rb.html +2 -2
  72. data/doc-api/files/kwartz/binding/ruby_rb.html +2 -2
  73. data/doc-api/files/kwartz/binding/struts_rb.html +2 -2
  74. data/doc-api/files/kwartz/config_rb.html +2 -2
  75. data/doc-api/files/kwartz/converter_rb.html +2 -2
  76. data/doc-api/files/kwartz/defun_rb.html +2 -2
  77. data/doc-api/files/kwartz/error_rb.html +2 -2
  78. data/doc-api/files/kwartz/helper/rails_rb.html +2 -2
  79. data/doc-api/files/kwartz/main_rb.html +3 -2
  80. data/doc-api/files/kwartz/node_rb.html +2 -2
  81. data/doc-api/files/kwartz/parser_rb.html +2 -2
  82. data/doc-api/files/kwartz/translator_rb.html +2 -2
  83. data/doc-api/files/kwartz/util/assert-text-equal_rb.html +2 -2
  84. data/doc-api/files/kwartz/util/testcase-helper_rb.html +2 -2
  85. data/doc-api/files/kwartz/util_rb.html +2 -2
  86. data/doc-api/files/kwartz_rb.html +2 -2
  87. data/doc-api/fr_class_index.html +10 -5
  88. data/doc-api/fr_file_index.html +1 -0
  89. data/doc-api/fr_method_index.html +268 -239
  90. data/doc/docstyle.css +9 -3
  91. data/doc/img/fig05.png +0 -0
  92. data/doc/introduction-to-kwartz.html +3040 -0
  93. data/doc/pattern-catalog.html +5 -3
  94. data/doc/reference.html +680 -26
  95. data/doc/users-guide.html +222 -67
  96. data/kwartz.gemspec +4 -4
  97. data/lib/kwartz.rb +3 -3
  98. data/lib/kwartz/assert.rb +2 -2
  99. data/lib/kwartz/binding/eperl.rb +71 -31
  100. data/lib/kwartz/binding/erubis.rb +3 -2
  101. data/lib/kwartz/binding/eruby.rb +3 -2
  102. data/lib/kwartz/binding/jstl.rb +66 -29
  103. data/lib/kwartz/binding/perl.rb +230 -0
  104. data/lib/kwartz/binding/php.rb +69 -29
  105. data/lib/kwartz/binding/pierubis.rb +3 -2
  106. data/lib/kwartz/binding/rails.rb +18 -18
  107. data/lib/kwartz/binding/ruby.rb +74 -42
  108. data/lib/kwartz/binding/struts.rb +22 -21
  109. data/lib/kwartz/config.rb +4 -4
  110. data/lib/kwartz/converter.rb +465 -345
  111. data/lib/kwartz/defun.rb +2 -2
  112. data/lib/kwartz/error.rb +2 -2
  113. data/lib/kwartz/helper/rails.rb +2 -2
  114. data/lib/kwartz/main.rb +5 -4
  115. data/lib/kwartz/node.rb +92 -144
  116. data/lib/kwartz/parser.rb +112 -103
  117. data/lib/kwartz/translator.rb +14 -6
  118. data/lib/kwartz/util.rb +2 -2
  119. data/lib/kwartz/util/assert-text-equal.rb +2 -2
  120. data/lib/kwartz/util/testcase-helper.rb +1 -1
  121. data/test/test-compile.rb +2 -2
  122. data/test/test-compile.yaml +81 -0
  123. data/test/test-converter.rb +4 -8
  124. data/test/test-converter.yaml +152 -3
  125. data/test/test-directives.rb +2 -2
  126. data/test/test-directives.yaml +222 -0
  127. data/test/test-main.rb +6 -4
  128. data/test/test-main.yaml +66 -1
  129. data/test/test-parser.rb +12 -3
  130. data/test/test-parser.yaml +64 -51
  131. data/test/test-rails.rb +2 -2
  132. data/test/test-ruleset.rb +2 -2
  133. data/test/test-ruleset.yaml +465 -4
  134. data/test/test.log +6 -0
  135. data/test/test.rb +2 -2
  136. metadata +116 -106
  137. data/ChangeLog +0 -156
  138. data/doc-api/classes/Kwartz/DocumentRuleset.html +0 -369
  139. data/doc-api/classes/Kwartz/ElementExpander.html +0 -325
  140. data/doc-api/classes/Kwartz/ElementRuleset.html +0 -612
@@ -112,18 +112,18 @@ presentation logic example (ruby style):
112
112
  <h3 class="section-bar">Methods</h3>
113
113
 
114
114
  <div class="name-list">
115
- <a href="#M000148">_parse_block</a>&nbsp;&nbsp;
116
- <a href="#M000147">_parse_item</a>&nbsp;&nbsp;
117
- <a href="#M000144">_parse_list</a>&nbsp;&nbsp;
118
- <a href="#M000146">_parse_str</a>&nbsp;&nbsp;
119
- <a href="#M000145">_parse_strs</a>&nbsp;&nbsp;
120
- <a href="#M000149">_parse_tuples</a>&nbsp;&nbsp;
121
- <a href="#M000143">has_space?</a>&nbsp;&nbsp;
122
- <a href="#M000141">keywords</a>&nbsp;&nbsp;
123
- <a href="#M000139">parse</a>&nbsp;&nbsp;
124
- <a href="#M000142">parse_document_ruleset</a>&nbsp;&nbsp;
125
- <a href="#M000150">parse_element_ruleset</a>&nbsp;&nbsp;
126
- <a href="#M000140">scan_hook</a>&nbsp;&nbsp;
115
+ <a href="#M000146">_parse_block</a>&nbsp;&nbsp;
116
+ <a href="#M000145">_parse_item</a>&nbsp;&nbsp;
117
+ <a href="#M000142">_parse_list</a>&nbsp;&nbsp;
118
+ <a href="#M000144">_parse_str</a>&nbsp;&nbsp;
119
+ <a href="#M000143">_parse_strs</a>&nbsp;&nbsp;
120
+ <a href="#M000147">_parse_tuples</a>&nbsp;&nbsp;
121
+ <a href="#M000141">has_space?</a>&nbsp;&nbsp;
122
+ <a href="#M000139">keywords</a>&nbsp;&nbsp;
123
+ <a href="#M000137">parse</a>&nbsp;&nbsp;
124
+ <a href="#M000140">parse_document_ruleset</a>&nbsp;&nbsp;
125
+ <a href="#M000148">parse_element_ruleset</a>&nbsp;&nbsp;
126
+ <a href="#M000138">scan_hook</a>&nbsp;&nbsp;
127
127
  </div>
128
128
  </div>
129
129
 
@@ -143,7 +143,7 @@ presentation logic example (ruby style):
143
143
  <tr class="top-aligned-row context-row">
144
144
  <td class="context-item-name">RUBYSTYLE_KEYWORDS</td>
145
145
  <td>=</td>
146
- <td class="context-item-value">{ 'BEGIN' =&gt; :BEGIN, 'END' =&gt; :END }</td>
146
+ <td class="context-item-value">{ 'BEGIN'=&gt;:BEGIN, 'END'=&gt;:END, 'element'=&gt;:element, 'document'=&gt;:document }</td>
147
147
  </tr>
148
148
  </table>
149
149
  </div>
@@ -158,21 +158,21 @@ presentation logic example (ruby style):
158
158
  <div id="methods">
159
159
  <h3 class="section-bar">Public Instance methods</h3>
160
160
 
161
- <div id="method-M000139" class="method-detail">
162
- <a name="M000139"></a>
161
+ <div id="method-M000137" class="method-detail">
162
+ <a name="M000137"></a>
163
163
 
164
164
  <div class="method-heading">
165
- <a href="#M000139" class="method-signature">
165
+ <a href="#M000137" class="method-signature">
166
166
  <span class="method-name">parse</span><span class="method-args">(input, filename='')</span>
167
167
  </a>
168
168
  </div>
169
169
 
170
170
  <div class="method-description">
171
171
  <p><a class="source-toggle" href="#"
172
- onclick="toggleCode('M000139-source');return false;">[Source]</a></p>
173
- <div class="method-source-code" id="M000139-source">
172
+ onclick="toggleCode('M000137-source');return false;">[Source]</a></p>
173
+ <div class="method-source-code" id="M000137-source">
174
174
  <pre>
175
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 405</span>
175
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 407</span>
176
176
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">input</span>, <span class="ruby-identifier">filename</span>=<span class="ruby-value str">''</span>)
177
177
  <span class="ruby-identifier">reset</span>(<span class="ruby-identifier">input</span>, <span class="ruby-identifier">filename</span>)
178
178
  <span class="ruby-identifier">scan</span>()
@@ -196,21 +196,21 @@ presentation logic example (ruby style):
196
196
 
197
197
  <h3 class="section-bar">Protected Instance methods</h3>
198
198
 
199
- <div id="method-M000148" class="method-detail">
200
- <a name="M000148"></a>
199
+ <div id="method-M000146" class="method-detail">
200
+ <a name="M000146"></a>
201
201
 
202
202
  <div class="method-heading">
203
- <a href="#M000148" class="method-signature">
203
+ <a href="#M000146" class="method-signature">
204
204
  <span class="method-name">_parse_block</span><span class="method-args">()</span>
205
205
  </a>
206
206
  </div>
207
207
 
208
208
  <div class="method-description">
209
209
  <p><a class="source-toggle" href="#"
210
- onclick="toggleCode('M000148-source');return false;">[Source]</a></p>
211
- <div class="method-source-code" id="M000148-source">
210
+ onclick="toggleCode('M000146-source');return false;">[Source]</a></p>
211
+ <div class="method-source-code" id="M000146-source">
212
212
  <pre>
213
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 511</span>
213
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 513</span>
214
214
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_parse_block</span>
215
215
  <span class="ruby-keyword kw">super</span>
216
216
  <span class="ruby-keyword kw">end</span>
@@ -219,21 +219,21 @@ presentation logic example (ruby style):
219
219
  </div>
220
220
  </div>
221
221
 
222
- <div id="method-M000147" class="method-detail">
223
- <a name="M000147"></a>
222
+ <div id="method-M000145" class="method-detail">
223
+ <a name="M000145"></a>
224
224
 
225
225
  <div class="method-heading">
226
- <a href="#M000147" class="method-signature">
226
+ <a href="#M000145" class="method-signature">
227
227
  <span class="method-name">_parse_item</span><span class="method-args">()</span>
228
228
  </a>
229
229
  </div>
230
230
 
231
231
  <div class="method-description">
232
232
  <p><a class="source-toggle" href="#"
233
- onclick="toggleCode('M000147-source');return false;">[Source]</a></p>
234
- <div class="method-source-code" id="M000147-source">
233
+ onclick="toggleCode('M000145-source');return false;">[Source]</a></p>
234
+ <div class="method-source-code" id="M000145-source">
235
235
  <pre>
236
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 504</span>
236
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 506</span>
237
237
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_parse_item</span>
238
238
  <span class="ruby-identifier">item</span> = <span class="ruby-identifier">scan_line</span>()
239
239
  <span class="ruby-identifier">item</span>.<span class="ruby-identifier">strip!</span>
@@ -244,21 +244,21 @@ presentation logic example (ruby style):
244
244
  </div>
245
245
  </div>
246
246
 
247
- <div id="method-M000144" class="method-detail">
248
- <a name="M000144"></a>
247
+ <div id="method-M000142" class="method-detail">
248
+ <a name="M000142"></a>
249
249
 
250
250
  <div class="method-heading">
251
- <a href="#M000144" class="method-signature">
251
+ <a href="#M000142" class="method-signature">
252
252
  <span class="method-name">_parse_list</span><span class="method-args">()</span>
253
253
  </a>
254
254
  </div>
255
255
 
256
256
  <div class="method-description">
257
257
  <p><a class="source-toggle" href="#"
258
- onclick="toggleCode('M000144-source');return false;">[Source]</a></p>
259
- <div class="method-source-code" id="M000144-source">
258
+ onclick="toggleCode('M000142-source');return false;">[Source]</a></p>
259
+ <div class="method-source-code" id="M000142-source">
260
260
  <pre>
261
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 477</span>
261
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 479</span>
262
262
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_parse_list</span>
263
263
  <span class="ruby-identifier">line</span> = <span class="ruby-identifier">scan_line</span>()
264
264
  <span class="ruby-identifier">list</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/,\s+/</span>).<span class="ruby-identifier">collect</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">strip</span>}
@@ -269,21 +269,21 @@ presentation logic example (ruby style):
269
269
  </div>
270
270
  </div>
271
271
 
272
- <div id="method-M000146" class="method-detail">
273
- <a name="M000146"></a>
272
+ <div id="method-M000144" class="method-detail">
273
+ <a name="M000144"></a>
274
274
 
275
275
  <div class="method-heading">
276
- <a href="#M000146" class="method-signature">
276
+ <a href="#M000144" class="method-signature">
277
277
  <span class="method-name">_parse_str</span><span class="method-args">()</span>
278
278
  </a>
279
279
  </div>
280
280
 
281
281
  <div class="method-description">
282
282
  <p><a class="source-toggle" href="#"
283
- onclick="toggleCode('M000146-source');return false;">[Source]</a></p>
284
- <div class="method-source-code" id="M000146-source">
283
+ onclick="toggleCode('M000144-source');return false;">[Source]</a></p>
284
+ <div class="method-source-code" id="M000144-source">
285
285
  <pre>
286
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 499</span>
286
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 501</span>
287
287
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_parse_str</span>
288
288
  <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">_parse_strs</span>()[<span class="ruby-value">0</span>]
289
289
  <span class="ruby-keyword kw">end</span>
@@ -292,21 +292,21 @@ presentation logic example (ruby style):
292
292
  </div>
293
293
  </div>
294
294
 
295
- <div id="method-M000145" class="method-detail">
296
- <a name="M000145"></a>
295
+ <div id="method-M000143" class="method-detail">
296
+ <a name="M000143"></a>
297
297
 
298
298
  <div class="method-heading">
299
- <a href="#M000145" class="method-signature">
299
+ <a href="#M000143" class="method-signature">
300
300
  <span class="method-name">_parse_strs</span><span class="method-args">()</span>
301
301
  </a>
302
302
  </div>
303
303
 
304
304
  <div class="method-description">
305
305
  <p><a class="source-toggle" href="#"
306
- onclick="toggleCode('M000145-source');return false;">[Source]</a></p>
307
- <div class="method-source-code" id="M000145-source">
306
+ onclick="toggleCode('M000143-source');return false;">[Source]</a></p>
307
+ <div class="method-source-code" id="M000143-source">
308
308
  <pre>
309
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 484</span>
309
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 486</span>
310
310
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_parse_strs</span>
311
311
  <span class="ruby-identifier">list</span> = <span class="ruby-identifier">_parse_list</span>()
312
312
  <span class="ruby-identifier">list2</span> = []
@@ -325,21 +325,21 @@ presentation logic example (ruby style):
325
325
  </div>
326
326
  </div>
327
327
 
328
- <div id="method-M000149" class="method-detail">
329
- <a name="M000149"></a>
328
+ <div id="method-M000147" class="method-detail">
329
+ <a name="M000147"></a>
330
330
 
331
331
  <div class="method-heading">
332
- <a href="#M000149" class="method-signature">
332
+ <a href="#M000147" class="method-signature">
333
333
  <span class="method-name">_parse_tuples</span><span class="method-args">()</span>
334
334
  </a>
335
335
  </div>
336
336
 
337
337
  <div class="method-description">
338
338
  <p><a class="source-toggle" href="#"
339
- onclick="toggleCode('M000149-source');return false;">[Source]</a></p>
340
- <div class="method-source-code" id="M000149-source">
339
+ onclick="toggleCode('M000147-source');return false;">[Source]</a></p>
340
+ <div class="method-source-code" id="M000147-source">
341
341
  <pre>
342
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 516</span>
342
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 518</span>
343
343
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_parse_tuples</span>
344
344
  <span class="ruby-identifier">line</span> = <span class="ruby-identifier">scan_line</span>()
345
345
  <span class="ruby-identifier">items</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/,\s+/</span>)
@@ -366,21 +366,21 @@ presentation logic example (ruby style):
366
366
  </div>
367
367
  </div>
368
368
 
369
- <div id="method-M000143" class="method-detail">
370
- <a name="M000143"></a>
369
+ <div id="method-M000141" class="method-detail">
370
+ <a name="M000141"></a>
371
371
 
372
372
  <div class="method-heading">
373
- <a href="#M000143" class="method-signature">
373
+ <a href="#M000141" class="method-signature">
374
374
  <span class="method-name">has_space?</span><span class="method-args">()</span>
375
375
  </a>
376
376
  </div>
377
377
 
378
378
  <div class="method-description">
379
379
  <p><a class="source-toggle" href="#"
380
- onclick="toggleCode('M000143-source');return false;">[Source]</a></p>
381
- <div class="method-source-code" id="M000143-source">
380
+ onclick="toggleCode('M000141-source');return false;">[Source]</a></p>
381
+ <div class="method-source-code" id="M000141-source">
382
382
  <pre>
383
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 470</span>
383
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 472</span>
384
384
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">has_space?</span>
385
385
  <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@ch</span> <span class="ruby-operator">==</span> <span class="ruby-value">?\ </span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@ch</span> <span class="ruby-operator">==</span> <span class="ruby-value">?\t</span>
386
386
  <span class="ruby-identifier">raise</span> <span class="ruby-identifier">parse_error</span>(<span class="ruby-node">&quot;'#{@value}': following spaces are required but got '#{@ch.chr}'.&quot;</span>)
@@ -391,21 +391,21 @@ presentation logic example (ruby style):
391
391
  </div>
392
392
  </div>
393
393
 
394
- <div id="method-M000141" class="method-detail">
395
- <a name="M000141"></a>
394
+ <div id="method-M000139" class="method-detail">
395
+ <a name="M000139"></a>
396
396
 
397
397
  <div class="method-heading">
398
- <a href="#M000141" class="method-signature">
398
+ <a href="#M000139" class="method-signature">
399
399
  <span class="method-name">keywords</span><span class="method-args">(keyword)</span>
400
400
  </a>
401
401
  </div>
402
402
 
403
403
  <div class="method-description">
404
404
  <p><a class="source-toggle" href="#"
405
- onclick="toggleCode('M000141-source');return false;">[Source]</a></p>
406
- <div class="method-source-code" id="M000141-source">
405
+ onclick="toggleCode('M000139-source');return false;">[Source]</a></p>
406
+ <div class="method-source-code" id="M000139-source">
407
407
  <pre>
408
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 437</span>
408
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 439</span>
409
409
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">keywords</span>(<span class="ruby-identifier">keyword</span>)
410
410
  <span class="ruby-keyword kw">return</span> <span class="ruby-constant">RUBYSTYLE_KEYWORDS</span>[<span class="ruby-identifier">keyword</span>]
411
411
  <span class="ruby-keyword kw">end</span>
@@ -414,28 +414,28 @@ presentation logic example (ruby style):
414
414
  </div>
415
415
  </div>
416
416
 
417
- <div id="method-M000142" class="method-detail">
418
- <a name="M000142"></a>
417
+ <div id="method-M000140" class="method-detail">
418
+ <a name="M000140"></a>
419
419
 
420
420
  <div class="method-heading">
421
- <a href="#M000142" class="method-signature">
421
+ <a href="#M000140" class="method-signature">
422
422
  <span class="method-name">parse_document_ruleset</span><span class="method-args">()</span>
423
423
  </a>
424
424
  </div>
425
425
 
426
426
  <div class="method-description">
427
427
  <p><a class="source-toggle" href="#"
428
- onclick="toggleCode('M000142-source');return false;">[Source]</a></p>
429
- <div class="method-source-code" id="M000142-source">
428
+ onclick="toggleCode('M000140-source');return false;">[Source]</a></p>
429
+ <div class="method-source-code" id="M000140-source">
430
430
  <pre>
431
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 443</span>
431
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 445</span>
432
432
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_document_ruleset</span>
433
433
  <span class="ruby-identifier">assert</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@token</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:document</span>
434
434
  <span class="ruby-identifier">scan</span>()
435
435
  <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@token</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'{'</span><span class="ruby-value str">'{'</span>
436
436
  <span class="ruby-identifier">raise</span> <span class="ruby-identifier">parse_error</span>(<span class="ruby-node">&quot;'#{@value}': document requires '{'.&quot;</span>)
437
437
  <span class="ruby-keyword kw">end</span>
438
- <span class="ruby-identifier">ruleset</span> = <span class="ruby-constant">DocumentRuleset</span>.<span class="ruby-identifier">new</span>
438
+ <span class="ruby-identifier">ruleset</span> = <span class="ruby-constant">Ruleset</span>.<span class="ruby-identifier">new</span>
439
439
  <span class="ruby-keyword kw">while</span> <span class="ruby-ivar">@token</span>
440
440
  <span class="ruby-identifier">scan</span>()
441
441
  <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@token</span>
@@ -459,21 +459,21 @@ presentation logic example (ruby style):
459
459
  </div>
460
460
  </div>
461
461
 
462
- <div id="method-M000150" class="method-detail">
463
- <a name="M000150"></a>
462
+ <div id="method-M000148" class="method-detail">
463
+ <a name="M000148"></a>
464
464
 
465
465
  <div class="method-heading">
466
- <a href="#M000150" class="method-signature">
466
+ <a href="#M000148" class="method-signature">
467
467
  <span class="method-name">parse_element_ruleset</span><span class="method-args">()</span>
468
468
  </a>
469
469
  </div>
470
470
 
471
471
  <div class="method-description">
472
472
  <p><a class="source-toggle" href="#"
473
- onclick="toggleCode('M000150-source');return false;">[Source]</a></p>
474
- <div class="method-source-code" id="M000150-source">
473
+ onclick="toggleCode('M000148-source');return false;">[Source]</a></p>
474
+ <div class="method-source-code" id="M000148-source">
475
475
  <pre>
476
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 539</span>
476
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 541</span>
477
477
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_element_ruleset</span>
478
478
  <span class="ruby-identifier">assert</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@token</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:element</span>
479
479
  <span class="ruby-identifier">scan</span>()
@@ -514,21 +514,21 @@ presentation logic example (ruby style):
514
514
  </div>
515
515
  </div>
516
516
 
517
- <div id="method-M000140" class="method-detail">
518
- <a name="M000140"></a>
517
+ <div id="method-M000138" class="method-detail">
518
+ <a name="M000138"></a>
519
519
 
520
520
  <div class="method-heading">
521
- <a href="#M000140" class="method-signature">
521
+ <a href="#M000138" class="method-signature">
522
522
  <span class="method-name">scan_hook</span><span class="method-args">()</span>
523
523
  </a>
524
524
  </div>
525
525
 
526
526
  <div class="method-description">
527
527
  <p><a class="source-toggle" href="#"
528
- onclick="toggleCode('M000140-source');return false;">[Source]</a></p>
529
- <div class="method-source-code" id="M000140-source">
528
+ onclick="toggleCode('M000138-source');return false;">[Source]</a></p>
529
+ <div class="method-source-code" id="M000138-source">
530
530
  <pre>
531
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 426</span>
531
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 428</span>
532
532
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scan_hook</span>
533
533
  <span class="ruby-comment cmt">## line comment</span>
534
534
  <span class="ruby-identifier">c</span> = <span class="ruby-ivar">@ch</span>
@@ -94,9 +94,9 @@ translator for eRuby
94
94
  <h3 class="section-bar">Methods</h3>
95
95
 
96
96
  <div class="name-list">
97
- <a href="#M000210">new</a>&nbsp;&nbsp;
98
- <a href="#M000212">translate</a>&nbsp;&nbsp;
99
- <a href="#M000211">translate_string</a>&nbsp;&nbsp;
97
+ <a href="#M000209">new</a>&nbsp;&nbsp;
98
+ <a href="#M000211">translate</a>&nbsp;&nbsp;
99
+ <a href="#M000210">translate_string</a>&nbsp;&nbsp;
100
100
  </div>
101
101
  </div>
102
102
 
@@ -104,6 +104,13 @@ translator for eRuby
104
104
 
105
105
 
106
106
  <!-- if includes -->
107
+ <div id="includes">
108
+ <h3 class="section-bar">Included Modules</h3>
109
+
110
+ <div id="includes-list">
111
+ <span class="include-name"><a href="RubyExpressionParser.html">RubyExpressionParser</a></span>
112
+ </div>
113
+ </div>
107
114
 
108
115
  <div id="section">
109
116
 
@@ -118,21 +125,21 @@ translator for eRuby
118
125
  <div id="methods">
119
126
  <h3 class="section-bar">Public Class methods</h3>
120
127
 
121
- <div id="method-M000210" class="method-detail">
122
- <a name="M000210"></a>
128
+ <div id="method-M000209" class="method-detail">
129
+ <a name="M000209"></a>
123
130
 
124
131
  <div class="method-heading">
125
- <a href="#M000210" class="method-signature">
132
+ <a href="#M000209" class="method-signature">
126
133
  <span class="method-name">new</span><span class="method-args">(properties={})</span>
127
134
  </a>
128
135
  </div>
129
136
 
130
137
  <div class="method-description">
131
138
  <p><a class="source-toggle" href="#"
132
- onclick="toggleCode('M000210-source');return false;">[Source]</a></p>
133
- <div class="method-source-code" id="M000210-source">
139
+ onclick="toggleCode('M000209-source');return false;">[Source]</a></p>
140
+ <div class="method-source-code" id="M000209-source">
134
141
  <pre>
135
- <span class="ruby-comment cmt"># File kwartz/binding/ruby.rb, line 159</span>
142
+ <span class="ruby-comment cmt"># File kwartz/binding/ruby.rb, line 191</span>
136
143
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">properties</span>={})
137
144
  <span class="ruby-identifier">escapefunc</span> = <span class="ruby-identifier">properties</span>[<span class="ruby-identifier">:escapefunc</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">'ERB::Util.h'</span>
138
145
  <span class="ruby-identifier">marks</span> = [<span class="ruby-value str">''</span>, <span class="ruby-value str">''</span>, <span class="ruby-value str">'_buf &lt;&lt; ('</span>, <span class="ruby-value str">').to_s; '</span>, <span class="ruby-node">&quot;_buf &lt;&lt; #{escapefunc}(&quot;</span>, <span class="ruby-value str">'); '</span>]
@@ -147,21 +154,21 @@ translator for eRuby
147
154
 
148
155
  <h3 class="section-bar">Public Instance methods</h3>
149
156
 
150
- <div id="method-M000212" class="method-detail">
151
- <a name="M000212"></a>
157
+ <div id="method-M000211" class="method-detail">
158
+ <a name="M000211"></a>
152
159
 
153
160
  <div class="method-heading">
154
- <a href="#M000212" class="method-signature">
161
+ <a href="#M000211" class="method-signature">
155
162
  <span class="method-name">translate</span><span class="method-args">(stmt_list)</span>
156
163
  </a>
157
164
  </div>
158
165
 
159
166
  <div class="method-description">
160
167
  <p><a class="source-toggle" href="#"
161
- onclick="toggleCode('M000212-source');return false;">[Source]</a></p>
162
- <div class="method-source-code" id="M000212-source">
168
+ onclick="toggleCode('M000211-source');return false;">[Source]</a></p>
169
+ <div class="method-source-code" id="M000211-source">
163
170
  <pre>
164
- <span class="ruby-comment cmt"># File kwartz/binding/ruby.rb, line 182</span>
171
+ <span class="ruby-comment cmt"># File kwartz/binding/ruby.rb, line 214</span>
165
172
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">translate</span>(<span class="ruby-identifier">stmt_list</span>)
166
173
  <span class="ruby-identifier">stmt_list2</span> = <span class="ruby-identifier">optimize_print_stmts</span>(<span class="ruby-identifier">stmt_list</span>)
167
174
  <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">stmt_list2</span>)
@@ -171,21 +178,21 @@ translator for eRuby
171
178
  </div>
172
179
  </div>
173
180
 
174
- <div id="method-M000211" class="method-detail">
175
- <a name="M000211"></a>
181
+ <div id="method-M000210" class="method-detail">
182
+ <a name="M000210"></a>
176
183
 
177
184
  <div class="method-heading">
178
- <a href="#M000211" class="method-signature">
185
+ <a href="#M000210" class="method-signature">
179
186
  <span class="method-name">translate_string</span><span class="method-args">(str)</span>
180
187
  </a>
181
188
  </div>
182
189
 
183
190
  <div class="method-description">
184
191
  <p><a class="source-toggle" href="#"
185
- onclick="toggleCode('M000211-source');return false;">[Source]</a></p>
186
- <div class="method-source-code" id="M000211-source">
192
+ onclick="toggleCode('M000210-source');return false;">[Source]</a></p>
193
+ <div class="method-source-code" id="M000210-source">
187
194
  <pre>
188
- <span class="ruby-comment cmt"># File kwartz/binding/ruby.rb, line 168</span>
195
+ <span class="ruby-comment cmt"># File kwartz/binding/ruby.rb, line 200</span>
189
196
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">translate_string</span>(<span class="ruby-identifier">str</span>)
190
197
  <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">empty?</span>
191
198
  <span class="ruby-comment cmt">#str.gsub!(/['\\]/, '\\\\\&amp;')</span>