gitlab-rdoc 6.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (196) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTING.rdoc +220 -0
  3. data/CVE-2013-0256.rdoc +49 -0
  4. data/ExampleMarkdown.md +37 -0
  5. data/ExampleRDoc.rdoc +208 -0
  6. data/Gemfile +12 -0
  7. data/History.rdoc +1666 -0
  8. data/LEGAL.rdoc +50 -0
  9. data/LICENSE.rdoc +57 -0
  10. data/README.rdoc +133 -0
  11. data/RI.rdoc +57 -0
  12. data/Rakefile +101 -0
  13. data/TODO.rdoc +59 -0
  14. data/bin/console +7 -0
  15. data/bin/setup +6 -0
  16. data/exe/rdoc +44 -0
  17. data/exe/ri +12 -0
  18. data/lib/rdoc/alias.rb +112 -0
  19. data/lib/rdoc/anon_class.rb +11 -0
  20. data/lib/rdoc/any_method.rb +361 -0
  21. data/lib/rdoc/attr.rb +176 -0
  22. data/lib/rdoc/class_module.rb +802 -0
  23. data/lib/rdoc/code_object.rb +421 -0
  24. data/lib/rdoc/code_objects.rb +6 -0
  25. data/lib/rdoc/comment.rb +250 -0
  26. data/lib/rdoc/constant.rb +187 -0
  27. data/lib/rdoc/context/section.rb +232 -0
  28. data/lib/rdoc/context.rb +1266 -0
  29. data/lib/rdoc/cross_reference.rb +202 -0
  30. data/lib/rdoc/encoding.rb +136 -0
  31. data/lib/rdoc/erb_partial.rb +19 -0
  32. data/lib/rdoc/erbio.rb +42 -0
  33. data/lib/rdoc/extend.rb +10 -0
  34. data/lib/rdoc/generator/darkfish.rb +790 -0
  35. data/lib/rdoc/generator/json_index.rb +300 -0
  36. data/lib/rdoc/generator/markup.rb +160 -0
  37. data/lib/rdoc/generator/pot/message_extractor.rb +68 -0
  38. data/lib/rdoc/generator/pot/po.rb +84 -0
  39. data/lib/rdoc/generator/pot/po_entry.rb +141 -0
  40. data/lib/rdoc/generator/pot.rb +98 -0
  41. data/lib/rdoc/generator/ri.rb +31 -0
  42. data/lib/rdoc/generator/template/darkfish/.document +0 -0
  43. data/lib/rdoc/generator/template/darkfish/_footer.rhtml +5 -0
  44. data/lib/rdoc/generator/template/darkfish/_head.rhtml +22 -0
  45. data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +19 -0
  46. data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +9 -0
  47. data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +15 -0
  48. data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +9 -0
  49. data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +15 -0
  50. data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +15 -0
  51. data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +12 -0
  52. data/lib/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml +11 -0
  53. data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +12 -0
  54. data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +11 -0
  55. data/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml +14 -0
  56. data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +11 -0
  57. data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +18 -0
  58. data/lib/rdoc/generator/template/darkfish/class.rhtml +172 -0
  59. data/lib/rdoc/generator/template/darkfish/css/fonts.css +167 -0
  60. data/lib/rdoc/generator/template/darkfish/css/rdoc.css +639 -0
  61. data/lib/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf +0 -0
  62. data/lib/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf +0 -0
  63. data/lib/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf +0 -0
  64. data/lib/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf +0 -0
  65. data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
  66. data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
  67. data/lib/rdoc/generator/template/darkfish/images/add.png +0 -0
  68. data/lib/rdoc/generator/template/darkfish/images/arrow_up.png +0 -0
  69. data/lib/rdoc/generator/template/darkfish/images/brick.png +0 -0
  70. data/lib/rdoc/generator/template/darkfish/images/brick_link.png +0 -0
  71. data/lib/rdoc/generator/template/darkfish/images/bug.png +0 -0
  72. data/lib/rdoc/generator/template/darkfish/images/bullet_black.png +0 -0
  73. data/lib/rdoc/generator/template/darkfish/images/bullet_toggle_minus.png +0 -0
  74. data/lib/rdoc/generator/template/darkfish/images/bullet_toggle_plus.png +0 -0
  75. data/lib/rdoc/generator/template/darkfish/images/date.png +0 -0
  76. data/lib/rdoc/generator/template/darkfish/images/delete.png +0 -0
  77. data/lib/rdoc/generator/template/darkfish/images/find.png +0 -0
  78. data/lib/rdoc/generator/template/darkfish/images/loadingAnimation.gif +0 -0
  79. data/lib/rdoc/generator/template/darkfish/images/macFFBgHack.png +0 -0
  80. data/lib/rdoc/generator/template/darkfish/images/package.png +0 -0
  81. data/lib/rdoc/generator/template/darkfish/images/page_green.png +0 -0
  82. data/lib/rdoc/generator/template/darkfish/images/page_white_text.png +0 -0
  83. data/lib/rdoc/generator/template/darkfish/images/page_white_width.png +0 -0
  84. data/lib/rdoc/generator/template/darkfish/images/plugin.png +0 -0
  85. data/lib/rdoc/generator/template/darkfish/images/ruby.png +0 -0
  86. data/lib/rdoc/generator/template/darkfish/images/tag_blue.png +0 -0
  87. data/lib/rdoc/generator/template/darkfish/images/tag_green.png +0 -0
  88. data/lib/rdoc/generator/template/darkfish/images/transparent.png +0 -0
  89. data/lib/rdoc/generator/template/darkfish/images/wrench.png +0 -0
  90. data/lib/rdoc/generator/template/darkfish/images/wrench_orange.png +0 -0
  91. data/lib/rdoc/generator/template/darkfish/images/zoom.png +0 -0
  92. data/lib/rdoc/generator/template/darkfish/index.rhtml +22 -0
  93. data/lib/rdoc/generator/template/darkfish/js/darkfish.js +84 -0
  94. data/lib/rdoc/generator/template/darkfish/js/search.js +110 -0
  95. data/lib/rdoc/generator/template/darkfish/page.rhtml +18 -0
  96. data/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml +18 -0
  97. data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +62 -0
  98. data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +58 -0
  99. data/lib/rdoc/generator/template/json_index/.document +1 -0
  100. data/lib/rdoc/generator/template/json_index/js/navigation.js +105 -0
  101. data/lib/rdoc/generator/template/json_index/js/searcher.js +229 -0
  102. data/lib/rdoc/generator.rb +51 -0
  103. data/lib/rdoc/ghost_method.rb +7 -0
  104. data/lib/rdoc/i18n/locale.rb +102 -0
  105. data/lib/rdoc/i18n/text.rb +126 -0
  106. data/lib/rdoc/i18n.rb +10 -0
  107. data/lib/rdoc/include.rb +10 -0
  108. data/lib/rdoc/known_classes.rb +73 -0
  109. data/lib/rdoc/markdown/entities.rb +2132 -0
  110. data/lib/rdoc/markdown/literals.kpeg +23 -0
  111. data/lib/rdoc/markdown/literals.rb +417 -0
  112. data/lib/rdoc/markdown.kpeg +1237 -0
  113. data/lib/rdoc/markdown.rb +16685 -0
  114. data/lib/rdoc/markup/attr_changer.rb +23 -0
  115. data/lib/rdoc/markup/attr_span.rb +36 -0
  116. data/lib/rdoc/markup/attribute_manager.rb +409 -0
  117. data/lib/rdoc/markup/attributes.rb +71 -0
  118. data/lib/rdoc/markup/blank_line.rb +28 -0
  119. data/lib/rdoc/markup/block_quote.rb +15 -0
  120. data/lib/rdoc/markup/document.rb +165 -0
  121. data/lib/rdoc/markup/formatter.rb +266 -0
  122. data/lib/rdoc/markup/hard_break.rb +32 -0
  123. data/lib/rdoc/markup/heading.rb +79 -0
  124. data/lib/rdoc/markup/include.rb +43 -0
  125. data/lib/rdoc/markup/indented_paragraph.rb +48 -0
  126. data/lib/rdoc/markup/list.rb +102 -0
  127. data/lib/rdoc/markup/list_item.rb +100 -0
  128. data/lib/rdoc/markup/paragraph.rb +29 -0
  129. data/lib/rdoc/markup/parser.rb +575 -0
  130. data/lib/rdoc/markup/pre_process.rb +296 -0
  131. data/lib/rdoc/markup/raw.rb +70 -0
  132. data/lib/rdoc/markup/regexp_handling.rb +41 -0
  133. data/lib/rdoc/markup/rule.rb +21 -0
  134. data/lib/rdoc/markup/table.rb +47 -0
  135. data/lib/rdoc/markup/to_ansi.rb +94 -0
  136. data/lib/rdoc/markup/to_bs.rb +77 -0
  137. data/lib/rdoc/markup/to_html.rb +444 -0
  138. data/lib/rdoc/markup/to_html_crossref.rb +176 -0
  139. data/lib/rdoc/markup/to_html_snippet.rb +285 -0
  140. data/lib/rdoc/markup/to_joined_paragraph.rb +47 -0
  141. data/lib/rdoc/markup/to_label.rb +75 -0
  142. data/lib/rdoc/markup/to_markdown.rb +192 -0
  143. data/lib/rdoc/markup/to_rdoc.rb +362 -0
  144. data/lib/rdoc/markup/to_table_of_contents.rb +89 -0
  145. data/lib/rdoc/markup/to_test.rb +70 -0
  146. data/lib/rdoc/markup/to_tt_only.rb +121 -0
  147. data/lib/rdoc/markup/verbatim.rb +84 -0
  148. data/lib/rdoc/markup.rb +867 -0
  149. data/lib/rdoc/meta_method.rb +7 -0
  150. data/lib/rdoc/method_attr.rb +419 -0
  151. data/lib/rdoc/mixin.rb +121 -0
  152. data/lib/rdoc/normal_class.rb +93 -0
  153. data/lib/rdoc/normal_module.rb +74 -0
  154. data/lib/rdoc/options.rb +1285 -0
  155. data/lib/rdoc/parser/c.rb +1225 -0
  156. data/lib/rdoc/parser/changelog.rb +335 -0
  157. data/lib/rdoc/parser/markdown.rb +24 -0
  158. data/lib/rdoc/parser/rd.rb +23 -0
  159. data/lib/rdoc/parser/ripper_state_lex.rb +590 -0
  160. data/lib/rdoc/parser/ruby.rb +2327 -0
  161. data/lib/rdoc/parser/ruby_tools.rb +167 -0
  162. data/lib/rdoc/parser/simple.rb +61 -0
  163. data/lib/rdoc/parser/text.rb +12 -0
  164. data/lib/rdoc/parser.rb +277 -0
  165. data/lib/rdoc/rd/block_parser.rb +1056 -0
  166. data/lib/rdoc/rd/block_parser.ry +639 -0
  167. data/lib/rdoc/rd/inline.rb +72 -0
  168. data/lib/rdoc/rd/inline_parser.rb +1208 -0
  169. data/lib/rdoc/rd/inline_parser.ry +593 -0
  170. data/lib/rdoc/rd.rb +100 -0
  171. data/lib/rdoc/rdoc.rb +579 -0
  172. data/lib/rdoc/require.rb +52 -0
  173. data/lib/rdoc/ri/driver.rb +1572 -0
  174. data/lib/rdoc/ri/formatter.rb +6 -0
  175. data/lib/rdoc/ri/paths.rb +171 -0
  176. data/lib/rdoc/ri/store.rb +7 -0
  177. data/lib/rdoc/ri/task.rb +71 -0
  178. data/lib/rdoc/ri.rb +21 -0
  179. data/lib/rdoc/rubygems_hook.rb +246 -0
  180. data/lib/rdoc/servlet.rb +451 -0
  181. data/lib/rdoc/single_class.rb +26 -0
  182. data/lib/rdoc/stats/normal.rb +58 -0
  183. data/lib/rdoc/stats/quiet.rb +60 -0
  184. data/lib/rdoc/stats/verbose.rb +46 -0
  185. data/lib/rdoc/stats.rb +462 -0
  186. data/lib/rdoc/store.rb +979 -0
  187. data/lib/rdoc/task.rb +329 -0
  188. data/lib/rdoc/text.rb +304 -0
  189. data/lib/rdoc/token_stream.rb +119 -0
  190. data/lib/rdoc/tom_doc.rb +263 -0
  191. data/lib/rdoc/top_level.rb +289 -0
  192. data/lib/rdoc/version.rb +8 -0
  193. data/lib/rdoc.rb +201 -0
  194. data/man/ri.1 +247 -0
  195. data/rdoc.gemspec +249 -0
  196. metadata +279 -0
