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="#M000057">new</a>&nbsp;&nbsp;
98
- <a href="#M000058">translate_string</a>&nbsp;&nbsp;
97
+ <a href="#M000212">new</a>&nbsp;&nbsp;
98
+ <a href="#M000213">translate_string</a>&nbsp;&nbsp;
99
99
  </div>
100
100
  </div>
101
101
 
@@ -103,6 +103,13 @@ translator for php
103
103
 
104
104
 
105
105
  <!-- if includes -->
106
+ <div id="includes">
107
+ <h3 class="section-bar">Included Modules</h3>
108
+
109
+ <div id="includes-list">
110
+ <span class="include-name"><a href="PhpExpressionParser.html">PhpExpressionParser</a></span>
111
+ </div>
112
+ </div>
106
113
 
107
114
  <div id="section">
108
115
 
@@ -130,21 +137,21 @@ translator for php
130
137
  <div id="methods">
131
138
  <h3 class="section-bar">Public Class methods</h3>
132
139
 
133
- <div id="method-M000057" class="method-detail">
134
- <a name="M000057"></a>
140
+ <div id="method-M000212" class="method-detail">
141
+ <a name="M000212"></a>
135
142
 
136
143
  <div class="method-heading">
137
- <a href="#M000057" class="method-signature">
144
+ <a href="#M000212" class="method-signature">
138
145
  <span class="method-name">new</span><span class="method-args">(properties={})</span>
139
146
  </a>
140
147
  </div>
141
148
 
142
149
  <div class="method-description">
143
150
  <p><a class="source-toggle" href="#"
144
- onclick="toggleCode('M000057-source');return false;">[Source]</a></p>
145
- <div class="method-source-code" id="M000057-source">
151
+ onclick="toggleCode('M000212-source');return false;">[Source]</a></p>
152
+ <div class="method-source-code" id="M000212-source">
146
153
  <pre>
147
- <span class="ruby-comment cmt"># File kwartz/binding/php.rb, line 170</span>
154
+ <span class="ruby-comment cmt"># File kwartz/binding/php.rb, line 210</span>
148
155
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">properties</span>={})
149
156
  <span class="ruby-keyword kw">super</span>(<span class="ruby-constant">PHP_EMBED_PATTERNS</span>, <span class="ruby-identifier">properties</span>)
150
157
  <span class="ruby-keyword kw">end</span>
@@ -155,21 +162,21 @@ translator for php
155
162
 
156
163
  <h3 class="section-bar">Public Instance methods</h3>
157
164
 
158
- <div id="method-M000058" class="method-detail">
159
- <a name="M000058"></a>
165
+ <div id="method-M000213" class="method-detail">
166
+ <a name="M000213"></a>
160
167
 
161
168
  <div class="method-heading">
162
- <a href="#M000058" class="method-signature">
169
+ <a href="#M000213" class="method-signature">
163
170
  <span class="method-name">translate_string</span><span class="method-args">(str)</span>
164
171
  </a>
165
172
  </div>
166
173
 
167
174
  <div class="method-description">
168
175
  <p><a class="source-toggle" href="#"
169
- onclick="toggleCode('M000058-source');return false;">[Source]</a></p>
170
- <div class="method-source-code" id="M000058-source">
176
+ onclick="toggleCode('M000213-source');return false;">[Source]</a></p>
177
+ <div class="method-source-code" id="M000213-source">
171
178
  <pre>
172
- <span class="ruby-comment cmt"># File kwartz/binding/php.rb, line 175</span>
179
+ <span class="ruby-comment cmt"># File kwartz/binding/php.rb, line 215</span>
173
180
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">translate_string</span>(<span class="ruby-identifier">str</span>)
174
181
  <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/&lt;\?xml/</span>, <span class="ruby-value str">'&lt;&lt;?php ?&gt;?xml'</span>)
175
182
  <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">str</span>)
@@ -92,24 +92,24 @@
92
92
  <h3 class="section-bar">Methods</h3>
93
93
 
94
94
  <div class="name-list">
