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
@@ -94,8 +94,8 @@ translator for php
94
94
  <h3 class="section-bar">Methods</h3>
95
95
 
96
96
  <div class="name-list">
97
- <a href="#M000186">new</a>&nbsp;&nbsp;
98
- <a href="#M000187">translate_native_expr</a>&nbsp;&nbsp;
97
+ <a href="#M000176">new</a>&nbsp;&nbsp;
98
+ <a href="#M000177">translate_native_expr</a>&nbsp;&nbsp;
99
99
  </div>
100
100
  </div>
101
101
 
@@ -117,21 +117,21 @@ translator for php
117
117
  <div id="methods">
118
118
  <h3 class="section-bar">Public Class methods</h3>
119
119
 
120
- <div id="method-M000186" class="method-detail">
121
- <a name="M000186"></a>
120
+ <div id="method-M000176" class="method-detail">
121
+ <a name="M000176"></a>
122
122
 
123
123
  <div class="method-heading">
124
- <a href="#M000186" class="method-signature">
124
+ <a href="#M000176" class="method-signature">
125
125
  <span class="method-name">new</span><span class="method-args">(properties={})</span>
126
126
  </a>
127
127
  </div>
128
128
 
129
129
  <div class="method-description">
130
130
  <p><a class="source-toggle" href="#"
131
- onclick="toggleCode('M000186-source');return false;">[Source]</a></p>
132
- <div class="method-source-code" id="M000186-source">
131
+ onclick="toggleCode('M000176-source');return false;">[Source]</a></p>
132
+ <div class="method-source-code" id="M000176-source">
133
133
  <pre>
134
- <span class="ruby-comment cmt"># File kwartz/binding/struts.rb, line 84</span>
134
+ <span class="ruby-comment cmt"># File kwartz/binding/struts.rb, line 85</span>
135
135
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">properties</span>={})
136
136
  <span class="ruby-keyword kw">super</span>
137
137
  <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">header</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'&lt;%@ taglib uri=&quot;/tags/struts-html&quot; prefix=&quot;html&quot; %&gt;'</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@nl</span>
@@ -145,21 +145,21 @@ translator for php
145
145
 
146
146
  <h3 class="section-bar">Public Instance methods</h3>
147
147
 
148
- <div id="method-M000187" class="method-detail">
149
- <a name="M000187"></a>
148
+ <div id="method-M000177" class="method-detail">
149
+ <a name="M000177"></a>
150
150
 
151
151
  <div class="method-heading">
152
- <a href="#M000187" class="method-signature">
152
+ <a href="#M000177" class="method-signature">
153
153
  <span class="method-name">translate_native_expr</span><span class="method-args">(expr)</span>
154
154
  </a>
155
155
  </div>
156
156
 
157
157
  <div class="method-description">
158
158
  <p><a class="source-toggle" href="#"
159
- onclick="toggleCode('M000187-source');return false;">[Source]</a></p>
160
- <div class="method-source-code" id="M000187-source">
159
+ onclick="toggleCode('M000177-source');return false;">[Source]</a></p>
160
+ <div class="method-source-code" id="M000177-source">
161
161
  <pre>
162
- <span class="ruby-comment cmt"># File kwartz/binding/struts.rb, line 92</span>
162
+ <span class="ruby-comment cmt"># File kwartz/binding/struts.rb, line 93</span>
163
163
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">translate_native_expr</span>(<span class="ruby-identifier">expr</span>)
164
164
  <span class="ruby-identifier">assert</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">NativeExpression</span>)
165
165
  <span class="ruby-identifier">flag_escape</span> = <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">escape?</span>
@@ -86,10 +86,11 @@
86
86
  <h3 class="section-bar">Methods</h3>
87
87
 
88
88
  <div class="name-list">
89
- <a href="#M000202">_inspect</a>&nbsp;&nbsp;
90
- <a href="#M000199">new</a>&nbsp;&nbsp;
91
- <a href="#M000201">rebuild_tag_text</a>&nbsp;&nbsp;
92
- <a href="#M000200">tagname=</a>&nbsp;&nbsp;
89
+ <a href="#M000270">_inspect</a>&nbsp;&nbsp;
90
+ <a href="#M000269">clear_as_dummy_tag</a>&nbsp;&nbsp;
91
+ <a href="#M000266">new</a>&nbsp;&nbsp;
92
+ <a href="#M000268">rebuild_tag_text</a>&nbsp;&nbsp;
93
+ <a href="#M000267">tagname=</a>&nbsp;&nbsp;
93
94
  </div>
94
95
  </div>
95
96
 
@@ -109,12 +110,12 @@
109
110
  <table summary="aliases">
110
111
  <tr class="top-aligned-row context-row">