@@ -0,0 +1,1056 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # DO NOT MODIFY!!!!
4
+ # This file is automatically generated by Racc 1.5.2
5
+ # from Racc grammar file "".
6
+ #
7
+
8
+ require 'racc/parser.rb'
9
+
10
+ class RDoc::RD
11
+
12
+ ##
13
+ # RD format parser for headings, paragraphs, lists, verbatim sections that
14
+ # exist as blocks.
15
+
16
+ class BlockParser < Racc::Parser
17
+
18
+
19
+ # :stopdoc:
20
+
21
+ TMPFILE = ["rdtmp", $$, 0]
22
+
23
+ MARK_TO_LEVEL = {
24
+ '=' => 1,
25
+ '==' => 2,
26
+ '===' => 3,
27
+ '====' => 4,
28
+ '+' => 5,
29
+ '++' => 6,
30
+ }
31
+
32
+ # :startdoc:
33
+
34
+ ##
35
+ # Footnotes for this document
36
+
37
+ attr_reader :footnotes
38
+
39
+ ##
40
+ # Labels for items in this document
41
+
42
+ attr_reader :labels
43
+
44
+ ##
45
+ # Path to find included files in
46
+
47
+ attr_accessor :include_path
48
+
49
+ ##
50
+ # Creates a new RDoc::RD::BlockParser. Use #parse to parse an rd-format
51
+ # document.
52
+
53
+ def initialize
54
+ @inline_parser = RDoc::RD::InlineParser.new self
55
+ @include_path = []
56
+
57
+ # for testing
58
+ @footnotes = []
59
+ @labels = {}
60
+ end
61
+
62
+ ##
63
+ # Parses +src+ and returns an RDoc::Markup::Document.
64
+
65
+ def parse src
66
+ @src = src
67
+ @src.push false
68
+
69
+ @footnotes = []
70
+ @labels = {}
71
+
72
+ # @i: index(line no.) of src
73
+ @i = 0
74
+
75
+ # stack for current indentation
76
+ @indent_stack = []
77
+
78
+ # how indented.
79
+ @current_indent = @indent_stack.join("")
80
+
81
+ # RDoc::RD::BlockParser for tmp src
82
+ @subparser = nil
83
+
84
+ # which part is in now
85
+ @in_part = nil
86
+ @part_content = []
87
+
88
+ @in_verbatim = false
89
+
90
+ @yydebug = true
91
+
92
+ document = do_parse
93
+
94
+ unless @footnotes.empty? then
95
+ blankline = document.parts.pop
96
+
97
+ document.parts << RDoc::Markup::Rule.new(1)
98
+ document.parts.concat @footnotes
99
+
100
+ document.parts.push blankline
101
+ end
102
+
103
+ document
104
+ end
105
+
106
+ ##
107
+ # Returns the next token from the document
108
+
109
+ def next_token # :nodoc:
110
+ # preprocessing
111
+ # if it is not in RD part
112
+ # => method
113
+ while @in_part != "rd"
114
+ line = @src[@i]
115
+ @i += 1 # next line
116
+
117
+ case line
118
+ # src end
119
+ when false
120
+ return [false, false]
121
+ # RD part begin
122
+ when /^=begin\s*(?:\bRD\b.*)?\s*$/
123
+ if @in_part # if in non-RD part
124
+ @part_content.push(line)
125
+ else
126
+ @in_part = "rd"
127
+ return [:WHITELINE, "=begin\n"] # <= for textblockand
128
+ end
129
+ # non-RD part begin
130
+ when /^=begin\s+(\w+)/
131
+ part = $1
132
+ if @in_part # if in non-RD part
133
+ @part_content.push(line)
134
+ else
135
+ @in_part = part if @tree.filter[part] # if filter exists
136
+ # p "BEGIN_PART: #{@in_part}" # DEBUG
137
+ end
138
+ # non-RD part end
139
+ when /^=end/
140
+ if @in_part # if in non-RD part
141
+ # p "END_PART: #{@in_part}" # DEBUG
142
+ # make Part-in object
143
+ part = RDoc::RD::Part.new(@part_content.join(""), @tree, "r")
144
+ @part_content.clear
145
+ # call filter, part_out is output(Part object)
146
+ part_out = @tree.filter[@in_part].call(part)
147
+
148
+ if @tree.filter[@in_part].mode == :rd # if output is RD formatted
149
+ subtree = parse_subtree(part_out.to_a)
150
+ else # if output is target formatted
151
+ basename = TMPFILE.join('.')
152
+ TMPFILE[-1] += 1
153
+ tmpfile = open(@tree.tmp_dir + "/" + basename + ".#{@in_part}", "w")
154
+ tmpfile.print(part_out)
155
+ tmpfile.close
156
+ subtree = parse_subtree(["=begin\n", "<<< #{basename}\n", "=end\n"])
157
+ end
158
+ @in_part = nil
159
+ return [:SUBTREE, subtree]
160
+ end
161
+ else
162
+ if @in_part # if in non-RD part
163
+ @part_content.push(line)
164
+ end
165
+ end
166
+ end
167
+
168
+ @current_indent = @indent_stack.join("")
169
+ line = @src[@i]
170
+ case line
171
+ when false
172
+ if_current_indent_equal("") do
173
+ [false, false]
174
+ end
175
+ when /^=end/
176
+ if_current_indent_equal("") do
177
+ @in_part = nil
178
+ [:WHITELINE, "=end"] # MUST CHANGE??
179
+ end
180
+ when /^\s*$/
181
+ @i += 1 # next line
182
+ return [:WHITELINE, ':WHITELINE']
183
+ when /^\#/ # comment line
184
+ @i += 1 # next line
185
+ self.next_token()
186
+ when /^(={1,4})(?!=)\s*(?=\S)/, /^(\+{1,2})(?!\+)\s*(?=\S)/
187
+ rest = $' # '
188
+ rest.strip!
189
+ mark = $1
190
+ if_current_indent_equal("") do
191
+ return [:HEADLINE, [MARK_TO_LEVEL[mark], rest]]
192
+ end
193
+ when /^<<<\s*(\S+)/
194
+ file = $1
195
+ if_current_indent_equal("") do
196
+ suffix = file[-3 .. -1]
197
+ if suffix == ".rd" or suffix == ".rb"
198
+ subtree = parse_subtree(get_included(file))
199
+ [:SUBTREE, subtree]
200
+ else
201
+ [:INCLUDE, file]
202
+ end
203
+ end
204
+ when /^(\s*)\*(\s*)/
205
+ rest = $' # '
206
+ newIndent = $2
207
+ if_current_indent_equal($1) do
208
+ if @in_verbatim
209
+ [:STRINGLINE, line]
210
+ else
211
+ @indent_stack.push("\s" + newIndent)
212
+ [:ITEMLISTLINE, rest]
213
+ end
214
+ end
215
+ when /^(\s*)(\(\d+\))(\s*)/
216
+ rest = $' # '
217
+ mark = $2
218
+ newIndent = $3
219
+ if_current_indent_equal($1) do
220
+ if @in_verbatim
221
+ [:STRINGLINE, line]
222
+ else
223
+ @indent_stack.push("\s" * mark.size + newIndent)
224
+ [:ENUMLISTLINE, rest]
225
+ end
226
+ end
227
+ when /^(\s*):(\s*)/
228
+ rest = $' # '
229
+ newIndent = $2
230
+ if_current_indent_equal($1) do
231
+ if @in_verbatim
232
+ [:STRINGLINE, line]
233
+ else
234
+ @indent_stack.push("\s#{$2}")
235
+ [:DESCLISTLINE, rest]
236
+ end
237
+ end
238
+ when /^(\s*)---(?!-|\s*$)/
239
+ indent = $1
240
+ rest = $'
241
+ /\s*/ === rest
242
+ term = $'
243
+ new_indent = $&
244
+ if_current_indent_equal(indent) do
245
+ if @in_verbatim
246
+ [:STRINGLINE, line]
247
+ else
248
+ @indent_stack.push("\s\s\s" + new_indent)
249
+ [:METHODLISTLINE, term]
250
+ end
251
+ end
252
+ when /^(\s*)/
253
+ if_current_indent_equal($1) do
254
+ [:STRINGLINE, line]
255
+ end
256
+ else
257
+ raise "[BUG] parsing error may occurred."
258
+ end
259
+ end
260
+
261
+ ##
262
+ # Yields to the given block if +indent+ matches the current indent, otherwise
263
+ # an indentation token is processed.
264
+
265
+ def if_current_indent_equal(indent)
266
+ indent = indent.sub(/\t/, "\s" * 8)
267
+ if @current_indent == indent
268
+ @i += 1 # next line
269
+ yield
270
+ elsif indent.index(@current_indent) == 0
271
+ @indent_stack.push(indent[@current_indent.size .. -1])
272
+ [:INDENT, ":INDENT"]
273
+ else
274
+ @indent_stack.pop
275
+ [:DEDENT, ":DEDENT"]
276
+ end
277
+ end
278
+ private :if_current_indent_equal
279
+
280
+ ##
281
+ # Cuts off excess whitespace in +src+
282
+
283
+ def cut_off(src)
284
+ ret = []
285
+ whiteline_buf = []
286
+
287
+ line = src.shift
288
+ /^\s*/ =~ line
289
+
290
+ indent = Regexp.quote($&)
291
+ ret.push($')
292
+
293
+ while line = src.shift
294
+ if /^(\s*)$/ =~ line
295
+ whiteline_buf.push(line)
296
+ elsif /^#{indent}/ =~ line
297
+ unless whiteline_buf.empty?
298
+ ret.concat(whiteline_buf)
299
+ whiteline_buf.clear
300
+ end
301
+ ret.push($')
302
+ else
303
+ raise "[BUG]: probably Parser Error while cutting off.\n"
304
+ end
305
+ end
306
+ ret
307
+ end
308
+ private :cut_off
309
+
310
+ def set_term_to_element(parent, term)
311
+ # parent.set_term_under_document_struct(term, @tree.document_struct)
312
+ parent.set_term_without_document_struct(term)
313
+ end
314
+ private :set_term_to_element
315
+
316
+ ##
317
+ # Raises a ParseError when invalid formatting is found
318
+
319
+ def on_error(et, ev, _values)
320
+ prv, cur, nxt = format_line_num(@i, @i+1, @i+2)
321
+
322
+ raise ParseError, <<Msg
323
+
324
+ RD syntax error: line #{@i+1}:
325
+ #{prv} |#{@src[@i-1].chomp}
326
+ #{cur}=>|#{@src[@i].chomp}
327
+ #{nxt} |#{@src[@i+1].chomp}
328
+
329
+ Msg
330
+ end
331
+
332
+ ##
333
+ # Current line number
334
+
335
+ def line_index
336
+ @i
337
+ end
338
+
339
+ ##
340
+ # Parses subtree +src+
341
+
342
+ def parse_subtree src
343
+ @subparser ||= RDoc::RD::BlockParser.new
344
+
345
+ @subparser.parse src
346
+ end
347
+ private :parse_subtree
348
+
349
+ ##
350
+ # Retrieves the content for +file+ from the include_path
351
+
352
+ def get_included(file)
353
+ included = []
354
+
355
+ @include_path.each do |dir|
356
+ file_name = File.join dir, file
357
+
358
+ if File.exist? file_name then
359
+ included = IO.readlines file_name
360
+ break
361
+ end
362
+ end
363
+
364
+ included
365
+ end
366
+ private :get_included
367
+
368
+ ##
369
+ # Formats line numbers +line_numbers+ prettily
370
+
371
+ def format_line_num(*line_numbers)
372
+ width = line_numbers.collect{|i| i.to_s.length }.max
373
+ line_numbers.collect{|i| sprintf("%#{width}d", i) }
374
+ end
375
+ private :format_line_num
376
+
377
+ ##
378
+ # Retrieves the content of +values+ as a single String
379
+
380
+ def content values
381
+ values.map { |value| value.content }.join
382
+ end
383
+
384
+ ##
385
+ # Creates a paragraph for +value+
386
+
387
+ def paragraph value
388
+ content = cut_off(value).join(' ').rstrip
389
+ contents = @inline_parser.parse content
390
+
391
+ RDoc::Markup::Paragraph.new(*contents)
392
+ end
393
+
394
+ ##
395
+ # Adds footnote +content+ to the document
396
+
397
+ def add_footnote content
398
+ index = @footnotes.length / 2 + 1
399
+
400
+ footmark_link = "{^#{index}}[rdoc-label:footmark-#{index}:foottext-#{index}]"
401
+
402
+ @footnotes << RDoc::Markup::Paragraph.new(footmark_link, ' ', *content)
403
+ @footnotes << RDoc::Markup::BlankLine.new
404
+
405
+ index
406
+ end
407
+
408
+ ##
409
+ # Adds label +label+ to the document
410
+
411
+ def add_label label
412
+ @labels[label] = true
413
+
414
+ label
415
+ end
416
+
417
+ # :stopdoc:
418
+
419
+ ##### State transition tables begin ###
420
+
421
+ racc_action_table = [
422
+ 34, 35, 30, 33, 40, 34, 35, 30, 33, 40,
423
+ 65, 34, 35, 30, 33, 14, 73, 36, 38, 34,
424
+ 15, 88, 34, 35, 30, 33, 14, 9, 10, 11,
425
+ 12, 15, 34, 35, 30, 33, 14, 9, 10, 11,
426
+ 12, 15, 34, 35, 30, 33, 35, 47, 30, 54,
427
+ 33, 15, 34, 35, 30, 33, 54, 47, 14, 14,
428
+ 59, 15, 34, 35, 30, 33, 14, 73, 67, 76,
429
+ 77, 15, 34, 35, 30, 33, 14, 73, 54, 81,
430
+ 38, 15, 34, 35, 30, 33, 14, 73, 38, 40,
431
+ 83, 15, 34, 35, 30, 33, 14, 73, nil, nil,
432
+ nil, 15, 34, 35, 30, 33, 14, 73, nil, nil,
433
+ nil, 15, 34, 35, 30, 33, 14, 73, nil, nil,
434
+ nil, 15, 34, 35, 30, 33, 14, 73, nil, nil,
435
+ nil, 15, 34, 35, 30, 33, 14, 73, nil, nil,
436
+ nil, 15, 34, 35, 30, 33, 14, 73, 61, 63,
437
+ nil, 15, 14, 62, 60, 61, 63, 79, 61, 63,
438
+ 62, 87, nil, 62, 34, 35, 30, 33 ]
439
+
440
+ racc_action_check = [
441
+ 41, 41, 41, 41, 41, 15, 15, 15, 15, 15,
442
+ 41, 86, 86, 86, 86, 86, 86, 1, 13, 22,
443
+ 86, 86, 0, 0, 0, 0, 0, 0, 0, 0,
444
+ 0, 0, 2, 2, 2, 2, 2, 2, 2, 2,
445
+ 2, 2, 24, 24, 24, 24, 25, 24, 28, 30,
446
+ 31, 24, 27, 27, 27, 27, 33, 27, 34, 35,
447
+ 36, 27, 45, 45, 45, 45, 45, 45, 44, 49,
448
+ 51, 45, 46, 46, 46, 46, 46, 46, 54, 56,
449
+ 57, 46, 47, 47, 47, 47, 47, 47, 58, 62,
450
+ 66, 47, 68, 68, 68, 68, 68, 68, nil, nil,
451
+ nil, 68, 74, 74, 74, 74, 74, 74, nil, nil,
452
+ nil, 74, 75, 75, 75, 75, 75, 75, nil, nil,
453
+ nil, 75, 78, 78, 78, 78, 78, 78, nil, nil,
454
+ nil, 78, 79, 79, 79, 79, 79, 79, nil, nil,
455
+ nil, 79, 85, 85, 85, 85, 85, 85, 39, 39,
456
+ nil, 85, 52, 39, 39, 82, 82, 52, 64, 64,
457
+ 82, 82, nil, 64, 20, 20, 20, 20 ]
458
+
459
+ racc_action_pointer = [
460
+ 19, 17, 29, nil, nil, nil, nil, nil, nil, nil,
461
+ nil, nil, nil, 11, nil, 2, nil, nil, nil, nil,
462
+ 161, nil, 16, nil, 39, 42, nil, 49, 43, nil,
463
+ 41, 44, nil, 48, 51, 52, 60, nil, nil, 141,
464
+ nil, -3, nil, nil, 55, 59, 69, 79, nil, 56,
465
+ nil, 57, 145, nil, 70, nil, 66, 73, 81, nil,
466
+ nil, nil, 82, nil, 151, nil, 77, nil, 89, nil,
467
+ nil, nil, nil, nil, 99, 109, nil, nil, 119, 129,
468
+ nil, nil, 148, nil, nil, 139, 8, nil, nil ]
469
+
470
+ racc_action_default = [
471
+ -2, -73, -1, -4, -5, -6, -7, -8, -9, -10,
472
+ -11, -12, -13, -14, -16, -73, -23, -24, -25, -26,
473
+ -27, -31, -32, -34, -72, -36, -38, -72, -40, -42,
474
+ -59, -44, -46, -59, -63, -65, -73, -3, -15, -73,
475
+ -22, -73, -30, -33, -73, -69, -70, -71, -37, -73,
476
+ -41, -73, -51, -58, -61, -45, -73, -62, -64, 89,
477
+ -17, -19, -73, -21, -18, -28, -73, -35, -66, -53,
478
+ -54, -55, -56, -57, -67, -68, -39, -43, -49, -73,
479
+ -60, -47, -73, -29, -52, -48, -73, -20, -50 ]
480
+
481
+ racc_goto_table = [
482
+ 4, 39, 4, 68, 74, 75, 5, 6, 5, 6,
483
+ 44, 42, 51, 49, 3, 56, 37, 57, 58, 1,
484
+ 2, 66, 84, 41, 43, 48, 50, 64, 84, 84,
485
+ 45, 46, 42, 45, 46, 55, 85, 86, 80, 84,
486
+ 84, nil, nil, nil, nil, nil, nil, nil, 82, nil,
487
+ nil, nil, 78 ]
488
+
489
+ racc_goto_check = [
490
+ 4, 10, 4, 31, 31, 31, 5, 6, 5, 6,
491
+ 21, 12, 27, 21, 3, 27, 3, 9, 9, 1,
492
+ 2, 11, 32, 17, 19, 23, 26, 10, 32, 32,
493
+ 5, 6, 12, 5, 6, 29, 31, 31, 33, 32,
494
+ 32, nil, nil, nil, nil, nil, nil, nil, 10, nil,
495
+ nil, nil, 4 ]
496
+
497
+ racc_goto_pointer = [
498
+ nil, 19, 20, 14, 0, 6, 7, nil, nil, -17,
499
+ -14, -20, -9, nil, nil, nil, nil, 8, nil, 2,
500
+ nil, -14, nil, 0, nil, nil, -2, -18, nil, 4,
501
+ nil, -42, -46, -16 ]
502
+
503
+ racc_goto_default = [
504
+ nil, nil, nil, nil, 70, 71, 72, 7, 8, 13,
505
+ nil, nil, 21, 16, 17, 18, 19, 20, 22, 23,
506
+ 24, nil, 25, 26, 27, 28, 29, nil, 31, 32,
507
+ 52, nil, 69, 53 ]
508
+
509
+ racc_reduce_table = [
510
+ 0, 0, :racc_error,
511
+ 1, 15, :_reduce_1,
512
+ 0, 15, :_reduce_2,
513
+ 2, 16, :_reduce_3,
514
+ 1, 16, :_reduce_4,
515
+ 1, 17, :_reduce_5,
516
+ 1, 17, :_reduce_6,
517
+ 1, 17, :_reduce_none,
518
+ 1, 17, :_reduce_8,
519
+ 1, 17, :_reduce_9,
520
+ 1, 17, :_reduce_10,
521
+ 1, 17, :_reduce_11,
522
+ 1, 21, :_reduce_12,
523
+ 1, 22, :_reduce_13,
524
+ 1, 18, :_reduce_14,
525
+ 2, 23, :_reduce_15,
526
+ 1, 23, :_reduce_16,
527
+ 3, 19, :_reduce_17,
528
+ 1, 25, :_reduce_18,
529
+ 2, 24, :_reduce_19,
530
+ 4, 24, :_reduce_20,
531
+ 2, 24, :_reduce_21,
532
+ 1, 24, :_reduce_22,
533
+ 1, 26, :_reduce_none,
534
+ 1, 26, :_reduce_none,
535
+ 1, 26, :_reduce_none,
536
+ 1, 26, :_reduce_none,
537
+ 1, 20, :_reduce_27,
538
+ 3, 20, :_reduce_28,
539
+ 4, 20, :_reduce_29,
540
+ 2, 31, :_reduce_30,
541
+ 1, 31, :_reduce_31,
542
+ 1, 27, :_reduce_32,
543
+ 2, 32, :_reduce_33,
544
+ 1, 32, :_reduce_34,
545
+ 3, 33, :_reduce_35,
546
+ 1, 28, :_reduce_36,
547
+ 2, 36, :_reduce_37,
548
+ 1, 36, :_reduce_38,
549
+ 3, 37, :_reduce_39,
550
+ 1, 29, :_reduce_40,
551
+ 2, 39, :_reduce_41,
552
+ 1, 39, :_reduce_42,
553
+ 3, 40, :_reduce_43,
554
+ 1, 30, :_reduce_44,
555
+ 2, 42, :_reduce_45,
556
+ 1, 42, :_reduce_46,
557
+ 3, 43, :_reduce_47,
558
+ 3, 41, :_reduce_48,
559
+ 2, 41, :_reduce_49,
560
+ 4, 41, :_reduce_50,
561
+ 1, 41, :_reduce_51,
562
+ 2, 45, :_reduce_52,
563
+ 1, 45, :_reduce_none,
564
+ 1, 46, :_reduce_54,
565
+ 1, 46, :_reduce_55,
566
+ 1, 46, :_reduce_none,
567
+ 1, 46, :_reduce_57,
568
+ 1, 44, :_reduce_none,
569
+ 0, 44, :_reduce_none,
570
+ 2, 47, :_reduce_none,
571
+ 1, 47, :_reduce_none,
572
+ 2, 34, :_reduce_62,
573
+ 1, 34, :_reduce_63,
574
+ 2, 38, :_reduce_64,
575
+ 1, 38, :_reduce_65,
576
+ 2, 35, :_reduce_66,
577
+ 2, 35, :_reduce_67,
578
+ 2, 35, :_reduce_68,
579
+ 1, 35, :_reduce_69,
580
+ 1, 35, :_reduce_none,
581
+ 1, 35, :_reduce_71,
582
+ 0, 35, :_reduce_72 ]
583
+
584
+ racc_reduce_n = 73
585
+
586
+ racc_shift_n = 89
587
+
588
+ racc_token_table = {
589
+ false => 0,
590
+ :error => 1,
591
+ :DUMMY => 2,
592
+ :ITEMLISTLINE => 3,
593
+ :ENUMLISTLINE => 4,
594
+ :DESCLISTLINE => 5,
595
+ :METHODLISTLINE => 6,
596
+ :STRINGLINE => 7,
597
+ :WHITELINE => 8,
598
+ :SUBTREE => 9,
599
+ :HEADLINE => 10,
600
+ :INCLUDE => 11,
601
+ :INDENT => 12,
602
+ :DEDENT => 13 }
603
+
604
+ racc_nt_base = 14
605
+
606
+ racc_use_result_var = true
607
+
608
+ Racc_arg = [
609
+ racc_action_table,
610
+ racc_action_check,
611
+ racc_action_default,
612
+ racc_action_pointer,
613
+ racc_goto_table,
614
+ racc_goto_check,
615
+ racc_goto_default,
616
+ racc_goto_pointer,
617
+ racc_nt_base,
618
+ racc_reduce_table,
619
+ racc_token_table,
620
+ racc_shift_n,
621
+ racc_reduce_n,
622
+ racc_use_result_var ]
623
+
624
+ Racc_token_to_s_table = [
625
+ "$end",
626
+ "error",
627
+ "DUMMY",
628
+ "ITEMLISTLINE",
629
+ "ENUMLISTLINE",
630
+ "DESCLISTLINE",
631
+ "METHODLISTLINE",
632
+ "STRINGLINE",
633
+ "WHITELINE",
634
+ "SUBTREE",
635
+ "HEADLINE",
636
+ "INCLUDE",
637
+ "INDENT",
638
+ "DEDENT",
639
+ "$start",
640
+ "document",
641
+ "blocks",
642
+ "block",
643
+ "textblock",
644
+ "verbatim",
645
+ "lists",
646
+ "headline",
647
+ "include",
648
+ "textblockcontent",
649
+ "verbatimcontent",
650
+ "verbatim_after_lists",
651
+ "list",
652
+ "itemlist",
653
+ "enumlist",
654
+ "desclist",
655
+ "methodlist",
656
+ "lists2",
657
+ "itemlistitems",
658
+ "itemlistitem",
659
+ "first_textblock_in_itemlist",
660
+ "other_blocks_in_list",
661
+ "enumlistitems",
662
+ "enumlistitem",
663
+ "first_textblock_in_enumlist",
664
+ "desclistitems",
665
+ "desclistitem",
666
+ "description_part",
667
+ "methodlistitems",
668
+ "methodlistitem",
669
+ "whitelines",
670
+ "blocks_in_list",
671
+ "block_in_list",
672
+ "whitelines2" ]
673
+
674
+ Racc_debug_parser = false
675
+
676
+ ##### State transition tables end #####
677
+
678
+ # reduce 0 omitted
679
+
680
+ def _reduce_1(val, _values, result)
681
+ result = RDoc::Markup::Document.new(*val[0])
682
+ result
683
+ end
684
+
685
+ def _reduce_2(val, _values, result)
686
+ raise ParseError, "file empty"
687
+ result
688
+ end
689
+
690
+ def _reduce_3(val, _values, result)
691
+ result = val[0].concat val[1]
692
+ result
693
+ end
694
+
695
+ def _reduce_4(val, _values, result)
696
+ result = val[0]
697
+ result
698
+ end
699
+
700
+ def _reduce_5(val, _values, result)
701
+ result = val
702
+ result
703
+ end
704
+
705
+ def _reduce_6(val, _values, result)
706
+ result = val
707
+ result
708
+ end
709
+
710
+ # reduce 7 omitted
711
+
712
+ def _reduce_8(val, _values, result)
713
+ result = val
714
+ result
715
+ end
716
+
717
+ def _reduce_9(val, _values, result)
718
+ result = val
719
+ result
720
+ end
721
+
722
+ def _reduce_10(val, _values, result)
723
+ result = [RDoc::Markup::BlankLine.new]
724
+ result
725
+ end
726
+
727
+ def _reduce_11(val, _values, result)
728
+ result = val[0].parts
729
+ result
730
+ end
731
+
732
+ def _reduce_12(val, _values, result)
733
+ # val[0] is like [level, title]
734
+ title = @inline_parser.parse(val[0][1])
735
+ result = RDoc::Markup::Heading.new(val[0][0], title)
736
+
737
+ result
738
+ end
739
+
740
+ def _reduce_13(val, _values, result)
741
+ result = RDoc::Markup::Include.new val[0], @include_path
742
+
743
+ result
744
+ end
745
+
746
+ def _reduce_14(val, _values, result)
747
+ # val[0] is Array of String
748
+ result = paragraph val[0]
749
+
750
+ result
751
+ end
752
+
753
+ def _reduce_15(val, _values, result)
754
+ result << val[1].rstrip
755
+ result
756
+ end
757
+
758
+ def _reduce_16(val, _values, result)
759
+ result = [val[0].rstrip]
760
+ result
761
+ end
762
+
763
+ def _reduce_17(val, _values, result)
764
+ # val[1] is Array of String
765
+ content = cut_off val[1]
766
+ result = RDoc::Markup::Verbatim.new(*content)
767
+
768
+ # imform to lexer.
769
+ @in_verbatim = false
770
+
771
+ result
772
+ end
773
+
774
+ def _reduce_18(val, _values, result)
775
+ # val[0] is Array of String
776
+ content = cut_off val[0]
777
+ result = RDoc::Markup::Verbatim.new(*content)
778
+
779
+ # imform to lexer.
780
+ @in_verbatim = false
781
+
782
+ result
783
+ end
784
+
785
+ def _reduce_19(val, _values, result)
786
+ result << val[1]
787
+
788
+ result
789
+ end
790
+
791
+ def _reduce_20(val, _values, result)
792
+ result.concat val[2]
793
+
794
+ result
795
+ end
796
+
797
+ def _reduce_21(val, _values, result)
798
+ result << "\n"
799
+
800
+ result
801
+ end
802
+
803
+ def _reduce_22(val, _values, result)
804
+ result = val
805
+ # inform to lexer.
806
+ @in_verbatim = true
807
+
808
+ result
809
+ end
810
+
811
+ # reduce 23 omitted
812
+
813
+ # reduce 24 omitted
814
+
815
+ # reduce 25 omitted
816
+
817
+ # reduce 26 omitted
818
+
819
+ def _reduce_27(val, _values, result)
820
+ result = val[0]
821
+
822
+ result
823
+ end
824
+
825
+ def _reduce_28(val, _values, result)
826
+ result = val[1]
827
+
828
+ result
829
+ end
830
+
831
+ def _reduce_29(val, _values, result)
832
+ result = val[1].push(val[2])
833
+
834
+ result
835
+ end
836
+
837
+ def _reduce_30(val, _values, result)
838
+ result = val[0] << val[1]
839
+ result
840
+ end
841
+
842
+ def _reduce_31(val, _values, result)
843
+ result = [val[0]]
844
+ result
845
+ end
846
+
847
+ def _reduce_32(val, _values, result)
848
+ result = RDoc::Markup::List.new :BULLET, *val[0]
849
+
850
+ result
851
+ end
852
+
853
+ def _reduce_33(val, _values, result)
854
+ result.push(val[1])
855
+ result
856
+ end
857
+
858
+ def _reduce_34(val, _values, result)
859
+ result = val
860
+ result
861
+ end
862
+
863
+ def _reduce_35(val, _values, result)
864
+ result = RDoc::Markup::ListItem.new nil, val[0], *val[1]
865
+
866
+ result
867
+ end
868
+
869
+ def _reduce_36(val, _values, result)
870
+ result = RDoc::Markup::List.new :NUMBER, *val[0]
871
+
872
+ result
873
+ end
874
+
875
+ def _reduce_37(val, _values, result)
876
+ result.push(val[1])
877
+ result
878
+ end
879
+
880
+ def _reduce_38(val, _values, result)
881
+ result = val
882
+ result
883
+ end
884
+
885
+ def _reduce_39(val, _values, result)
886
+ result = RDoc::Markup::ListItem.new nil, val[0], *val[1]
887
+
888
+ result
889
+ end
890
+
891
+ def _reduce_40(val, _values, result)
892
+ result = RDoc::Markup::List.new :NOTE, *val[0]
893
+
894
+ result
895
+ end
896
+
897
+ def _reduce_41(val, _values, result)
898
+ result.push(val[1])
899
+ result
900
+ end
901
+
902
+ def _reduce_42(val, _values, result)
903
+ result = val
904
+ result
905
+ end
906
+
907
+ def _reduce_43(val, _values, result)
908
+ term = @inline_parser.parse val[0].strip
909
+
910
+ result = RDoc::Markup::ListItem.new term, *val[1]
911
+
912
+ result
913
+ end
914
+
915
+ def _reduce_44(val, _values, result)
916
+ result = RDoc::Markup::List.new :LABEL, *val[0]
917
+
918
+ result
919
+ end
920
+
921
+ def _reduce_45(val, _values, result)
922
+ result.push(val[1])
923
+ result
924
+ end
925
+
926
+ def _reduce_46(val, _values, result)
927
+ result = val
928
+ result
929
+ end
930
+
931
+ def _reduce_47(val, _values, result)
932
+ result = RDoc::Markup::ListItem.new "<tt>#{val[0].strip}</tt>", *val[1]
933
+
934
+ result
935
+ end
936
+
937
+ def _reduce_48(val, _values, result)
938
+ result = [val[1]].concat(val[2])
939
+
940
+ result
941
+ end
942
+
943
+ def _reduce_49(val, _values, result)
944
+ result = [val[1]]
945
+
946
+ result
947
+ end
948
+
949
+ def _reduce_50(val, _values, result)
950
+ result = val[2]
951
+
952
+ result
953
+ end
954
+
955
+ def _reduce_51(val, _values, result)
956
+ result = []
957
+
958
+ result
959
+ end
960
+
961
+ def _reduce_52(val, _values, result)
962
+ result.concat val[1]
963
+ result
964
+ end
965
+
966
+ # reduce 53 omitted
967
+
968
+ def _reduce_54(val, _values, result)
969
+ result = val
970
+ result
971
+ end
972
+
973
+ def _reduce_55(val, _values, result)
974
+ result = val
975
+ result
976
+ end
977
+
978
+ # reduce 56 omitted
979
+
980
+ def _reduce_57(val, _values, result)
981
+ result = []
982
+ result
983
+ end
984
+
985
+ # reduce 58 omitted
986
+
987
+ # reduce 59 omitted
988
+
989
+ # reduce 60 omitted
990
+
991
+ # reduce 61 omitted
992
+
993
+ def _reduce_62(val, _values, result)
994
+ result = paragraph [val[0]].concat(val[1])
995
+
996
+ result
997
+ end
998
+
999
+ def _reduce_63(val, _values, result)
1000
+ result = paragraph [val[0]]
1001
+
1002
+ result
1003
+ end
1004
+
1005
+ def _reduce_64(val, _values, result)
1006
+ result = paragraph [val[0]].concat(val[1])
1007
+
1008
+ result
1009
+ end
1010
+
1011
+ def _reduce_65(val, _values, result)
1012
+ result = paragraph [val[0]]
1013
+
1014
+ result
1015
+ end
1016
+
1017
+ def _reduce_66(val, _values, result)
1018
+ result = [val[0]].concat(val[1])
1019
+
1020
+ result
1021
+ end
1022
+
1023
+ def _reduce_67(val, _values, result)
1024
+ result.concat val[1]
1025
+ result
1026
+ end
1027
+
1028
+ def _reduce_68(val, _values, result)
1029
+ result = val[1]
1030
+ result
1031
+ end
1032
+
1033
+ def _reduce_69(val, _values, result)
1034
+ result = val
1035
+ result
1036
+ end
1037
+
1038
+ # reduce 70 omitted
1039
+
1040
+ def _reduce_71(val, _values, result)
1041
+ result = []
1042
+ result
1043
+ end
1044
+
1045
+ def _reduce_72(val, _values, result)
1046
+ result = []
1047
+ result
1048
+ end
1049
+
1050
+ def _reduce_none(val, _values, result)
1051
+ val[0]
1052
+ end
1053
+
1054
+ end # class BlockParser
1055
+
1056
+ end