95
- <a href="#M000182">_parse_block</a>&nbsp;&nbsp;
96
- <a href="#M000169">escape?</a>&nbsp;&nbsp;
97
- <a href="#M000184">get_class</a>&nbsp;&nbsp;
98
- <a href="#M000170">getch</a>&nbsp;&nbsp;
99
- <a href="#M000176">keywords</a>&nbsp;&nbsp;
100
- <a href="#M000167">new</a>&nbsp;&nbsp;
101
- <a href="#M000181">parse</a>&nbsp;&nbsp;
102
- <a href="#M000180">parse_error</a>&nbsp;&nbsp;
103
- <a href="#M000183">register_class</a>&nbsp;&nbsp;
104
- <a href="#M000168">reset</a>&nbsp;&nbsp;
105
- <a href="#M000177">scan</a>&nbsp;&nbsp;
106
- <a href="#M000178">scan_block</a>&nbsp;&nbsp;
107
- <a href="#M000175">scan_hook</a>&nbsp;&nbsp;
108
- <a href="#M000171">scan_ident</a>&nbsp;&nbsp;
109
- <a href="#M000179">scan_line</a>&nbsp;&nbsp;
110
- <a href="#M000173">scan_string</a>&nbsp;&nbsp;
111
- <a href="#M000172">scan_string_dquoted</a>&nbsp;&nbsp;
112
- <a href="#M000174">scan_string_quoted</a>&nbsp;&nbsp;
95
+ <a href="#M000173">_parse_block</a>&nbsp;&nbsp;
96
+ <a href="#M000160">escape?</a>&nbsp;&nbsp;
97
+ <a href="#M000175">get_class</a>&nbsp;&nbsp;
98
+ <a href="#M000161">getch</a>&nbsp;&nbsp;
99
+ <a href="#M000167">keywords</a>&nbsp;&nbsp;
100
+ <a href="#M000158">new</a>&nbsp;&nbsp;
101
+ <a href="#M000172">parse</a>&nbsp;&nbsp;
102
+ <a href="#M000171">parse_error</a>&nbsp;&nbsp;
103
+ <a href="#M000174">register_class</a>&nbsp;&nbsp;
104
+ <a href="#M000159">reset</a>&nbsp;&nbsp;
105
+ <a href="#M000168">scan</a>&nbsp;&nbsp;
106
+ <a href="#M000169">scan_block</a>&nbsp;&nbsp;
107
+ <a href="#M000166">scan_hook</a>&nbsp;&nbsp;
108
+ <a href="#M000162">scan_ident</a>&nbsp;&nbsp;
109
+ <a href="#M000170">scan_line</a>&nbsp;&nbsp;
110
+ <a href="#M000164">scan_string</a>&nbsp;&nbsp;
111
+ <a href="#M000163">scan_string_dquoted</a>&nbsp;&nbsp;
112
+ <a href="#M000165">scan_string_quoted</a>&nbsp;&nbsp;
113
113
  </div>
114
114
  </div>
115
115
 
@@ -195,21 +195,21 @@
195
195
  <div id="methods">
196
196
  <h3 class="section-bar">Public Class methods</h3>
197
197
 
198
- <div id="method-M000184" class="method-detail">
199
- <a name="M000184"></a>
198
+ <div id="method-M000175" class="method-detail">
199
+ <a name="M000175"></a>
200
200
 
201
201
  <div class="method-heading">
202
- <a href="#M000184" class="method-signature">
202
+ <a href="#M000175" class="method-signature">
203
203
  <span class="method-name">get_class</span><span class="method-args">(css)</span>
204
204
  </a>
205
205
  </div>
206
206
 
207
207
  <div class="method-description">
208
208
  <p><a class="source-toggle" href="#"
209
- onclick="toggleCode('M000184-source');return false;">[Source]</a></p>
210
- <div class="method-source-code" id="M000184-source">
209
+ onclick="toggleCode('M000175-source');return false;">[Source]</a></p>
210
+ <div class="method-source-code" id="M000175-source">
211
211
  <pre>
212
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 374</span>
212
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 376</span>
213
213
  <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">css</span>)
214
214
  <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@@class_table</span>[<span class="ruby-identifier">css</span>]
215
215
  <span class="ruby-keyword kw">end</span>
@@ -218,19 +218,19 @@
218
218
  </div>
219
219
  </div>
220
220
 
221
- <div id="method-M000167" class="method-detail">
222
- <a name="M000167"></a>
221
+ <div id="method-M000158" class="method-detail">
222
+ <a name="M000158"></a>
223
223
 
224
224
  <div class="method-heading">
225
- <a href="#M000167" class="method-signature">
225
+ <a href="#M000158" class="method-signature">
226
226
  <span class="method-name">new</span><span class="method-args">(properties={})</span>
