kwartz 3.1.2 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,612 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: Kwartz::ElementRuleset</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">Kwartz::ElementRuleset</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/kwartz/node_rb.html">
59
- kwartz/node.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- <tr class="top-aligned-row">
66
- <td><strong>Parent:</strong></td>
67
- <td>
68
- <a href="Ruleset.html">
69
- Ruleset
70
- </a>
71
- </td>
72
- </tr>
73
- </table>
74
- </div>
75
- <!-- banner header -->
76
-
77
- <div id="bodyContent">
78
-
79
-
80
-
81
- <div id="contextContent">
82
-
83
- <div id="description">
84
- <p>
85
- represents &#8216;name { &#8230; }&#8217; entry in presentation logic file
86
- </p>
87
-
88
- </div>
89
-
90
-
91
- </div>
92
-
93
- <div id="method-list">
94
- <h3 class="section-bar">Methods</h3>
95
-
96
- <div class="name-list">
97
- <a href="#M000111">_inspect</a>&nbsp;&nbsp;
98
- <a href="#M000110">duplicate</a>&nbsp;&nbsp;
99
- <a href="#M000099">new</a>&nbsp;&nbsp;
100
- <a href="#M000112">parse_error</a>&nbsp;&nbsp;
101
- <a href="#M000106">set_append</a>&nbsp;&nbsp;
102
- <a href="#M000105">set_attrs</a>&nbsp;&nbsp;
103
- <a href="#M000101">set_cont</a>&nbsp;&nbsp;
104
- <a href="#M000103">set_elem</a>&nbsp;&nbsp;
105
- <a href="#M000102">set_etag</a>&nbsp;&nbsp;
106
- <a href="#M000109">set_logic</a>&nbsp;&nbsp;
107
- <a href="#M000107">set_remove</a>&nbsp;&nbsp;
108
- <a href="#M000100">set_stag</a>&nbsp;&nbsp;
109
- <a href="#M000108">set_tagname</a>&nbsp;&nbsp;
110
- <a href="#M000104">set_value</a>&nbsp;&nbsp;
111
- </div>
112
- </div>
113
-
114
- </div>
115
-
116
-
117
- <!-- if includes -->
118
-
119
- <div id="section">
120
-
121
-
122
-
123
-
124
-
125
- <div id="attribute-list">
126
- <h3 class="section-bar">Attributes</h3>
127
-
128
- <div class="name-list">
129
- <table>
130
- <tr class="top-aligned-row context-row">
131
- <td class="context-item-name">append</td>
132
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
133
- <td class="context-item-desc"></td>
134
- </tr>
135
- <tr class="top-aligned-row context-row">
136
- <td class="context-item-name">attrs</td>
137
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
138
- <td class="context-item-desc"></td>
139
- </tr>
140
- <tr class="top-aligned-row context-row">
141
- <td class="context-item-name">cont</td>
142
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
143
- <td class="context-item-desc"></td>
144
- </tr>
145
- <tr class="top-aligned-row context-row">
146
- <td class="context-item-name">elem</td>
147
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
148
- <td class="context-item-desc"></td>
149
- </tr>
150
- <tr class="top-aligned-row context-row">
151
- <td class="context-item-name">etag</td>
152
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
153
- <td class="context-item-desc"></td>
154
- </tr>
155
- <tr class="top-aligned-row context-row">
156
- <td class="context-item-name">logic</td>
157
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
158
- <td class="context-item-desc"></td>
159
- </tr>
160
- <tr class="top-aligned-row context-row">
161
- <td class="context-item-name">name</td>
162
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
163
- <td class="context-item-desc"></td>
164
- </tr>
165
- <tr class="top-aligned-row context-row">
166
- <td class="context-item-name">remove</td>
167
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
168
- <td class="context-item-desc"></td>
169
- </tr>
170
- <tr class="top-aligned-row context-row">
171
- <td class="context-item-name">stag</td>
172
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
173
- <td class="context-item-desc"></td>
174
- </tr>
175
- <tr class="top-aligned-row context-row">
176
- <td class="context-item-name">tagname</td>
177
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
178
- <td class="context-item-desc"></td>
179
- </tr>
180
- <tr class="top-aligned-row context-row">
181
- <td class="context-item-name">value</td>
182
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
183
- <td class="context-item-desc"></td>
184
- </tr>
185
- </table>
186
- </div>
187
- </div>
188
-
189
-
190
-
191
- <!-- if method_list -->
192
- <div id="methods">
193
- <h3 class="section-bar">Public Class methods</h3>
194
-
195
- <div id="method-M000099" class="method-detail">
196
- <a name="M000099"></a>
197
-
198
- <div class="method-heading">
199
- <a href="#M000099" class="method-signature">
200
- <span class="method-name">new</span><span class="method-args">(name)</span>
201
- </a>
202
- </div>
203
-
204
- <div class="method-description">
205
- <p><a class="source-toggle" href="#"
206
- onclick="toggleCode('M000099-source');return false;">[Source]</a></p>
207
- <div class="method-source-code" id="M000099-source">
208
- <pre>
209
- <span class="ruby-comment cmt"># File kwartz/node.rb, line 216</span>
210
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>)
211
- <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
212
- <span class="ruby-keyword kw">end</span>
213
- </pre>
214
- </div>
215
- </div>
216
- </div>
217
-
218
- <h3 class="section-bar">Public Instance methods</h3>
219
-
220
- <div id="method-M000111" class="method-detail">
221
- <a name="M000111"></a>
222
-
223
- <div class="method-heading">
224
- <a href="#M000111" class="method-signature">
225
- <span class="method-name">_inspect</span><span class="method-args">(indent=0)</span>
226
- </a>
227
- </div>
228
-
229
- <div class="method-description">
230
- <p><a class="source-toggle" href="#"
231
- onclick="toggleCode('M000111-source');return false;">[Source]</a></p>
232
- <div class="method-source-code" id="M000111-source">
233
- <pre>
234
- <span class="ruby-comment cmt"># File kwartz/node.rb, line 326</span>
235
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_inspect</span>(<span class="ruby-identifier">indent</span>=<span class="ruby-value">0</span>)
236
- <span class="ruby-identifier">space</span> = <span class="ruby-value str">' '</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">indent</span>
237
- <span class="ruby-identifier">sb</span> = []
238
- <span class="ruby-identifier">sb</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">space</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;- name: #{@name}\n&quot;</span>
239
- <span class="ruby-comment cmt">#sb &lt;&lt; space &lt;&lt; &quot; value: #{@value == nil ? '' : @value}\n&quot;</span>
240
- <span class="ruby-identifier">sb</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">space</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; stag: #{@stag.code}\n&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@stag</span>.<span class="ruby-identifier">nil?</span>
241
- <span class="ruby-identifier">sb</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">space</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; cont: #{@cont.code}\n&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@cont</span>.<span class="ruby-identifier">nil?</span>
242
- <span class="ruby-identifier">sb</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">space</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; etag: #{@etag.code}\n&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@etag</span>.<span class="ruby-identifier">nil?</span>
243
- <span class="ruby-identifier">sb</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">space</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; elem: #{@elem.code}\n&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@elem</span>.<span class="ruby-identifier">nil?</span>
244
- <span class="ruby-comment cmt">#</span>
245
- <span class="ruby-identifier">sb</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">space</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; attrs:\n&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attrs</span>
246
- <span class="ruby-ivar">@attrs</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span><span class="ruby-operator">|</span>
247
- <span class="ruby-identifier">val</span> = <span class="ruby-ivar">@attrs</span>[<span class="ruby-identifier">key</span>]
248
- <span class="ruby-identifier">sb</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">space</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; - name: #{key}\n&quot;</span>
249
- <span class="ruby-identifier">sb</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">space</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; value: #{val.code}\n&quot;</span>
250
- <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attrs</span>
251
- <span class="ruby-comment cmt">#</span>
252
- <span class="ruby-identifier">sb</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">space</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; append:\n&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@append</span>
253
- <span class="ruby-ivar">@append</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">expr</span><span class="ruby-operator">|</span>
254
- <span class="ruby-identifier">sb</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">space</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; - #{expr.code}\n&quot;</span>
255
- <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@append</span>
256
- <span class="ruby-comment cmt">#</span>
257
- <span class="ruby-identifier">sb</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">space</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; remove:\n&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@remove</span>
258
- <span class="ruby-ivar">@remove</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
259
- <span class="ruby-identifier">sb</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">space</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; - #{name}\n&quot;</span>
260
- <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@remove</span>
261
- <span class="ruby-comment cmt">#</span>
262
- <span class="ruby-identifier">sb</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">space</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; tagname: #{@tagname}\n&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@tagname</span>.<span class="ruby-identifier">nil?</span>
263
- <span class="ruby-comment cmt">#</span>
264
- <span class="ruby-identifier">sb</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">space</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; logic:\n&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@logic</span>
265
- <span class="ruby-ivar">@logic</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">stmt</span><span class="ruby-operator">|</span>
266
- <span class="ruby-identifier">sb</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">space</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; - &quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">stmt</span>.<span class="ruby-identifier">_inspect</span>()
267
- <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@logic</span>
268
- <span class="ruby-comment cmt">#</span>
269
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">sb</span>.<span class="ruby-identifier">join</span>
270
- <span class="ruby-keyword kw">end</span>
271
- </pre>
272
- </div>
273
- </div>
274
- </div>
275
-
276
- <div id="method-M000110" class="method-detail">
277
- <a name="M000110"></a>
278
-
279
- <div class="method-heading">
280
- <a href="#M000110" class="method-signature">
281
- <span class="method-name">duplicate</span><span class="method-args">(name)</span>
282
- </a>
283
- </div>
284
-
285
- <div class="method-description">
286
- <p><a class="source-toggle" href="#"
287
- onclick="toggleCode('M000110-source');return false;">[Source]</a></p>
288
- <div class="method-source-code" id="M000110-source">
289
- <pre>
290
- <span class="ruby-comment cmt"># File kwartz/node.rb, line 315</span>
291
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">duplicate</span>(<span class="ruby-identifier">name</span>)
292
- <span class="ruby-identifier">ruleset</span> = <span class="ruby-identifier">dup</span>()
293
- <span class="ruby-identifier">ruleset</span>.<span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>
294
- <span class="ruby-identifier">ruleset</span>.<span class="ruby-identifier">attrs</span> = <span class="ruby-ivar">@attrs</span>.<span class="ruby-identifier">dup</span>() <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attrs</span>
295
- <span class="ruby-identifier">ruleset</span>.<span class="ruby-identifier">append</span> = <span class="ruby-ivar">@append</span>.<span class="ruby-identifier">dup</span>() <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@append</span>
296
- <span class="ruby-identifier">ruleset</span>.<span class="ruby-identifier">remove</span> = <span class="ruby-ivar">@remove</span>.<span class="ruby-identifier">dup</span>() <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@remove</span>
297
- <span class="ruby-identifier">ruleset</span>.<span class="ruby-identifier">logic</span> = <span class="ruby-ivar">@logic</span>.<span class="ruby-identifier">dup</span>() <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@logic</span>
298
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">ruleset</span>
299
- <span class="ruby-keyword kw">end</span>
300
- </pre>
301
- </div>
302
- </div>
303
- </div>
304
-
305
- <div id="method-M000106" class="method-detail">
306
- <a name="M000106"></a>
307
-
308
- <div class="method-heading">
309
- <a href="#M000106" class="method-signature">
310
- <span class="method-name">set_append</span><span class="method-args">(list, escape_flag=nil)</span>
311
- </a>
312
- </div>
313
-
314
- <div class="method-description">
315
- <p><a class="source-toggle" href="#"
316
- onclick="toggleCode('M000106-source');return false;">[Source]</a></p>
317
- <div class="method-source-code" id="M000106-source">
318
- <pre>
319
- <span class="ruby-comment cmt"># File kwartz/node.rb, line 259</span>
320
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_append</span>(<span class="ruby-identifier">list</span>, <span class="ruby-identifier">escape_flag</span>=<span class="ruby-keyword kw">nil</span>)
321
- <span class="ruby-identifier">list</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">expr_str</span><span class="ruby-operator">|</span>
322
- <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">expr_str</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">expr_str</span>.<span class="ruby-identifier">empty?</span>
323
- <span class="ruby-ivar">@append</span> <span class="ruby-operator">||=</span> []
324
- <span class="ruby-ivar">@append</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">NativeExpression</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">expr_str</span>, <span class="ruby-identifier">escape_flag</span>)
325
- <span class="ruby-keyword kw">end</span>
326
- <span class="ruby-keyword kw">end</span>
327
- </pre>
328
- </div>
329
- </div>
330
- </div>
331
-
332
- <div id="method-M000105" class="method-detail">
333
- <a name="M000105"></a>
334
-
335
- <div class="method-heading">
336
- <a href="#M000105" class="method-signature">
337
- <span class="method-name">set_attrs</span><span class="method-args">(hash, escape_flag=nil)</span>
338
- </a>
339
- </div>
340
-
341
- <div class="method-description">
342
- <p><a class="source-toggle" href="#"
343
- onclick="toggleCode('M000105-source');return false;">[Source]</a></p>
344
- <div class="method-source-code" id="M000105-source">
345
- <pre>
346
- <span class="ruby-comment cmt"># File kwartz/node.rb, line 250</span>
347
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_attrs</span>(<span class="ruby-identifier">hash</span>, <span class="ruby-identifier">escape_flag</span>=<span class="ruby-keyword kw">nil</span>)
348
- <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">expr_str</span><span class="ruby-operator">|</span>
349
- <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">expr_str</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">expr_str</span>.<span class="ruby-identifier">empty?</span>
350
- <span class="ruby-ivar">@attrs</span> <span class="ruby-operator">||=</span> {}
351
- <span class="ruby-ivar">@attrs</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-constant">NativeExpression</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">expr_str</span>, <span class="ruby-identifier">escape_flag</span>)
352
- <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hash</span>
353
- <span class="ruby-keyword kw">end</span>
354
- </pre>
355
- </div>
356
- </div>
357
- </div>
358
-
359
- <div id="method-M000101" class="method-detail">
360
- <a name="M000101"></a>
361
-
362
- <div class="method-heading">
363
- <a href="#M000101" class="method-signature">
364
- <span class="method-name">set_cont</span><span class="method-args">(str, escape_flag=nil)</span>
365
- </a>
366
- </div>
367
-
368
- <div class="method-description">
369
- <p><a class="source-toggle" href="#"
370
- onclick="toggleCode('M000101-source');return false;">[Source]</a></p>
371
- <div class="method-source-code" id="M000101-source">
372
- <pre>
373
- <span class="ruby-comment cmt"># File kwartz/node.rb, line 230</span>
374
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_cont</span>(<span class="ruby-identifier">str</span>, <span class="ruby-identifier">escape_flag</span>=<span class="ruby-keyword kw">nil</span>)
375
- <span class="ruby-ivar">@cont</span> = <span class="ruby-constant">NativeExpression</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">str</span>, <span class="ruby-identifier">escape_flag</span>)
376
- <span class="ruby-keyword kw">end</span>
377
- </pre>
378
- </div>
379
- </div>
380
- </div>
381
-
382
- <div id="method-M000103" class="method-detail">
383
- <a name="M000103"></a>
384
-
385
- <div class="method-heading">
386
- <a href="#M000103" class="method-signature">
387
- <span class="method-name">set_elem</span><span class="method-args">(str, escape_flag=nil)</span>
388
- </a>
389
- </div>
390
-
391
- <div class="method-description">
392
- <p><a class="source-toggle" href="#"
393
- onclick="toggleCode('M000103-source');return false;">[Source]</a></p>
394
- <div class="method-source-code" id="M000103-source">
395
- <pre>
396
- <span class="ruby-comment cmt"># File kwartz/node.rb, line 240</span>
397
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_elem</span>(<span class="ruby-identifier">str</span>, <span class="ruby-identifier">escape_flag</span>=<span class="ruby-keyword kw">nil</span>)
398
- <span class="ruby-ivar">@elem</span> = <span class="ruby-constant">NativeExpression</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">str</span>, <span class="ruby-identifier">escape_flag</span>)
399
- <span class="ruby-keyword kw">end</span>
400
- </pre>
401
- </div>
402
- </div>
403
- </div>
404
-
405
- <div id="method-M000102" class="method-detail">
406
- <a name="M000102"></a>
407
-
408
- <div class="method-heading">
409
- <a href="#M000102" class="method-signature">
410
- <span class="method-name">set_etag</span><span class="method-args">(str, escape_flag=nil)</span>
411
- </a>
412
- </div>
413
-
414
- <div class="method-description">
415
- <p><a class="source-toggle" href="#"
416
- onclick="toggleCode('M000102-source');return false;">[Source]</a></p>
417
- <div class="method-source-code" id="M000102-source">
418
- <pre>
419
- <span class="ruby-comment cmt"># File kwartz/node.rb, line 235</span>
420
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_etag</span>(<span class="ruby-identifier">str</span>, <span class="ruby-identifier">escape_flag</span>=<span class="ruby-keyword kw">nil</span>)
421
- <span class="ruby-ivar">@etag</span> = <span class="ruby-constant">NativeExpression</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">str</span>, <span class="ruby-identifier">escape_flag</span>)
422
- <span class="ruby-keyword kw">end</span>
423
- </pre>
424
- </div>
425
- </div>
426
- </div>
427
-
428
- <div id="method-M000109" class="method-detail">
429
- <a name="M000109"></a>
430
-
431
- <div class="method-heading">
432
- <a href="#M000109" class="method-signature">
433
- <span class="method-name">set_logic</span><span class="method-args">(logic_str)</span>
434
- </a>
435
- </div>
436
-
437
- <div class="method-description">
438
- <p><a class="source-toggle" href="#"
439
- onclick="toggleCode('M000109-source');return false;">[Source]</a></p>
440
- <div class="method-source-code" id="M000109-source">
441
- <pre>
442
- <span class="ruby-comment cmt"># File kwartz/node.rb, line 278</span>
443
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_logic</span>(<span class="ruby-identifier">logic_str</span>)
444
- <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">logic_str</span>
445
- <span class="ruby-identifier">stmt_list</span> = []
446
- <span class="ruby-identifier">logic_str</span>.<span class="ruby-identifier">each_line</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
447
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">line</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^\s*_(stag|cont|etag|elem)(?:\(\))?;?\s*(?:\#.*)?$/</span>
448
- <span class="ruby-identifier">kind</span> = <span class="ruby-identifier">$1</span>
449
- <span class="ruby-identifier">stmt_list</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">ExpandStatement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">kind</span>.<span class="ruby-identifier">intern</span>, <span class="ruby-ivar">@name</span>)
450
- <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">line</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^\s*(_(element|content)([()'&quot;\w\s]*));?\s*(?:\#.*)?$/</span>
451
- <span class="ruby-identifier">str</span>, <span class="ruby-identifier">kind</span>, <span class="ruby-identifier">arg</span> = <span class="ruby-identifier">$1</span>, <span class="ruby-identifier">$2</span>, <span class="ruby-identifier">$3</span>
452
- <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">strip!</span>
453
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/\A\((.*)\)\z/</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">arg</span> = <span class="ruby-identifier">$1</span> <span class="ruby-keyword kw">end</span>
454
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">empty?</span>
455
- <span class="ruby-identifier">raise</span> <span class="ruby-identifier">parse_error</span>(<span class="ruby-node">&quot;'#{str}': element name required.&quot;</span>, <span class="ruby-keyword kw">nil</span>)
456
- <span class="ruby-keyword kw">end</span>
457
- <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">arg</span>
458
- <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/\A&quot;(.*)&quot;\z/</span> ; <span class="ruby-identifier">name</span> = <span class="ruby-identifier">$1</span>
459
- <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/\A'(.*)'\z/</span> ; <span class="ruby-identifier">name</span> = <span class="ruby-identifier">$1</span>
460
- <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/\A(\w+)\z/</span> ; <span class="ruby-identifier">name</span> = <span class="ruby-identifier">$1</span>
461
- <span class="ruby-keyword kw">else</span>
462
- <span class="ruby-identifier">raise</span> <span class="ruby-identifier">parse_error</span>(<span class="ruby-node">&quot;'#{str}': invalid pattern.&quot;</span>, <span class="ruby-keyword kw">nil</span>)
463
- <span class="ruby-keyword kw">end</span>
464
- <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/\A\w+\z/</span>
465
- <span class="ruby-identifier">raise</span> <span class="ruby-identifier">parse_error</span>(<span class="ruby-node">&quot;'#{name}': invalid #{kind} name.&quot;</span>, <span class="ruby-keyword kw">nil</span>)
466
- <span class="ruby-keyword kw">end</span>
467
- <span class="ruby-identifier">stmt_list</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">ExpandStatement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">kind</span>.<span class="ruby-identifier">intern</span>, <span class="ruby-identifier">name</span>)
468
- <span class="ruby-comment cmt">#elsif line =~ /^\s*print(?:\s+(\S+)|\((.+)\))\s*;?\s*(?:\#.*)?$/</span>
469
- <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">line</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^\s*print(?:\s+(.*?)|\((.+)\))\s*;?\s*$/</span>
470
- <span class="ruby-identifier">arg</span> = <span class="ruby-identifier">$1</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">$2</span>
471
- <span class="ruby-identifier">stmt_list</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">PrintStatement</span>.<span class="ruby-identifier">new</span>([<span class="ruby-constant">NativeExpression</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">arg</span>)])
472
- <span class="ruby-keyword kw">else</span>
473
- <span class="ruby-identifier">stmt_list</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">NativeStatement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">line</span>.<span class="ruby-identifier">chomp</span>, <span class="ruby-keyword kw">nil</span>)
474
- <span class="ruby-keyword kw">end</span>
475
- <span class="ruby-keyword kw">end</span>
476
- <span class="ruby-ivar">@logic</span> = <span class="ruby-identifier">stmt_list</span>
477
- <span class="ruby-keyword kw">end</span>
478
- </pre>
479
- </div>
480
- </div>
481
- </div>
482
-
483
- <div id="method-M000107" class="method-detail">
484
- <a name="M000107"></a>
485
-
486
- <div class="method-heading">
487
- <a href="#M000107" class="method-signature">
488
- <span class="method-name">set_remove</span><span class="method-args">(list)</span>
489
- </a>
490
- </div>
491
-
492
- <div class="method-description">
493
- <p><a class="source-toggle" href="#"
494
- onclick="toggleCode('M000107-source');return false;">[Source]</a></p>
495
- <div class="method-source-code" id="M000107-source">
496
- <pre>
497
- <span class="ruby-comment cmt"># File kwartz/node.rb, line 268</span>
498
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_remove</span>(<span class="ruby-identifier">list</span>)
499
- <span class="ruby-ivar">@remove</span> = <span class="ruby-identifier">list</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">list</span>
500
- <span class="ruby-keyword kw">end</span>
501
- </pre>
502
- </div>
503
- </div>
504
- </div>
505
-
506
- <div id="method-M000100" class="method-detail">
507
- <a name="M000100"></a>
508
-
509
- <div class="method-heading">
510
- <a href="#M000100" class="method-signature">
511
- <span class="method-name">set_stag</span><span class="method-args">(str, escape_flag=nil)</span>
512
- </a>
513
- </div>
514
-
515
- <div class="method-description">
516
- <p><a class="source-toggle" href="#"
517
- onclick="toggleCode('M000100-source');return false;">[Source]</a></p>
518
- <div class="method-source-code" id="M000100-source">
519
- <pre>
520
- <span class="ruby-comment cmt"># File kwartz/node.rb, line 225</span>
521
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_stag</span>(<span class="ruby-identifier">str</span>, <span class="ruby-identifier">escape_flag</span>=<span class="ruby-keyword kw">nil</span>)
522
- <span class="ruby-ivar">@stag</span> = <span class="ruby-constant">NativeExpression</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">str</span>, <span class="ruby-identifier">escape_flag</span>)
523
- <span class="ruby-keyword kw">end</span>
524
- </pre>
525
- </div>
526
- </div>
527
- </div>
528
-
529
- <div id="method-M000108" class="method-detail">
530
- <a name="M000108"></a>
531
-
532
- <div class="method-heading">
533
- <a href="#M000108" class="method-signature">
534
- <span class="method-name">set_tagname</span><span class="method-args">(str)</span>
535
- </a>
536
- </div>
537
-
538
- <div class="method-description">
539
- <p><a class="source-toggle" href="#"
540
- onclick="toggleCode('M000108-source');return false;">[Source]</a></p>
541
- <div class="method-source-code" id="M000108-source">
542
- <pre>
543
- <span class="ruby-comment cmt"># File kwartz/node.rb, line 273</span>
544
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_tagname</span>(<span class="ruby-identifier">str</span>)
545
- <span class="ruby-ivar">@tagname</span> = <span class="ruby-identifier">str</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">str</span>
546
- <span class="ruby-keyword kw">end</span>
547
- </pre>
548
- </div>
549
- </div>
550
- </div>
551
-
552
- <div id="method-M000104" class="method-detail">
553
- <a name="M000104"></a>
554
-
555
- <div class="method-heading">
556
- <a href="#M000104" class="method-signature">
557
- <span class="method-name">set_value</span><span class="method-args">(str, escape_flag=nil)</span>
558
- </a>
559
- </div>
560
-
561
- <div class="method-description">
562
- <p><a class="source-toggle" href="#"
563
- onclick="toggleCode('M000104-source');return false;">[Source]</a></p>
564
- <div class="method-source-code" id="M000104-source">
565
- <pre>
566
- <span class="ruby-comment cmt"># File kwartz/node.rb, line 245</span>
567
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_value</span>(<span class="ruby-identifier">str</span>, <span class="ruby-identifier">escape_flag</span>=<span class="ruby-keyword kw">nil</span>)
568
- <span class="ruby-identifier">set_cont</span>(<span class="ruby-identifier">str</span>, <span class="ruby-identifier">escape_flag</span>)
569
- <span class="ruby-keyword kw">end</span>
570
- </pre>
571
- </div>
572
- </div>
573
- </div>
574
-
575
- <h3 class="section-bar">Protected Instance methods</h3>
576
-
577
- <div id="method-M000112" class="method-detail">
578
- <a name="M000112"></a>
579
-
580
- <div class="method-heading">
581
- <a href="#M000112" class="method-signature">
582
- <span class="method-name">parse_error</span><span class="method-args">(message, linenum)</span>
583
- </a>
584
- </div>
585
-
586
- <div class="method-description">
587
- <p><a class="source-toggle" href="#"
588
- onclick="toggleCode('M000112-source');return false;">[Source]</a></p>
589
- <div class="method-source-code" id="M000112-source">
590
- <pre>
591
- <span class="ruby-comment cmt"># File kwartz/node.rb, line 367</span>
592
- <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>)
593
- <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-identifier">linenum</span>, <span class="ruby-keyword kw">nil</span>)
594
- <span class="ruby-keyword kw">end</span>
595
- </pre>
596
- </div>
597
- </div>
598
- </div>
599
-
600
-
601
- </div>
602
-
603
-
604
- </div>
605
-
606
-
607
- <div id="validator-badges">
608
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
609
- </div>
610
-
611
- </body>
612
- </html>