111
112
  <td class="context-item-name">is_etag</td>
112
- <td>-></td>
113
+ <td>-&gt;</td>
113
114
  <td class="context-item-value">is_etag?</td>
114
115
  </tr>
115
116
  <tr class="top-aligned-row context-row">
116
117
  <td class="context-item-name">is_empty</td>
117
- <td>-></td>
118
+ <td>-&gt;</td>
118
119
  <td class="context-item-value">is_empty?</td>
119
120
  </tr>
120
121
  </table>
@@ -187,19 +188,19 @@
187
188
  <div id="methods">
188
189
  <h3 class="section-bar">Public Class methods</h3>
189
190
 
190
- <div id="method-M000199" class="method-detail">
191
- <a name="M000199"></a>
191
+ <div id="method-M000266" class="method-detail">
192
+ <a name="M000266"></a>
192
193
 
193
194
  <div class="method-heading">
194
- <a href="#M000199" class="method-signature">
195
+ <a href="#M000266" class="method-signature">
195
196
  <span class="method-name">new</span><span class="method-args">(matched, linenum=nil)</span>
196
197
  </a>
197
198
  </div>
198
199
 
199
200
  <div class="method-description">
200
201
  <p><a class="source-toggle" href="#"
201
- onclick="toggleCode('M000199-source');return false;">[Source]</a></p>
202
- <div class="method-source-code" id="M000199-source">
202
+ onclick="toggleCode('M000266-source');return false;">[Source]</a></p>
203
+ <div class="method-source-code" id="M000266-source">
203
204
  <pre>
204
205
  <span class="ruby-comment cmt"># File kwartz/converter.rb, line 47</span>
205
206
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">matched</span>, <span class="ruby-identifier">linenum</span>=<span class="ruby-keyword kw">nil</span>)
@@ -221,21 +222,21 @@
221
222
 
222
223
  <h3 class="section-bar">Public Instance methods</h3>
223
224
 
224
- <div id="method-M000202" class="method-detail">
225
- <a name="M000202"></a>
225
+ <div id="method-M000270" class="method-detail">
226
+ <a name="M000270"></a>
226
227
 
227
228
  <div class="method-heading">
228
- <a href="#M000202" class="method-signature">
229
+ <a href="#M000270" class="method-signature">
229
230
  <span class="method-name">_inspect</span><span class="method-args">()</span>
230
231
  </a>
231
232
  </div>
232
233
 
233
234
  <div class="method-description">
234
235
  <p><a class="source-toggle" href="#"
235
- onclick="toggleCode('M000202-source');return false;">[Source]</a></p>
236
- <div class="method-source-code" id="M000202-source">
236
+ onclick="toggleCode('M000270-source');return false;">[Source]</a></p>
237
+ <div class="method-source-code" id="M000270-source">
237
238
  <pre>
238
- <span class="ruby-comment cmt"># File kwartz/converter.rb, line 86</span>
239
+ <span class="ruby-comment cmt"># File kwartz/converter.rb, line 92</span>
239
240
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_inspect</span>
240
241
  <span class="ruby-keyword kw">return</span> [ <span class="ruby-ivar">@prev_text</span>, <span class="ruby-ivar">@head_space</span>, <span class="ruby-ivar">@is_etag</span>, <span class="ruby-ivar">@tagname</span>, <span class="ruby-ivar">@attr_str</span>, <span class="ruby-ivar">@extra_space</span>, <span class="ruby-ivar">@is_empty</span>, <span class="ruby-ivar">@tail_space</span> ]
241
242
  <span class="ruby-keyword kw">end</span>
@@ -244,19 +245,43 @@
244
245
  </div>
245
246
  </div>
246
247
 