227
227
  </a>
228
228
  </div>
229
229
 
230
230
  <div class="method-description">
231
231
  <p><a class="source-toggle" href="#"
232
- onclick="toggleCode('M000167-source');return false;">[Source]</a></p>
233
- <div class="method-source-code" id="M000167-source">
232
+ onclick="toggleCode('M000158-source');return false;">[Source]</a></p>
233
+ <div class="method-source-code" id="M000158-source">
234
234
  <pre>
235
235
  <span class="ruby-comment cmt"># File kwartz/parser.rb, line 65</span>
236
236
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">properties</span>={})
@@ -241,21 +241,21 @@
241
241
  </div>
242
242
  </div>
243
243
 
244
- <div id="method-M000183" class="method-detail">
245
- <a name="M000183"></a>
244
+ <div id="method-M000174" class="method-detail">
245
+ <a name="M000174"></a>
246
246
 
247
247
  <div class="method-heading">
248
- <a href="#M000183" class="method-signature">
248
+ <a href="#M000174" class="method-signature">
249
249
  <span class="method-name">register_class</span><span class="method-args">(css, klass)</span>
250
250
  </a>
251
251
  </div>
252
252
 
253
253
  <div class="method-description">
254
254
  <p><a class="source-toggle" href="#"
255
- onclick="toggleCode('M000183-source');return false;">[Source]</a></p>
256
- <div class="method-source-code" id="M000183-source">
255
+ onclick="toggleCode('M000174-source');return false;">[Source]</a></p>
256
+ <div class="method-source-code" id="M000174-source">
257
257
  <pre>
258
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 369</span>
258
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 371</span>
259
259
  <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">css</span>, <span class="ruby-identifier">klass</span>)
260
260
  <span class="ruby-ivar">@@class_table</span>[<span class="ruby-identifier">css</span>] = <span class="ruby-identifier">klass</span>
261
261
  <span class="ruby-keyword kw">end</span>
@@ -266,21 +266,21 @@
266
266
 
267
267
  <h3 class="section-bar">Public Instance methods</h3>
268
268
 
269
- <div id="method-M000182" class="method-detail">
270
- <a name="M000182"></a>
269
+ <div id="method-M000173" class="method-detail">
270
+ <a name="M000173"></a>
271
271
 
272
272
  <div class="method-heading">
273
- <a href="#M000182" class="method-signature">
273
+ <a href="#M000173" class="method-signature">
274
274
  <span class="method-name">_parse_block</span><span class="method-args">()</span>
275
275
  </a>
276
276
  </div>
277
277
 
278
278
  <div class="method-description">
279
279
  <p><a class="source-toggle" href="#"
280
- onclick="toggleCode('M000182-source');return false;">[Source]</a></p>
281
- <div class="method-source-code" id="M000182-source">
280
+ onclick="toggleCode('M000173-source');return false;">[Source]</a></p>
281
+ <div class="method-source-code" id="M000173-source">
282
282
  <pre>
283
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 346</span>
283
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 348</span>
284
284
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_parse_block</span>
285
285
  <span class="ruby-identifier">scan</span>()
286
286
  <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>
@@ -304,19 +304,19 @@
304
304
  </div>
305
305
  </div>
306
306
 
307
- <div id="method-M000169" class="method-detail">
308
- <a name="M000169"></a>
307
+ <div id="method-M000160" class="method-detail">
308
+ <a name="M000160"></a>
309
309
 
310
310
  <div class="method-heading">
311
- <a href="#M000169" class="method-signature">
311
+ <a href="#M000160" class="method-signature">
312
312
  <span class="method-name">escape?</span><span class="method-args">(value)</span>
313
313
  </a>
314
314
  </div>
315
315
 
316
316
  <div class="method-description">
317
317
  <p><a class="source-toggle" href="#"
318
- onclick="toggleCode('M000169-source');return false;">[Source]</a></p>
319
- <div class="method-source-code" id="M000169-source">
318
+ onclick="toggleCode('M000160-source');return false;">[Source]</a></p>
319
+ <div class="method-source-code" id="M000160-source">
320
320
  <pre>
321
321
  <span class="ruby-comment cmt"># File kwartz/parser.rb, line 113</span>
322
322
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">escape?</span>(<span class="ruby-identifier">value</span>)
@@ -327,11 +327,11 @@
327
327
  </div>
328
328
  </div>
329
329
 
330
- <div id="method-M000170" class="method-detail">
331
- <a name="M000170"></a>
330
+ <div id="method-M000161" class="method-detail">
331
+ <a name="M000161"></a>
332
332
 
333
333
  <div class="method-heading">
334
- <a href="#M000170" class="method-signature">
334
+ <a href="#M000161" class="method-signature">
335
335
  <span class="method-name">getch</span><span class="method-args">()</span>
336
336
  </a>
337
337
  </div>
@@ -341,8 +341,8 @@
341
341
  scanner
342
342
  </p>
343
343
  <p><a class="source-toggle" href="#"
344
- onclick="toggleCode('M000170-source');return false;">[Source]</a></p>
345
- <div class="method-source-code" id="M000170-source">
344
+ onclick="toggleCode('M000161-source');return false;">[Source]</a></p>
345
+ <div class="method-source-code" id="M000161-source">
346
346
  <pre>
347
347
  <span class="ruby-comment cmt"># File kwartz/parser.rb, line 120</span>
348
348
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getch</span>
@@ -361,27 +361,28 @@ scanner
361
361
  </div>
362
362
  </div>
363
363
 
364
- <div id="method-M000176" class="method-detail">
365
- <a name="M000176"></a>
364
+ <div id="method-M000167" class="method-detail">
365
+ <a name="M000167"></a>
366
366
 
367
367
  <div class="method-heading">
368
- <a href="#M000176" class="method-signature">
368
+ <a href="#M000167" class="method-signature">
369
369
  <span class="method-name">keywords</span><span class="method-args">(keyword)</span>
370
370
  </a>
371
371
  </div>
372
372
 
373
373
  <div class="method-description">
374
374
  <p>
375
- .[abstract] detect parser-specific keywords
375
+ .[abstract] detect parser-specific <a
376
+ href="PresentationLogicParser.html#M000167">keywords</a>
376
377
  </p>
377
378
  <p>
378
379
  return symbol if keyword is token, else return nil
379
380
  </p>
380
381
  <p><a class="source-toggle" href="#"
381
- onclick="toggleCode('M000176-source');return false;">[Source]</a></p>
382
- <div class="method-source-code" id="M000176-source">
382
+ onclick="toggleCode('M000167-source');return false;">[Source]</a></p>
383
+ <div class="method-source-code" id="M000167-source">
383
384
  <pre>
384
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 224</span>
385
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 225</span>
385
386
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">keywords</span>(<span class="ruby-identifier">keyword</span>)
386
387
  <span class="ruby-identifier">not_implemented</span>
387
388
  <span class="ruby-keyword kw">end</span>
@@ -390,25 +391,25 @@ return symbol if keyword is token, else return nil
390
391
  </div>
391
392
  </div>
392
393
 
393
- <div id="method-M000181" class="method-detail">
394
- <a name="M000181"></a>
394
+ <div id="method-M000172" class="method-detail">
395
+ <a name="M000172"></a>
395
396
 
396
397
  <div class="method-heading">
397
- <a href="#M000181" class="method-signature">
398
+ <a href="#M000172" class="method-signature">
398
399
  <span class="method-name">parse</span><span class="method-args">(input, filename='')</span>
399
400
  </a>
400
401
  </div>
401
402
 
402
403
  <div class="method-description">
403
404
  <p>
404
- .[abstract] parse input string and return list of <a
405
- href="ElementRuleset.html">ElementRuleset</a>
405
+ .[abstract] <a href="PresentationLogicParser.html#M000172">parse</a> input
406
+ string and return list of ElementRuleset
406
407
  </p>
407
408
  <p><a class="source-toggle" href="#"
408
- onclick="toggleCode('M000181-source');return false;">[Source]</a></p>
409
- <div class="method-source-code" id="M000181-source">
409
+ onclick="toggleCode('M000172-source');return false;">[Source]</a></p>
410
+ <div class="method-source-code" id="M000172-source">
410
411
  <pre>
411
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 341</span>
412
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 343</span>
412
413
  <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>)
413
414
  <span class="ruby-identifier">not_implemented</span>
414
415
  <span class="ruby-keyword kw">end</span>
@@ -417,11 +418,11 @@ href="ElementRuleset.html">ElementRuleset</a>
417
418
  </div>
418
419
  </div>
419
420
 
420
- <div id="method-M000180" class="method-detail">
421
- <a name="M000180"></a>
421
+ <div id="method-M000171" class="method-detail">
422
+ <a name="M000171"></a>
422
423
 