247
- <div id="method-M000201" class="method-detail">
248
- <a name="M000201"></a>
248
+ <div id="method-M000269" class="method-detail">
249
+ <a name="M000269"></a>
250
+
251
+ <div class="method-heading">
252
+ <a href="#M000269" class="method-signature">
253
+ <span class="method-name">clear_as_dummy_tag</span><span class="method-args">(</span>
254
+ </a>
255
+ </div>
256
+
257
+ <div class="method-description">
258
+ <p><a class="source-toggle" href="#"
259
+ onclick="toggleCode('M000269-source');return false;">[Source]</a></p>
260
+ <div class="method-source-code" id="M000269-source">
261
+ <pre>
262
+ <span class="ruby-comment cmt"># File kwartz/converter.rb, line 86</span>
263
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clear_as_dummy_tag</span> <span class="ruby-comment cmt"># delete &lt;span&gt; tag</span>
264
+ <span class="ruby-ivar">@tagname</span> = <span class="ruby-keyword kw">nil</span>
265
+ <span class="ruby-ivar">@head_space</span> = <span class="ruby-ivar">@tail_space</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@head_space</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@tail_space</span>
266
+ <span class="ruby-keyword kw">end</span>
267
+ </pre>
268
+ </div>
269
+ </div>
270
+ </div>
271
+
272
+ <div id="method-M000268" class="method-detail">
273
+ <a name="M000268"></a>
249
274
 
250
275
  <div class="method-heading">
251
- <a href="#M000201" class="method-signature">
276
+ <a href="#M000268" class="method-signature">
252
277
  <span class="method-name">rebuild_tag_text</span><span class="method-args">(attr_info=nil)</span>
253
278
  </a>
254
279
  </div>
255
280
 
256
281
  <div class="method-description">
257
282
  <p><a class="source-toggle" href="#"
258
- onclick="toggleCode('M000201-source');return false;">[Source]</a></p>
259
- <div class="method-source-code" id="M000201-source">
283
+ onclick="toggleCode('M000268-source');return false;">[Source]</a></p>
284
+ <div class="method-source-code" id="M000268-source">
260
285
  <pre>
261
286
  <span class="ruby-comment cmt"># File kwartz/converter.rb, line 74</span>
262
287
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rebuild_tag_text</span>(<span class="ruby-identifier">attr_info</span>=<span class="ruby-keyword kw">nil</span>)
@@ -274,19 +299,19 @@
274
299
  </div>
275
300
  </div>
276
301
 
277
- <div id="method-M000200" class="method-detail">
278
- <a name="M000200"></a>
302
+ <div id="method-M000267" class="method-detail">
303
+ <a name="M000267"></a>
279
304
 
280
305
  <div class="method-heading">
281
- <a href="#M000200" class="method-signature">
306
+ <a href="#M000267" class="method-signature">
282
307
  <span class="method-name">tagname=</span><span class="method-args">(tagname)</span>
283
308
  </a>
284
309
  </div>
285
310
 
286
311
  <div class="method-description">
287
312
  <p><a class="source-toggle" href="#"
288
- onclick="toggleCode('M000200-source');return false;">[Source]</a></p>
289
- <div class="method-source-code" id="M000200-source">
313
+ onclick="toggleCode('M000267-source');return false;">[Source]</a></p>
314
+ <div class="method-source-code" id="M000267-source">
290
315
  <pre>
291
316
  <span class="ruby-comment cmt"># File kwartz/converter.rb, line 67</span>
292
317
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tagname=</span>(<span class="ruby-identifier">tagname</span>)
@@ -82,8 +82,8 @@
82
82
 
83
83
  <div id="description">
84
84
  <p>
85
- convert presentation data (html) into a list of <a
86
- href="Statement.html">Statement</a>. notice that <a
85
+ <a href="TextConverter.html#M000250">convert</a> presentation data (html)
86
+ into a list of <a href="Statement.html">Statement</a>. notice that <a
87
87
  href="TextConverter.html">TextConverter</a> class hanlde html file as text
88
88
  format, not html format.
89
89
  </p>
@@ -97,10 +97,11 @@ format, not html format.
97
97
  <h3 class="section-bar">Methods</h3>
98
98
 
99
99
  <div class="name-list">
100
- <a href="#M000071">convert</a>&nbsp;&nbsp;
101
- <a href="#M000072">fetch_pattern=</a>&nbsp;&nbsp;
102
- <a href="#M000069">new</a>&nbsp;&nbsp;
103
- <a href="#M000070">reset</a>&nbsp;&nbsp;
100
+ <a href="#M000250">convert</a>&nbsp;&nbsp;
101
+ <a href="#M000251">fetch_pattern=</a>&nbsp;&nbsp;
102
+ <a href="#M000252">match_ruleset</a>&nbsp;&nbsp;
103
+ <a href="#M000248">new</a>&nbsp;&nbsp;
104
+ <a href="#M000249">reset</a>&nbsp;&nbsp;
104
105
  </div>
105
106
  </div>
106
107
 
@@ -140,24 +141,24 @@ format, not html format.
140
141
  <div id="methods">
141
142
  <h3 class="section-bar">Public Class methods</h3>
142
143
 
143
- <div id="method-M000069" class="method-detail">
144
- <a name="M000069"></a>
144
+ <div id="method-M000248" class="method-detail">
145
+ <a name="M000248"></a>
145
146
 
146
147
  <div class="method-heading">
147
- <a href="#M000069" class="method-signature">
148
+ <a href="#M000248" class="method-signature">
148
149
  <span class="method-name">new</span><span class="method-args">(handler, properties={})</span>
149
150
  </a>
150
151
  </div>
151
152
 
152
153
  <div class="method-description">
153
154
  <p><a class="source-toggle" href="#"
154
- onclick="toggleCode('M000069-source');return false;">[Source]</a></p>
155
- <div class="method-source-code" id="M000069-source">
155
+ onclick="toggleCode('M000248-source');return false;">[Source]</a></p>
156
+ <div class="method-source-code" id="M000248-source">
156
157
  <pre>
157
- <span class="ruby-comment cmt"># File kwartz/converter.rb, line 854</span>
158
+ <span class="ruby-comment cmt"># File kwartz/converter.rb, line 984</span>
158
159
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">handler</span>, <span class="ruby-identifier">properties</span>={})
159
160
  <span class="ruby-keyword kw">super</span>
160
- <span class="ruby-identifier">include_properties</span>(<span class="ruby-identifier">properties</span>) <span class="ruby-comment cmt"># set @delspan and @dattr</span>
161
+ <span class="ruby-ivar">@dattr</span> = <span class="ruby-identifier">properties</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-identifier">:dattr</span>, <span class="ruby-constant">Config</span><span class="ruby-operator">::</span><span class="ruby-constant">PROPERTY_DATTR</span>) <span class="ruby-comment cmt"># default: 'kw:d'</span>
161
162
  <span class="ruby-keyword kw">end</span>
162
163
  </pre>
163
164
  </div>
@@ -166,21 +167,21 @@ format, not html format.
166
167
 
167
168
  <h3 class="section-bar">Protected Class methods</h3>
168
169
 
169
- <div id="method-M000072" class="method-detail">
170
- <a name="M000072"></a>
170
+ <div id="method-M000251" class="method-detail">
171
+ <a name="M000251"></a>
171
172
 
172
173
  <div class="method-heading">
173
- <a href="#M000072" class="method-signature">
174
+ <a href="#M000251" class="method-signature">
174
175
  <span class="method-name">fetch_pattern=</span><span class="method-args">(regexp)</span>
175
176
  </a>
176
177
  </div>
177
178
 
178
179
  <div class="method-description">
179
180
  <p><a class="source-toggle" href="#"
180
- onclick="toggleCode('M000072-source');return false;">[Source]</a></p>
181
- <div class="method-source-code" id="M000072-source">
181
+ onclick="toggleCode('M000251-source');return false;">[Source]</a></p>
182
+ <div class="method-source-code" id="M000251-source">
182
183
  <pre>
183
- <span class="ruby-comment cmt"># File kwartz/converter.rb, line 894</span>
184
+ <span class="ruby-comment cmt"># File kwartz/converter.rb, line 1034</span>
184
185
  <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">fetch_pattern=</span>(<span class="ruby-identifier">regexp</span>)
185
186
  <span class="ruby-ivar">@@fetch_pattern</span> = <span class="ruby-identifier">regexp</span>
186
187
  <span class="ruby-keyword kw">end</span>
@@ -191,30 +192,39 @@ format, not html format.
191
192
 
192
193
  <h3 class="section-bar">Public Instance methods</h3>
193
194
 
194
- <div id="method-M000071" class="method-detail">
195
- <a name="M000071"></a>
195
+ <div id="method-M000250" class="method-detail">
196
+ <a name="M000250"></a>
196
197
 
197
198
  <div class="method-heading">
198
- <a href="#M000071" class="method-signature">
199
+ <a href="#M000250" class="method-signature">
199
200
  <span class="method-name">convert</span><span class="method-args">(input, filename='')</span>
200
201
  </a>
201
202
  </div>
202
203
 
203
204
  <div class="method-description">
204
205
  <p><a class="source-toggle" href="#"
205
- onclick="toggleCode('M000071-source');return false;">[Source]</a></p>
206
- <div class="method-source-code" id="M000071-source">
206
+ onclick="toggleCode('M000250-source');return false;">[Source]</a></p>
207
+ <div class="method-source-code" id="M000250-source">
207
208
  <pre>
208
- <span class="ruby-comment cmt"># File kwartz/converter.rb, line 874</span>
209
+ <span class="ruby-comment cmt"># File kwartz/converter.rb, line 1005</span>
209
210
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">convert</span>(<span class="ruby-identifier">input</span>, <span class="ruby-identifier">filename</span>=<span class="ruby-value str">''</span>)
210
211
  <span class="ruby-identifier">reset</span>(<span class="ruby-identifier">input</span>, <span class="ruby-identifier">filename</span>)
211
212
  <span class="ruby-identifier">stmt_list</span> = []
212
- <span class="ruby-identifier">doc_ruleset</span> = <span class="ruby-ivar">@handler</span>.<span class="ruby-identifier">get_element_ruleset</span>(<span class="ruby-value str">'DOCUMENT'</span>)
213
- <span class="ruby-identifier">stmt_list</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">doc_ruleset</span>.<span class="ruby-identifier">begin</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">doc_ruleset</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">doc_ruleset</span>.<span class="ruby-identifier">begin</span>
214
- <span class="ruby-comment cmt">#stmt_list &lt;&lt; NativeStatement.new(doc_ruleset.head.chomp, nil) if doc_ruleset &amp;&amp; doc_ruleset.head</span>
215
213
  <span class="ruby-identifier">_convert</span>(<span class="ruby-identifier">stmt_list</span>)
216
- <span class="ruby-identifier">stmt_list</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">doc_ruleset</span>.<span class="ruby-identifier">end</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">doc_ruleset</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">doc_ruleset</span>.<span class="ruby-identifier">end</span>
217
- <span class="ruby-comment cmt">#stmt_list &lt;&lt; NativeStatement.new(doc_ruleset.tail.chomp, nil) if doc_ruleset &amp;&amp; doc_ruleset.tail</span>
214
+ <span class="ruby-identifier">ruleset</span> = <span class="ruby-ivar">@handler</span>.<span class="ruby-identifier">get_ruleset</span>(<span class="ruby-value str">'#DOCUMENT'</span>)
215
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ruleset</span>
216
+ <span class="ruby-identifier">stmt_list2</span> = []
217
+ <span class="ruby-identifier">elem_info</span> = <span class="ruby-keyword kw">nil</span>
218
+ <span class="ruby-identifier">r</span> = <span class="ruby-identifier">ruleset</span>
219
+ <span class="ruby-ivar">@handler</span>.<span class="ruby-identifier">expand_statements</span>(<span class="ruby-identifier">r</span>.<span class="ruby-identifier">before</span>, <span class="ruby-identifier">stmt_list2</span>, <span class="ruby-identifier">elem_info</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">before</span>
220
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">logic</span>
221
+ <span class="ruby-ivar">@handler</span>.<span class="ruby-identifier">expand_statements</span>(<span class="ruby-identifier">r</span>.<span class="ruby-identifier">logic</span>, <span class="ruby-identifier">stmt_list2</span>, <span class="ruby-identifier">elem_info</span>)
222
+ <span class="ruby-keyword kw">else</span>
223
+ <span class="ruby-identifier">stmt_list2</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">stmt_list</span>)
224
+ <span class="ruby-keyword kw">end</span>
225
+ <span class="ruby-ivar">@handler</span>.<span class="ruby-identifier">expand_statements</span>(<span class="ruby-identifier">r</span>.<span class="ruby-identifier">after</span>, <span class="ruby-identifier">stmt_list2</span>, <span class="ruby-identifier">elem_info</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">after</span>
226
+ <span class="ruby-identifier">stmt_list</span> = <span class="ruby-identifier">stmt_list2</span>
227
+ <span class="ruby-keyword kw">end</span>
218
228
  <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">stmt_list</span>
219
229
  <span class="ruby-keyword kw">end</span>
220
230
  </pre>
@@ -224,24 +234,52 @@ format, not html format.
224
234
 
225
235
  <h3 class="section-bar">Protected Instance methods</h3>
226
236
 
227
- <div id="method-M000070" class="method-detail">
228
- <a name="M000070"></a>
237
+ <div id="method-M000252" class="method-detail">
238
+ <a name="M000252"></a>
229
239
 
230
240
  <div class="method-heading">
231
- <a href="#M000070" class="method-signature">
241
+ <a href="#M000252" class="method-signature">
242
+ <span class="method-name">match_ruleset</span><span class="method-args">(taginfo, attr_info)</span>
243
+ </a>
244
+ </div>
245
+
246
+ <div class="method-description">
247
+ <p><a class="source-toggle" href="#"
248
+ onclick="toggleCode('M000252-source');return false;">[Source]</a></p>
249
+ <div class="method-source-code" id="M000252-source">
250
+ <pre>
251
+ <span class="ruby-comment cmt"># File kwartz/converter.rb, line 1039</span>
252
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">match_ruleset</span>(<span class="ruby-identifier">taginfo</span>, <span class="ruby-identifier">attr_info</span>)
253
+ <span class="ruby-identifier">idname</span> = <span class="ruby-identifier">attr_info</span>[<span class="ruby-value str">'id'</span>]
254
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idname</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@handler</span>.<span class="ruby-identifier">get_ruleset</span>(<span class="ruby-value str">&quot;#&quot;</span><span class="ruby-operator">+</span><span class="ruby-identifier">idname</span>)
255
+ <span class="ruby-identifier">classname</span> = <span class="ruby-identifier">attr_info</span>[<span class="ruby-value str">'class'</span>]
256
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">classname</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@handler</span>.<span class="ruby-identifier">get_ruleset</span>(<span class="ruby-value str">&quot;.&quot;</span><span class="ruby-operator">+</span><span class="ruby-identifier">classname</span>)
257
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@handler</span>.<span class="ruby-identifier">get_ruleset</span>(<span class="ruby-identifier">taginfo</span>.<span class="ruby-identifier">tagname</span>) <span class="ruby-operator">?</span> <span class="ruby-keyword kw">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">false</span>
258
+ <span class="ruby-keyword kw">end</span>
259
+ </pre>
260
+ </div>
261
+ </div>
262
+ </div>
263
+
264
+ <div id="method-M000249" class="method-detail">
265
+ <a name="M000249"></a>
266
+
267
+ <div class="method-heading">
268
+ <a href="#M000249" class="method-signature">
232
269
  <span class="method-name">reset</span><span class="method-args">(input, filename)</span>
233
270
  </a>
234
271
  </div>
235
272
 
236
273
  <div class="method-description">
237
274
  <p>
238
- called from convert() and initialize converter object
275
+ called from <a href="TextConverter.html#M000250">convert</a>() and
276
+ initialize converter object
239
277
  </p>
240
278
  <p><a class="source-toggle" href="#"
241
- onclick="toggleCode('M000070-source');return false;">[Source]</a></p>
242
- <div class="method-source-code" id="M000070-source">
279
+ onclick="toggleCode('M000249-source');return false;">[Source]</a></p>
280
+ <div class="method-source-code" id="M000249-source">
243
281
  <pre>
244
- <span class="ruby-comment cmt"># File kwartz/converter.rb, line 861</span>
282
+ <span class="ruby-comment cmt"># File kwartz/converter.rb, line 991</span>
245
283
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>(<span class="ruby-identifier">input</span>, <span class="ruby-identifier">filename</span>)
246
284
  <span class="ruby-ivar">@scanner</span> = <span class="ruby-constant">StringScanner</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">input</span>)
247
285
  <span class="ruby-ivar">@filename</span> = <span class="ruby-identifier">filename</span>
@@ -80,8 +80,8 @@
80
80
 
81
81
  <div id="description">
82
82
  <p>
83
- .[abstract] translate list of <a href="Statement.html">Statement</a> into
84
- target code (eRuby, PHP, &#8230;)
83
+ .[abstract] <a href="Translator.html#M000186">translate</a> list of <a
84
+ href="Statement.html">Statement</a> into target code (eRuby, PHP, &#8230;)
85
85
  </p>
86
86
 
87
87
  </div>
@@ -93,13 +93,13 @@ target code (eRuby, PHP, &#8230;)
93
93
  <h3 class="section-bar">Methods</h3>
94
94
 
95
95
  <div class="name-list">
96
- <a href="#M000138">get_class</a>&nbsp;&nbsp;
97
- <a href="#M000137">register_class</a>&nbsp;&nbsp;
98
- <a href="#M000132">translate</a>&nbsp;&nbsp;
99
- <a href="#M000135">translate_native_expr</a>&nbsp;&nbsp;
100
- <a href="#M000133">translate_native_stmt</a>&nbsp;&nbsp;
101
- <a href="#M000134">translate_print_stmt</a>&nbsp;&nbsp;
102
- <a href="#M000136">translate_string</a>&nbsp;&nbsp;
96
+ <a href="#M000192">get_class</a>&nbsp;&nbsp;
97
+ <a href="#M000191">register_class</a>&nbsp;&nbsp;
98
+ <a href="#M000186">translate</a>&nbsp;&nbsp;
99
+ <a href="#M000189">translate_native_expr</a>&nbsp;&nbsp;
100
+ <a href="#M000187">translate_native_stmt</a>&nbsp;&nbsp;
101
+ <a href="#M000188">translate_print_stmt</a>&nbsp;&nbsp;
102
+ <a href="#M000190">translate_string</a>&nbsp;&nbsp;
103
103
  </div>
104
104
  </div>
105
105
 
@@ -121,19 +121,19 @@ target code (eRuby, PHP, &#8230;)
121
121
  <div id="methods">
122
122
  <h3 class="section-bar">Public Class methods</h3>
123
123
 
124
- <div id="method-M000138" class="method-detail">
125
- <a name="M000138"></a>
124
+ <div id="method-M000192" class="method-detail">
125
+ <a name="M000192"></a>
126
126
 
127
127
  <div class="method-heading">
128
- <a href="#M000138" class="method-signature">
128
+ <a href="#M000192" class="method-signature">
129
129
  <span class="method-name">get_class</span><span class="method-args">(lang)</span>
130
130
  </a>
131
131
  </div>
132
132
 
133
133
  <div class="method-description">
134
134
  <p><a class="source-toggle" href="#"
135
- onclick="toggleCode('M000138-source');return false;">[Source]</a></p>
136
- <div class="method-source-code" id="M000138-source">
135
+ onclick="toggleCode('M000192-source');return false;">[Source]</a></p>
136
+ <div class="method-source-code" id="M000192-source">
137
137
  <pre>
138
138
  <span class="ruby-comment cmt"># File kwartz/translator.rb, line 66</span>
139
139
  <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">get_class</span>(<span class="ruby-identifier">lang</span>)
@@ -144,19 +144,19 @@ target code (eRuby, PHP, &#8230;)
144
144
  </div>
145
145
  </div>
146
146
 
147
- <div id="method-M000137" class="method-detail">
148
- <a name="M000137"></a>
147
+ <div id="method-M000191" class="method-detail">
148
+ <a name="M000191"></a>
149
149
 
150
150
  <div class="method-heading">
151
- <a href="#M000137" class="method-signature">
151
+ <a href="#M000191" class="method-signature">
152
152
  <span class="method-name">register_class</span><span class="method-args">(lang, klass)</span>
153
153
  </a>
154
154
  </div>
155
155
 
156
156
  <div class="method-description">
157
157
  <p><a class="source-toggle" href="#"
158
- onclick="toggleCode('M000137-source');return false;">[Source]</a></p>
159
- <div class="method-source-code" id="M000137-source">
158
+ onclick="toggleCode('M000191-source');return false;">[Source]</a></p>
159
+ <div class="method-source-code" id="M000191-source">
160
160
  <pre>
161
161
  <span class="ruby-comment cmt"># File kwartz/translator.rb, line 61</span>
162
162
  <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">register_class</span>(<span class="ruby-identifier">lang</span>, <span class="ruby-identifier">klass</span>)
@@ -169,23 +169,23 @@ target code (eRuby, PHP, &#8230;)
169
169
 
170
170
  <h3 class="section-bar">Public Instance methods</h3>
171
171
 
172
- <div id="method-M000132" class="method-detail">
173
- <a name="M000132"></a>
172
+ <div id="method-M000186" class="method-detail">
173
+ <a name="M000186"></a>
174
174
 
175
175
  <div class="method-heading">
176
- <a href="#M000132" class="method-signature">
176
+ <a href="#M000186" class="method-signature">
177
177
  <span class="method-name">translate</span><span class="method-args">(stmt_list)</span>
178
178
  </a>
179
179
  </div>
180
180
 
181
181
  <div class="method-description">
182
182
  <p>
183
- .[abstract] translate list of <a href="Statement.html">Statement</a> into
184
- String and return it
183
+ .[abstract] <a href="Translator.html#M000186">translate</a> list of <a
184
+ href="Statement.html">Statement</a> into String and return it
185
185
  </p>
186
186
  <p><a class="source-toggle" href="#"
187
- onclick="toggleCode('M000132-source');return false;">[Source]</a></p>
188
- <div class="method-source-code" id="M000132-source">
187
+ onclick="toggleCode('M000186-source');return false;">[Source]</a></p>
188
+ <div class="method-source-code" id="M000186-source">
189
189
  <pre>
190
190
  <span class="ruby-comment cmt"># File kwartz/translator.rb, line 23</span>
191
191
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">translate</span>(<span class="ruby-identifier">stmt_list</span>)
@@ -196,23 +196,23 @@ String and return it
196
196
  </div>
197
197
  </div>
198
198
 
199
- <div id="method-M000135" class="method-detail">
200
- <a name="M000135"></a>
199
+ <div id="method-M000189" class="method-detail">
200
+ <a name="M000189"></a>
201
201
 
202
202
  <div class="method-heading">
203
- <a href="#M000135" class="method-signature">
203
+ <a href="#M000189" class="method-signature">
204
204
  <span class="method-name">translate_native_expr</span><span class="method-args">(expr)</span>
205
205
  </a>
206
206
  </div>
207
207
 
208
208
  <div class="method-description">
209
209
  <p>
210
- .[abstract] translate <a href="NativeExpression.html">NativeExpression</a>
211
- using visitor pattern
210
+ .[abstract] <a href="Translator.html#M000186">translate</a> <a
211
+ href="NativeExpression.html">NativeExpression</a> using visitor pattern
212
212
  </p>
213
213
  <p><a class="source-toggle" href="#"
214
- onclick="toggleCode('M000135-source');return false;">[Source]</a></p>
215
- <div class="method-source-code" id="M000135-source">
214
+ onclick="toggleCode('M000189-source');return false;">[Source]</a></p>
215
+ <div class="method-source-code" id="M000189-source">
216
216
  <pre>
217
217
  <span class="ruby-comment cmt"># File kwartz/translator.rb, line 41</span>
218
218
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">translate_native_expr</span>(<span class="ruby-identifier">expr</span>)
@@ -223,23 +223,23 @@ using visitor pattern
223
223
  </div>
224
224
  </div>
225
225
 
226
- <div id="method-M000133" class="method-detail">
227
- <a name="M000133"></a>
226
+ <div id="method-M000187" class="method-detail">
227
+ <a name="M000187"></a>
228
228
 
229
229
  <div class="method-heading">
230
- <a href="#M000133" class="method-signature">
230
+ <a href="#M000187" class="method-signature">
231
231
  <span class="method-name">translate_native_stmt</span><span class="method-args">(stmt)</span>
232
232
  </a>
233
233
  </div>
234
234
 
235
235
  <div class="method-description">
236
236
  <p>
237
- .[abstract] translate <a href="NativeStatement.html">NativeStatement</a>
238
- using visitor pattern
237
+ .[abstract] <a href="Translator.html#M000186">translate</a> <a
238
+ href="NativeStatement.html">NativeStatement</a> using visitor pattern
239
239
  </p>
240
240
  <p><a class="source-toggle" href="#"
241
- onclick="toggleCode('M000133-source');return false;">[Source]</a></p>
242
- <div class="method-source-code" id="M000133-source">
241
+ onclick="toggleCode('M000187-source');return false;">[Source]</a></p>
242
+ <div class="method-source-code" id="M000187-source">
243
243
  <pre>
244
244
  <span class="ruby-comment cmt"># File kwartz/translator.rb, line 29</span>
245
245
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">translate_native_stmt</span>(<span class="ruby-identifier">stmt</span>)
@@ -250,23 +250,23 @@ using visitor pattern
250
250
  </div>
251
251
  </div>
252
252
 
253
- <div id="method-M000134" class="method-detail">
254
- <a name="M000134"></a>
253
+ <div id="method-M000188" class="method-detail">
254
+ <a name="M000188"></a>
255
255
 
256
256
  <div class="method-heading">
257
- <a href="#M000134" class="method-signature">
257
+ <a href="#M000188" class="method-signature">
258
258
  <span class="method-name">translate_print_stmt</span><span class="method-args">(stmt)</span>
259
259
  </a>
260
260
  </div>
261
261
 
262
262
  <div class="method-description">
263
263
  <p>
264
- .[abstract] translate <a href="PrintStatement.html">PrintStatement</a>
265
- using visitor pattern
264
+ .[abstract] <a href="Translator.html#M000186">translate</a> <a
265
+ href="PrintStatement.html">PrintStatement</a> using visitor pattern
266
266
  </p>
267
267
  <p><a class="source-toggle" href="#"
268
- onclick="toggleCode('M000134-source');return false;">[Source]</a></p>
269
- <div class="method-source-code" id="M000134-source">
268
+ onclick="toggleCode('M000188-source');return false;">[Source]</a></p>
269
+ <div class="method-source-code" id="M000188-source">
270
270
  <pre>
271
271
  <span class="ruby-comment cmt"># File kwartz/translator.rb, line 35</span>
272
272
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">translate_print_stmt</span>(<span class="ruby-identifier">stmt</span>)
@@ -277,22 +277,23 @@ using visitor pattern
277
277
  </div>
278
278
  </div>
279
279
 
280
- <div id="method-M000136" class="method-detail">
281
- <a name="M000136"></a>
280
+ <div id="method-M000190" class="method-detail">
281
+ <a name="M000190"></a>
282
282
 
283
283
  <div class="method-heading">
284
- <a href="#M000136" class="method-signature">
284
+ <a href="#M000190" class="method-signature">
285
285
  <span class="method-name">translate_string</span><span class="method-args">(str)</span>
286
286
  </a>
287
287
  </div>
288
288
 
289
289
  <div class="method-description">
290
290
  <p>
291
- .[abstract] translate String using visitor pattern
291
+ .[abstract] <a href="Translator.html#M000186">translate</a> String using
292
+ visitor pattern
292
293
  </p>
293
294
  <p><a class="source-toggle" href="#"
294
- onclick="toggleCode('M000136-source');return false;">[Source]</a></p>
295
- <div class="method-source-code" id="M000136-source">
295
+ onclick="toggleCode('M000190-source');return false;">[Source]</a></p>
296
+ <div class="method-source-code" id="M000190-source">
296
297
  <pre>
297
298
  <span class="ruby-comment cmt"># File kwartz/translator.rb, line 47</span>
298
299
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">translate_string</span>(<span class="ruby-identifier">str</span>)