423
424
  <div class="method-heading">
424
- <a href="#M000180" class="method-signature">
425
+ <a href="#M000171" class="method-signature">
425
426
  <span class="method-name">parse_error</span><span class="method-args">(message, linenum=@linenum, column=@column)</span>
426
427
  </a>
427
428
  </div>
@@ -431,10 +432,10 @@ href="ElementRuleset.html">ElementRuleset</a>
431
432
  parser
432
433
  </p>
433
434
  <p><a class="source-toggle" href="#"
434
- onclick="toggleCode('M000180-source');return false;">[Source]</a></p>
435
- <div class="method-source-code" id="M000180-source">
435
+ onclick="toggleCode('M000171-source');return false;">[Source]</a></p>
436
+ <div class="method-source-code" id="M000171-source">
436
437
  <pre>
437
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 335</span>
438
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 337</span>
438
439
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_error</span>(<span class="ruby-identifier">message</span>, <span class="ruby-identifier">linenum</span>=<span class="ruby-ivar">@linenum</span>, <span class="ruby-identifier">column</span>=<span class="ruby-ivar">@column</span>)
439
440
  <span class="ruby-keyword kw">return</span> <span class="ruby-constant">ParseError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">message</span>, <span class="ruby-ivar">@filename</span>, <span class="ruby-identifier">linenum</span>, <span class="ruby-identifier">column</span>)
440
441
  <span class="ruby-keyword kw">end</span>
@@ -443,24 +444,24 @@ parser
443
444
  </div>
444
445
  </div>
445
446
 
446
- <div id="method-M000177" class="method-detail">
447
- <a name="M000177"></a>
447
+ <div id="method-M000168" class="method-detail">
448
+ <a name="M000168"></a>
448
449
 
449
450
  <div class="method-heading">
450
- <a href="#M000177" class="method-signature">
451
+ <a href="#M000168" class="method-signature">
451
452
  <span class="method-name">scan</span><span class="method-args">()</span>
452
453
  </a>
453
454
  </div>
454
455
 
455
456
  <div class="method-description">
456
457
  <p>
457
- scan token
458
+ <a href="PresentationLogicParser.html#M000168">scan</a> token
458
459
  </p>
459
460
  <p><a class="source-toggle" href="#"
460
- onclick="toggleCode('M000177-source');return false;">[Source]</a></p>
461
- <div class="method-source-code" id="M000177-source">
461
+ onclick="toggleCode('M000168-source');return false;">[Source]</a></p>
462
+ <div class="method-source-code" id="M000168-source">
462
463
  <pre>
463
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 229</span>
464
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 231</span>
464
465
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scan</span>
465
466
  <span class="ruby-comment cmt">## skip whitespaces</span>
466
467
  <span class="ruby-identifier">c</span> = <span class="ruby-ivar">@ch</span>
@@ -526,21 +527,21 @@ scan token
526
527
  </div>
527
528
  </div>
528
529
 
529
- <div id="method-M000178" class="method-detail">
530
- <a name="M000178"></a>
530
+ <div id="method-M000169" class="method-detail">
531
+ <a name="M000169"></a>
531
532
 
532
533
  <div class="method-heading">
533
- <a href="#M000178" class="method-signature">
534
+ <a href="#M000169" class="method-signature">
534
535
  <span class="method-name">scan_block</span><span class="method-args">(skip_open_curly=false)</span>
535
536
  </a>
536
537
  </div>
537
538
 
538
539
  <div class="method-description">
539
540
  <p><a class="source-toggle" href="#"
540
- onclick="toggleCode('M000178-source');return false;">[Source]</a></p>
541
- <div class="method-source-code" id="M000178-source">
541
+ onclick="toggleCode('M000169-source');return false;">[Source]</a></p>
542
+ <div class="method-source-code" id="M000169-source">
542
543
  <pre>
543
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 291</span>
544
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 293</span>
544
545
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scan_block</span>(<span class="ruby-identifier">skip_open_curly</span>=<span class="ruby-keyword kw">false</span>)
545
546
  <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">skip_open_curly</span>
546
547
  <span class="ruby-identifier">token</span> = <span class="ruby-identifier">scan</span>()
@@ -574,22 +575,23 @@ scan token
574
575
  </div>
575
576
  </div>
576
577
 
577
- <div id="method-M000175" class="method-detail">
578
- <a name="M000175"></a>
578
+ <div id="method-M000166" class="method-detail">
579
+ <a name="M000166"></a>
579
580
 
580
581
  <div class="method-heading">
581
- <a href="#M000175" class="method-signature">
582
+ <a href="#M000166" class="method-signature">
582
583
  <span class="method-name">scan_hook</span><span class="method-args">()</span>
583
584
  </a>
584
585
  </div>
585
586
 
586
587
  <div class="method-description">
587
588
  <p>
588
- called from scan(), return false when not hooked
589
+ called from <a href="PresentationLogicParser.html#M000168">scan</a>(),
590
+ return false when not hooked
589
591
  </p>
590
592
  <p><a class="source-toggle" href="#"
591
- onclick="toggleCode('M000175-source');return false;">[Source]</a></p>
592
- <div class="method-source-code" id="M000175-source">
593
+ onclick="toggleCode('M000166-source');return false;">[Source]</a></p>
594
+ <div class="method-source-code" id="M000166-source">
593
595
  <pre>
594
596
  <span class="ruby-comment cmt"># File kwartz/parser.rb, line 217</span>
595
597
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scan_hook</span>
@@ -600,19 +602,19 @@ called from scan(), return false when not hooked
600
602
  </div>
601
603
  </div>
602
604
 
603
- <div id="method-M000171" class="method-detail">
604
- <a name="M000171"></a>
605
+ <div id="method-M000162" class="method-detail">
606
+ <a name="M000162"></a>
605
607
 
606
608
  <div class="method-heading">
607
- <a href="#M000171" class="method-signature">
609
+ <a href="#M000162" class="method-signature">
608
610
  <span class="method-name">scan_ident</span><span class="method-args">()</span>
609
611
  </a>
610
612
  </div>
611
613
 
612
614
  <div class="method-description">
613
615
  <p><a class="source-toggle" href="#"
614
- onclick="toggleCode('M000171-source');return false;">[Source]</a></p>
615
- <div class="method-source-code" id="M000171-source">
616
+ onclick="toggleCode('M000162-source');return false;">[Source]</a></p>
617
+ <div class="method-source-code" id="M000162-source">
616
618
  <pre>
617
619
  <span class="ruby-comment cmt"># File kwartz/parser.rb, line 133</span>
618
620
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scan_ident</span>
@@ -632,21 +634,21 @@ called from scan(), return false when not hooked
632
634
  </div>
633
635
  </div>
634
636
 
635
- <div id="method-M000179" class="method-detail">
636
- <a name="M000179"></a>
637
+ <div id="method-M000170" class="method-detail">
638
+ <a name="M000170"></a>
637
639
 
638
640
  <div class="method-heading">
639
- <a href="#M000179" class="method-signature">
641
+ <a href="#M000170" class="method-signature">
640
642
  <span class="method-name">scan_line</span><span class="method-args">()</span>
641
643
  </a>
642
644
  </div>
643
645
 
644
646
  <div class="method-description">
645
647
  <p><a class="source-toggle" href="#"
646
- onclick="toggleCode('M000179-source');return false;">[Source]</a></p>
647
- <div class="method-source-code" id="M000179-source">
648
+ onclick="toggleCode('M000170-source');return false;">[Source]</a></p>
649
+ <div class="method-source-code" id="M000170-source">
648
650
  <pre>
649
- <span class="ruby-comment cmt"># File kwartz/parser.rb, line 321</span>
651
+ <span class="ruby-comment cmt"># File kwartz/parser.rb, line 323</span>
650
652
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scan_line</span>
651
653
  <span class="ruby-identifier">sb</span> = <span class="ruby-ivar">@ch</span>.<span class="ruby-identifier">chr</span>
652
654
  <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">c</span> = <span class="ruby-identifier">getch</span>()) <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">!=</span> <span class="ruby-value">?\n</span>
@@ -661,19 +663,19 @@ called from scan(), return false when not hooked
661
663
  </div>
662
664
  </div>
663
665
 
664
- <div id="method-M000173" class="method-detail">
665
- <a name="M000173"></a>
666
+ <div id="method-M000164" class="method-detail">
667
+ <a name="M000164"></a>
666
668
 
667
669
  <div class="method-heading">
668
- <a href="#M000173" class="method-signature">
670
+ <a href="#M000164" class="method-signature">
669
671
  <span class="method-name">scan_string</span><span class="method-args">()</span>
670
672
  </a>
671
673
  </div>
672
674
 
673
675
  <div class="method-description">
674
676
  <p><a class="source-toggle" href="#"
675
- onclick="toggleCode('M000173-source');return false;">[Source]</a></p>
676
- <div class="method-source-code" id="M000173-source">
677
+ onclick="toggleCode('M000164-source');return false;">[Source]</a></p>
678
+ <div class="method-source-code" id="M000164-source">
677
679
  <pre>
678
680
  <span class="ruby-comment cmt"># File kwartz/parser.rb, line 178</span>
679
681
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scan_string</span>
@@ -690,19 +692,19 @@ called from scan(), return false when not hooked
690
692
  </div>
691
693
  </div>
692
694
 
693
- <div id="method-M000172" class="method-detail">
694
- <a name="M000172"></a>
695
+ <div id="method-M000163" class="method-detail">
696
+ <a name="M000163"></a>
695
697
 
696
698
  <div class="method-heading">
697
- <a href="#M000172" class="method-signature">
699
+ <a href="#M000163" class="method-signature">
698
700
  <span class="method-name">scan_string_dquoted</span><span class="method-args">()</span>
699
701
  </a>
700
702
  </div>
701
703
 
702
704
  <div class="method-description">
703
705
  <p><a class="source-toggle" href="#"
704
- onclick="toggleCode('M000172-source');return false;">[Source]</a></p>
705
- <div class="method-source-code" id="M000172-source">
706
+ onclick="toggleCode('M000163-source');return false;">[Source]</a></p>
707
+ <div class="method-source-code" id="M000163-source">
706
708
  <pre>
707
709
  <span class="ruby-comment cmt"># File kwartz/parser.rb, line 147</span>
708
710
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scan_string_dquoted</span>
@@ -739,19 +741,19 @@ called from scan(), return false when not hooked
739
741
  </div>
740
742
  </div>
741
743
 
742
- <div id="method-M000174" class="method-detail">
743
- <a name="M000174"></a>
744
+ <div id="method-M000165" class="method-detail">
745
+ <a name="M000165"></a>
744
746
 
745
747
  <div class="method-heading">
746
- <a href="#M000174" class="method-signature">
748
+ <a href="#M000165" class="method-signature">
747
749
  <span class="method-name">scan_string_quoted</span><span class="method-args">()</span>
748
750
  </a>
749
751
  </div>
750
752
 
751
753
  <div class="method-description">
752
754
  <p><a class="source-toggle" href="#"
753
- onclick="toggleCode('M000174-source');return false;">[Source]</a></p>
754
- <div class="method-source-code" id="M000174-source">
755
+ onclick="toggleCode('M000165-source');return false;">[Source]</a></p>
756
+ <div class="method-source-code" id="M000165-source">
755
757
  <pre>
756
758
  <span class="ruby-comment cmt"># File kwartz/parser.rb, line 189</span>
757
759
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scan_string_quoted</span>
@@ -786,22 +788,23 @@ called from scan(), return false when not hooked
786
788
 
787
789
  <h3 class="section-bar">Protected Instance methods</h3>
788
790
 
789
- <div id="method-M000168" class="method-detail">
790
- <a name="M000168"></a>
791
+ <div id="method-M000159" class="method-detail">
792
+ <a name="M000159"></a>
791
793
 
792
794
  <div class="method-heading">
793
- <a href="#M000168" class="method-signature">
795
+ <a href="#M000159" class="method-signature">
794
796
  <span class="method-name">reset</span><span class="method-args">(input, filename='')</span>
795
797
  </a>
796
798
  </div>
797
799
 
798
800
  <div class="method-description">
799
801
  <p>
800
- called from parse() and initialize parser object
802
+ called from <a href="PresentationLogicParser.html#M000172">parse</a>() and
803
+ initialize parser object
801
804
  </p>
802
805
  <p><a class="source-toggle" href="#"
803
- onclick="toggleCode('M000168-source');return false;">[Source]</a></p>
804
- <div class="method-source-code" id="M000168-source">
806
+ onclick="toggleCode('M000159-source');return false;">[Source]</a></p>
807
+ <div class="method-source-code" id="M000159-source">
805
808
  <pre>
806
809
  <span class="ruby-comment cmt"># File kwartz/parser.rb, line 71</span>
807
810
  <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>=<span class="ruby-value str">''</span>)