rdoc 6.3.4.1 → 8.0.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 (205) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +195 -0
  3. data/History.rdoc +65 -63
  4. data/LEGAL.rdoc +7 -1
  5. data/LICENSE.rdoc +6 -0
  6. data/README.md +236 -0
  7. data/RI.md +842 -0
  8. data/TODO.rdoc +8 -7
  9. data/doc/markup_reference/markdown.md +659 -0
  10. data/doc/markup_reference/rdoc.rdoc +1169 -0
  11. data/exe/rdoc +0 -1
  12. data/lib/rdoc/{alias.rb → code_object/alias.rb} +4 -18
  13. data/lib/rdoc/{any_method.rb → code_object/any_method.rb} +50 -24
  14. data/lib/rdoc/{attr.rb → code_object/attr.rb} +16 -14
  15. data/lib/rdoc/{class_module.rb → code_object/class_module.rb} +225 -58
  16. data/lib/rdoc/{constant.rb → code_object/constant.rb} +44 -10
  17. data/lib/rdoc/code_object/context/section.rb +182 -0
  18. data/lib/rdoc/{context.rb → code_object/context.rb} +78 -106
  19. data/lib/rdoc/{extend.rb → code_object/extend.rb} +0 -1
  20. data/lib/rdoc/{include.rb → code_object/include.rb} +0 -1
  21. data/lib/rdoc/{method_attr.rb → code_object/method_attr.rb} +46 -48
  22. data/lib/rdoc/{mixin.rb → code_object/mixin.rb} +6 -4
  23. data/lib/rdoc/{normal_class.rb → code_object/normal_class.rb} +2 -3
  24. data/lib/rdoc/{normal_module.rb → code_object/normal_module.rb} +2 -3
  25. data/lib/rdoc/{require.rb → code_object/require.rb} +1 -2
  26. data/lib/rdoc/{single_class.rb → code_object/single_class.rb} +5 -1
  27. data/lib/rdoc/{top_level.rb → code_object/top_level.rb} +60 -63
  28. data/lib/rdoc/code_object.rb +11 -39
  29. data/lib/rdoc/code_objects.rb +1 -2
  30. data/lib/rdoc/comment.rb +202 -99
  31. data/lib/rdoc/cross_reference.rb +75 -62
  32. data/lib/rdoc/encoding.rb +8 -24
  33. data/lib/rdoc/erb_partial.rb +1 -2
  34. data/lib/rdoc/erbio.rb +3 -8
  35. data/lib/rdoc/generator/aliki.rb +200 -0
  36. data/lib/rdoc/generator/darkfish.rb +156 -122
  37. data/lib/rdoc/generator/json_index.rb +8 -24
  38. data/lib/rdoc/generator/markup.rb +70 -34
  39. data/lib/rdoc/generator/pot/message_extractor.rb +7 -7
  40. data/lib/rdoc/generator/pot/po.rb +1 -1
  41. data/lib/rdoc/generator/pot/po_entry.rb +8 -8
  42. data/lib/rdoc/generator/pot.rb +1 -5
  43. data/lib/rdoc/generator/ri.rb +1 -2
  44. data/lib/rdoc/generator/template/aliki/DESIGN.md +536 -0
  45. data/lib/rdoc/generator/template/aliki/_aside_toc.rhtml +8 -0
  46. data/lib/rdoc/generator/template/aliki/_footer.rhtml +23 -0
  47. data/lib/rdoc/generator/template/aliki/_head.rhtml +163 -0
  48. data/lib/rdoc/generator/template/aliki/_header.rhtml +56 -0
  49. data/lib/rdoc/generator/template/aliki/_icons.rhtml +208 -0
  50. data/lib/rdoc/generator/template/aliki/_sidebar_ancestors.rhtml +16 -0
  51. data/lib/rdoc/generator/template/aliki/_sidebar_classes.rhtml +15 -0
  52. data/lib/rdoc/generator/template/aliki/_sidebar_extends.rhtml +27 -0
  53. data/lib/rdoc/generator/template/aliki/_sidebar_includes.rhtml +27 -0
  54. data/lib/rdoc/generator/template/aliki/_sidebar_installed.rhtml +16 -0
  55. data/lib/rdoc/generator/template/aliki/_sidebar_methods.rhtml +41 -0
  56. data/lib/rdoc/generator/template/aliki/_sidebar_pages.rhtml +67 -0
  57. data/lib/rdoc/generator/template/aliki/_sidebar_search.rhtml +15 -0
  58. data/lib/rdoc/generator/template/aliki/_sidebar_sections.rhtml +21 -0
  59. data/lib/rdoc/generator/template/aliki/_sidebar_toggle.rhtml +3 -0
  60. data/lib/rdoc/generator/template/aliki/class.rhtml +230 -0
  61. data/lib/rdoc/generator/template/aliki/css/rdoc.css +2181 -0
  62. data/lib/rdoc/generator/template/aliki/index.rhtml +22 -0
  63. data/lib/rdoc/generator/template/aliki/js/aliki.js +513 -0
  64. data/lib/rdoc/generator/template/aliki/js/bash_highlighter.js +167 -0
  65. data/lib/rdoc/generator/template/aliki/js/c_highlighter.js +299 -0
  66. data/lib/rdoc/generator/template/aliki/js/search_controller.js +129 -0
  67. data/lib/rdoc/generator/template/aliki/js/search_navigation.js +105 -0
  68. data/lib/rdoc/generator/template/aliki/js/search_ranker.js +239 -0
  69. data/lib/rdoc/generator/template/aliki/js/theme-toggle.js +112 -0
  70. data/lib/rdoc/generator/template/aliki/page.rhtml +18 -0
  71. data/lib/rdoc/generator/template/aliki/servlet_not_found.rhtml +14 -0
  72. data/lib/rdoc/generator/template/aliki/servlet_root.rhtml +65 -0
  73. data/lib/rdoc/generator/template/darkfish/_footer.rhtml +3 -3
  74. data/lib/rdoc/generator/template/darkfish/_head.rhtml +35 -14
  75. data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +1 -5
  76. data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +11 -9
  77. data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +11 -9
  78. data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +7 -6
  79. data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +20 -11
  80. data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +25 -5
  81. data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +4 -9
  82. data/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml +2 -1
  83. data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +4 -4
  84. data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +28 -7
  85. data/lib/rdoc/generator/template/darkfish/_sidebar_toggle.rhtml +3 -0
  86. data/lib/rdoc/generator/template/darkfish/class.rhtml +138 -90
  87. data/lib/rdoc/generator/template/darkfish/css/rdoc.css +420 -358
  88. data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
  89. data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
  90. data/lib/rdoc/generator/template/darkfish/index.rhtml +14 -12
  91. data/lib/rdoc/generator/template/darkfish/js/darkfish.js +59 -3
  92. data/lib/rdoc/generator/template/darkfish/js/search.js +15 -5
  93. data/lib/rdoc/generator/template/darkfish/page.rhtml +7 -6
  94. data/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml +12 -9
  95. data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +24 -21
  96. data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +35 -21
  97. data/lib/rdoc/generator/template/json_index/js/navigation.js +8 -8
  98. data/lib/rdoc/generator/template/json_index/js/searcher.js +48 -6
  99. data/lib/rdoc/generator.rb +6 -5
  100. data/lib/rdoc/i18n/text.rb +3 -3
  101. data/lib/rdoc/i18n.rb +1 -1
  102. data/lib/rdoc/known_classes.rb +5 -4
  103. data/lib/rdoc/markdown/entities.rb +0 -1
  104. data/lib/rdoc/markdown/literals.kpeg +0 -2
  105. data/lib/rdoc/markdown/literals.rb +0 -1
  106. data/lib/rdoc/markdown.kpeg +140 -62
  107. data/lib/rdoc/markdown.rb +1015 -873
  108. data/lib/rdoc/markup/blank_line.rb +25 -24
  109. data/lib/rdoc/markup/block_quote.rb +1 -2
  110. data/lib/rdoc/markup/document.rb +10 -11
  111. data/lib/rdoc/markup/element.rb +21 -0
  112. data/lib/rdoc/markup/formatter.rb +134 -115
  113. data/lib/rdoc/markup/hard_break.rb +30 -28
  114. data/lib/rdoc/markup/heading.rb +163 -72
  115. data/lib/rdoc/markup/include.rb +3 -4
  116. data/lib/rdoc/markup/indented_paragraph.rb +4 -5
  117. data/lib/rdoc/markup/inline_parser.rb +312 -0
  118. data/lib/rdoc/markup/list.rb +6 -7
  119. data/lib/rdoc/markup/list_item.rb +6 -7
  120. data/lib/rdoc/markup/paragraph.rb +2 -3
  121. data/lib/rdoc/markup/parser.rb +29 -19
  122. data/lib/rdoc/markup/pre_process.rb +39 -18
  123. data/lib/rdoc/markup/raw.rb +52 -56
  124. data/lib/rdoc/markup/rule.rb +2 -3
  125. data/lib/rdoc/markup/table.rb +49 -32
  126. data/lib/rdoc/markup/to_ansi.rb +58 -8
  127. data/lib/rdoc/markup/to_bs.rb +47 -38
  128. data/lib/rdoc/markup/to_html.rb +343 -105
  129. data/lib/rdoc/markup/to_html_crossref.rb +143 -58
  130. data/lib/rdoc/markup/to_html_snippet.rb +78 -76
  131. data/lib/rdoc/markup/to_joined_paragraph.rb +3 -9
  132. data/lib/rdoc/markup/to_label.rb +34 -25
  133. data/lib/rdoc/markup/to_markdown.rb +74 -51
  134. data/lib/rdoc/markup/to_rdoc.rb +141 -82
  135. data/lib/rdoc/markup/to_table_of_contents.rb +4 -5
  136. data/lib/rdoc/markup/to_test.rb +10 -3
  137. data/lib/rdoc/markup/to_tt_only.rb +17 -31
  138. data/lib/rdoc/markup/verbatim.rb +5 -6
  139. data/lib/rdoc/markup.rb +59 -707
  140. data/lib/rdoc/options.rb +228 -101
  141. data/lib/rdoc/parser/c.rb +186 -184
  142. data/lib/rdoc/parser/changelog.rb +57 -13
  143. data/lib/rdoc/parser/markdown.rb +0 -2
  144. data/lib/rdoc/parser/rbs.rb +275 -0
  145. data/lib/rdoc/parser/rd.rb +0 -1
  146. data/lib/rdoc/parser/ruby.rb +963 -2024
  147. data/lib/rdoc/parser/ruby_colorizer.rb +253 -0
  148. data/lib/rdoc/parser/simple.rb +6 -23
  149. data/lib/rdoc/parser/text.rb +0 -1
  150. data/lib/rdoc/parser.rb +35 -14
  151. data/lib/rdoc/rbs_helper.rb +186 -0
  152. data/lib/rdoc/rd/block_parser.rb +659 -11
  153. data/lib/rdoc/rd/block_parser.ry +13 -9
  154. data/lib/rdoc/rd/inline.rb +4 -5
  155. data/lib/rdoc/rd/inline_parser.rb +646 -2
  156. data/lib/rdoc/rd.rb +4 -5
  157. data/lib/rdoc/rdoc.rb +234 -90
  158. data/lib/rdoc/ri/driver.rb +172 -172
  159. data/lib/rdoc/ri/paths.rb +3 -3
  160. data/lib/rdoc/{servlet.rb → ri/servlet.rb} +28 -27
  161. data/lib/rdoc/ri/store.rb +0 -1
  162. data/lib/rdoc/ri/task.rb +3 -3
  163. data/lib/rdoc/ri.rb +5 -5
  164. data/lib/rdoc/rubygems_hook.rb +106 -25
  165. data/lib/rdoc/server.rb +460 -0
  166. data/lib/rdoc/stats/normal.rb +1 -1
  167. data/lib/rdoc/stats/quiet.rb +1 -2
  168. data/lib/rdoc/stats/verbose.rb +3 -5
  169. data/lib/rdoc/stats.rb +158 -136
  170. data/lib/rdoc/store.rb +267 -48
  171. data/lib/rdoc/task.rb +54 -28
  172. data/lib/rdoc/text.rb +60 -120
  173. data/lib/rdoc/token_stream.rb +30 -45
  174. data/lib/rdoc/tom_doc.rb +9 -15
  175. data/lib/rdoc/version.rb +3 -1
  176. data/lib/rdoc.rb +90 -52
  177. data/lib/rubygems_plugin.rb +14 -0
  178. data/man/ri.1 +2 -0
  179. data/rdoc-logo.svg +43 -0
  180. data/rdoc.gemspec +25 -200
  181. metadata +120 -53
  182. data/CONTRIBUTING.rdoc +0 -220
  183. data/ExampleMarkdown.md +0 -37
  184. data/ExampleRDoc.rdoc +0 -208
  185. data/Gemfile +0 -12
  186. data/README.rdoc +0 -129
  187. data/RI.rdoc +0 -57
  188. data/Rakefile +0 -101
  189. data/bin/console +0 -7
  190. data/bin/setup +0 -6
  191. data/lib/rdoc/anon_class.rb +0 -11
  192. data/lib/rdoc/context/section.rb +0 -232
  193. data/lib/rdoc/generator/template/darkfish/.document +0 -0
  194. data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +0 -19
  195. data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +0 -9
  196. data/lib/rdoc/generator/template/json_index/.document +0 -1
  197. data/lib/rdoc/ghost_method.rb +0 -7
  198. data/lib/rdoc/markup/attr_changer.rb +0 -23
  199. data/lib/rdoc/markup/attr_span.rb +0 -36
  200. data/lib/rdoc/markup/attribute_manager.rb +0 -409
  201. data/lib/rdoc/markup/attributes.rb +0 -71
  202. data/lib/rdoc/markup/regexp_handling.rb +0 -41
  203. data/lib/rdoc/meta_method.rb +0 -7
  204. data/lib/rdoc/parser/ripper_state_lex.rb +0 -590
  205. data/lib/rdoc/parser/ruby_tools.rb +0 -167
data/lib/rdoc/markdown.rb CHANGED
@@ -6,7 +6,7 @@
6
6
  # RDoc::Markdown as described by the [markdown syntax][syntax].
7
7
  #
8
8
  # To choose Markdown as your only default format see
9
- # RDoc::Options@Saved+Options for instructions on setting up a `.doc_options`
9
+ # RDoc::Options@Saved+Options for instructions on setting up a `.rdoc_options`
10
10
  # file to store your project default.
11
11
  #
12
12
  # ## Usage
@@ -175,7 +175,7 @@
175
175
  # [dingus]: http://daringfireball.net/projects/markdown/dingus
176
176
  # [GFM]: https://github.github.com/gfm/
177
177
  # [pegmarkdown]: https://github.com/jgm/peg-markdown
178
- # [PHPE]: http://michelf.com/projects/php-markdown/extra/#def-list
178
+ # [PHPE]: https://michelf.ca/projects/php-markdown/extra/#def-list
179
179
  # [syntax]: http://daringfireball.net/projects/markdown/syntax
180
180
  #--
181
181
  # Last updated to jgm/peg-markdown commit 8f8fc22ef0
@@ -572,11 +572,11 @@ class RDoc::Markdown
572
572
 
573
573
 
574
574
 
575
- require 'rdoc'
576
- require 'rdoc/markup/to_joined_paragraph'
577
- require 'rdoc/markdown/entities'
575
+ require_relative '../rdoc'
576
+ require_relative 'markup/to_joined_paragraph'
577
+ require_relative 'markdown/entities'
578
578
 
579
- require 'rdoc/markdown/literals'
579
+ require_relative 'markdown/literals'
580
580
 
581
581
  ##
582
582
  # Supported extensions
@@ -688,6 +688,20 @@ class RDoc::Markdown
688
688
  end
689
689
  end
690
690
 
691
+ # Escape character that has special meaning in RDoc format.
692
+ # To allow rdoc-styled link used in markdown format for now, bracket and brace are not escaped.
693
+
694
+ def rdoc_escape(text)
695
+ text.gsub(/[*+<\\_]/) {|s| "\\#{s}" }
696
+ end
697
+
698
+ # Escape link url that contains brackets.
699
+ # Brackets needs escape because link url will be surrounded by `[]` in RDoc format.
700
+
701
+ def rdoc_link_url_escape(text)
702
+ text.gsub(/[\[\]\\]/) {|s| "\\#{s}" }
703
+ end
704
+
691
705
  ##
692
706
  # :category: Extensions
693
707
  #
@@ -774,6 +788,8 @@ class RDoc::Markdown
774
788
  # the note order list for proper display at the end of the document.
775
789
 
776
790
  def note_for ref
791
+ return unless @note_order
792
+
777
793
  @note_order << ref
778
794
 
779
795
  label = @note_order.length
@@ -834,7 +850,7 @@ class RDoc::Markdown
834
850
 
835
851
  @note_order.each_with_index do |ref, index|
836
852
  label = index + 1
837
- note = @footnotes[ref]
853
+ note = @footnotes[ref] or raise ParseError, "footnote [^#{ref}] not found"
838
854
 
839
855
  link = "{^#{label}}[rdoc-label:footmark-#{label}:foottext-#{label}] "
840
856
  note.parts.unshift link
@@ -875,10 +891,57 @@ class RDoc::Markdown
875
891
  # Wraps `text` in strike markup for rdoc inline formatting
876
892
 
877
893
  def strike text
878
- if text =~ /\A[a-z\d.\/-]+\z/i then
879
- "~#{text}~"
894
+ "<del>#{text}</del>"
895
+ end
896
+
897
+ ##
898
+ # Wraps `text` in code markup for rdoc inline formatting
899
+
900
+ def code text
901
+ # trim even spaces
902
+ text = $2 while /\A( +|\t+)(.*)\1\z/ =~ text
903
+ # escape unescaped backslash at the end
904
+ backslash_at_end = "\\" if /(?<!\\)(?:\\\\)*\\\z/.match?(text)
905
+ "<code>#{text}#{backslash_at_end}</code>"
906
+ end
907
+
908
+ ##
909
+ # Parses inline markdown in table cells
910
+
911
+ def parse_table_cells(table)
912
+ # Parse header cells
913
+ table.header = table.header.map { |cell| parse_cell_inline(cell) }
914
+
915
+ # Parse body cells
916
+ table.body = table.body.map do |row|
917
+ row.map { |cell| parse_cell_inline(cell) }
918
+ end
919
+
920
+ table
921
+ end
922
+
923
+ ##
924
+ # Parses inline markdown in a single table cell
925
+
926
+ def parse_cell_inline(text)
927
+ return text if text.nil? || text.empty?
928
+
929
+ # Create a new parser instance for the cell
930
+ cell_parser = RDoc::Markdown.new(@extensions, @debug)
931
+
932
+ # Parse the cell content
933
+ doc = cell_parser.parse(text)
934
+
935
+ # Extract the parsed content
936
+ if doc && doc.parts && !doc.parts.empty?
937
+ para = doc.parts.first
938
+ if para.is_a?(RDoc::Markup::Paragraph)
939
+ para.parts.join
940
+ else
941
+ text
942
+ end
880
943
  else
881
- "<s>#{text}</s>"
944
+ text
882
945
  end
883
946
  end
884
947
 
@@ -1158,7 +1221,7 @@ class RDoc::Markdown
1158
1221
  return _tmp
1159
1222
  end
1160
1223
 
1161
- # AtxHeading = AtxStart:s @Sp AtxInline+:a (@Sp /#*/ @Sp)? @Newline { RDoc::Markup::Heading.new(s, a.join) }
1224
+ # AtxHeading = AtxStart:s @Spacechar+ AtxInline+:a (@Sp /#*/ @Sp)? @Newline { RDoc::Markup::Heading.new(s, a.join) }
1162
1225
  def _AtxHeading
1163
1226
 
1164
1227
  _save = self.pos
@@ -1169,12 +1232,22 @@ class RDoc::Markdown
1169
1232
  self.pos = _save
1170
1233
  break
1171
1234
  end
1172
- _tmp = _Sp()
1235
+ _save1 = self.pos
1236
+ _tmp = _Spacechar()
1237
+ if _tmp
1238
+ while true
1239
+ _tmp = _Spacechar()
1240
+ break unless _tmp
1241
+ end
1242
+ _tmp = true
1243
+ else
1244
+ self.pos = _save1
1245
+ end
1173
1246
  unless _tmp
1174
1247
  self.pos = _save
1175
1248
  break
1176
1249
  end
1177
- _save1 = self.pos
1250
+ _save2 = self.pos
1178
1251
  _ary = []
1179
1252
  _tmp = apply(:_AtxInline)
1180
1253
  if _tmp
@@ -1187,37 +1260,37 @@ class RDoc::Markdown
1187
1260
  _tmp = true
1188
1261
  @result = _ary
1189
1262
  else
1190
- self.pos = _save1
1263
+ self.pos = _save2
1191
1264
  end
1192
1265
  a = @result
1193
1266
  unless _tmp
1194
1267
  self.pos = _save
1195
1268
  break
1196
1269
  end
1197
- _save2 = self.pos
1198
-
1199
1270
  _save3 = self.pos
1271
+
1272
+ _save4 = self.pos
1200
1273
  while true # sequence
1201
1274
  _tmp = _Sp()
1202
1275
  unless _tmp
1203
- self.pos = _save3
1276
+ self.pos = _save4
1204
1277
  break
1205
1278
  end
1206
1279
  _tmp = scan(/\G(?-mix:#*)/)
1207
1280
  unless _tmp
1208
- self.pos = _save3
1281
+ self.pos = _save4
1209
1282
  break
1210
1283
  end
1211
1284
  _tmp = _Sp()
1212
1285
  unless _tmp
1213
- self.pos = _save3
1286
+ self.pos = _save4
1214
1287
  end
1215
1288
  break
1216
1289
  end # end sequence
1217
1290
 
1218
1291
  unless _tmp
1219
1292
  _tmp = true
1220
- self.pos = _save2
1293
+ self.pos = _save3
1221
1294
  end
1222
1295
  unless _tmp
1223
1296
  self.pos = _save
@@ -1585,7 +1658,7 @@ class RDoc::Markdown
1585
1658
  return _tmp
1586
1659
  end
1587
1660
 
1588
- # BlockQuoteRaw = @StartList:a (">" " "? Line:l { a << l } (!">" !@BlankLine Line:c { a << c })* (@BlankLine:n { a << n })*)+ { inner_parse a.join }
1661
+ # BlockQuoteRaw = @StartList:a (">" " "? Line:l { a << l } (!">" !@BlankLine !(AtxStart @Spacechar) !Bullet !Enumerator !(&{ github? } Ticks3) Line:c { a << c })* (">" @BlankLine:n { a << n })*)+ { inner_parse a.join }
1589
1662
  def _BlockQuoteRaw
1590
1663
 
1591
1664
  _save = self.pos
@@ -1647,6 +1720,68 @@ class RDoc::Markdown
1647
1720
  self.pos = _save5
1648
1721
  break
1649
1722
  end
1723
+ _save8 = self.pos
1724
+
1725
+ _save9 = self.pos
1726
+ while true # sequence
1727
+ _tmp = apply(:_AtxStart)
1728
+ unless _tmp
1729
+ self.pos = _save9
1730
+ break
1731
+ end
1732
+ _tmp = _Spacechar()
1733
+ unless _tmp
1734
+ self.pos = _save9
1735
+ end
1736
+ break
1737
+ end # end sequence
1738
+
1739
+ _tmp = _tmp ? nil : true
1740
+ self.pos = _save8
1741
+ unless _tmp
1742
+ self.pos = _save5
1743
+ break
1744
+ end
1745
+ _save10 = self.pos
1746
+ _tmp = apply(:_Bullet)
1747
+ _tmp = _tmp ? nil : true
1748
+ self.pos = _save10
1749
+ unless _tmp
1750
+ self.pos = _save5
1751
+ break
1752
+ end
1753
+ _save11 = self.pos
1754
+ _tmp = apply(:_Enumerator)
1755
+ _tmp = _tmp ? nil : true
1756
+ self.pos = _save11
1757
+ unless _tmp
1758
+ self.pos = _save5
1759
+ break
1760
+ end
1761
+ _save12 = self.pos
1762
+
1763
+ _save13 = self.pos
1764
+ while true # sequence
1765
+ _save14 = self.pos
1766
+ _tmp = begin; github? ; end
1767
+ self.pos = _save14
1768
+ unless _tmp
1769
+ self.pos = _save13
1770
+ break
1771
+ end
1772
+ _tmp = apply(:_Ticks3)
1773
+ unless _tmp
1774
+ self.pos = _save13
1775
+ end
1776
+ break
1777
+ end # end sequence
1778
+
1779
+ _tmp = _tmp ? nil : true
1780
+ self.pos = _save12
1781
+ unless _tmp
1782
+ self.pos = _save5
1783
+ break
1784
+ end
1650
1785
  _tmp = apply(:_Line)
1651
1786
  c = @result
1652
1787
  unless _tmp
@@ -1670,18 +1805,23 @@ class RDoc::Markdown
1670
1805
  end
1671
1806
  while true
1672
1807
 
1673
- _save9 = self.pos
1808
+ _save16 = self.pos
1674
1809
  while true # sequence
1810
+ _tmp = match_string(">")
1811
+ unless _tmp
1812
+ self.pos = _save16
1813
+ break
1814
+ end
1675
1815
  _tmp = _BlankLine()
1676
1816
  n = @result
1677
1817
  unless _tmp
1678
- self.pos = _save9
1818
+ self.pos = _save16
1679
1819
  break
1680
1820
  end
1681
1821
  @result = begin; a << n ; end
1682
1822
  _tmp = true
1683
1823
  unless _tmp
1684
- self.pos = _save9
1824
+ self.pos = _save16
1685
1825
  end
1686
1826
  break
1687
1827
  end # end sequence
@@ -1698,65 +1838,127 @@ class RDoc::Markdown
1698
1838
  if _tmp
1699
1839
  while true
1700
1840
 
1701
- _save10 = self.pos
1841
+ _save17 = self.pos
1702
1842
  while true # sequence
1703
1843
  _tmp = match_string(">")
1704
1844
  unless _tmp
1705
- self.pos = _save10
1845
+ self.pos = _save17
1706
1846
  break
1707
1847
  end
1708
- _save11 = self.pos
1848
+ _save18 = self.pos
1709
1849
  _tmp = match_string(" ")
1710
1850
  unless _tmp
1711
1851
  _tmp = true
1712
- self.pos = _save11
1852
+ self.pos = _save18
1713
1853
  end
1714
1854
  unless _tmp
1715
- self.pos = _save10
1855
+ self.pos = _save17
1716
1856
  break
1717
1857
  end
1718
1858
  _tmp = apply(:_Line)
1719
1859
  l = @result
1720
1860
  unless _tmp
1721
- self.pos = _save10
1861
+ self.pos = _save17
1722
1862
  break
1723
1863
  end
1724
1864
  @result = begin; a << l ; end
1725
1865
  _tmp = true
1726
1866
  unless _tmp
1727
- self.pos = _save10
1867
+ self.pos = _save17
1728
1868
  break
1729
1869
  end
1730
1870
  while true
1731
1871
 
1732
- _save13 = self.pos
1872
+ _save20 = self.pos
1733
1873
  while true # sequence
1734
- _save14 = self.pos
1874
+ _save21 = self.pos
1735
1875
  _tmp = match_string(">")
1736
1876
  _tmp = _tmp ? nil : true
1737
- self.pos = _save14
1877
+ self.pos = _save21
1738
1878
  unless _tmp
1739
- self.pos = _save13
1879
+ self.pos = _save20
1740
1880
  break
1741
1881
  end
1742
- _save15 = self.pos
1882
+ _save22 = self.pos
1743
1883
  _tmp = _BlankLine()
1744
1884
  _tmp = _tmp ? nil : true
1745
- self.pos = _save15
1885
+ self.pos = _save22
1886
+ unless _tmp
1887
+ self.pos = _save20
1888
+ break
1889
+ end
1890
+ _save23 = self.pos
1891
+
1892
+ _save24 = self.pos
1893
+ while true # sequence
1894
+ _tmp = apply(:_AtxStart)
1895
+ unless _tmp
1896
+ self.pos = _save24
1897
+ break
1898
+ end
1899
+ _tmp = _Spacechar()
1900
+ unless _tmp
1901
+ self.pos = _save24
1902
+ end
1903
+ break
1904
+ end # end sequence
1905
+
1906
+ _tmp = _tmp ? nil : true
1907
+ self.pos = _save23
1908
+ unless _tmp
1909
+ self.pos = _save20
1910
+ break
1911
+ end
1912
+ _save25 = self.pos
1913
+ _tmp = apply(:_Bullet)
1914
+ _tmp = _tmp ? nil : true
1915
+ self.pos = _save25
1916
+ unless _tmp
1917
+ self.pos = _save20
1918
+ break
1919
+ end
1920
+ _save26 = self.pos
1921
+ _tmp = apply(:_Enumerator)
1922
+ _tmp = _tmp ? nil : true
1923
+ self.pos = _save26
1924
+ unless _tmp
1925
+ self.pos = _save20
1926
+ break
1927
+ end
1928
+ _save27 = self.pos
1929
+
1930
+ _save28 = self.pos
1931
+ while true # sequence
1932
+ _save29 = self.pos
1933
+ _tmp = begin; github? ; end
1934
+ self.pos = _save29
1935
+ unless _tmp
1936
+ self.pos = _save28
1937
+ break
1938
+ end
1939
+ _tmp = apply(:_Ticks3)
1940
+ unless _tmp
1941
+ self.pos = _save28
1942
+ end
1943
+ break
1944
+ end # end sequence
1945
+
1946
+ _tmp = _tmp ? nil : true
1947
+ self.pos = _save27
1746
1948
  unless _tmp
1747
- self.pos = _save13
1949
+ self.pos = _save20
1748
1950
  break
1749
1951
  end
1750
1952
  _tmp = apply(:_Line)
1751
1953
  c = @result
1752
1954
  unless _tmp
1753
- self.pos = _save13
1955
+ self.pos = _save20
1754
1956
  break
1755
1957
  end
1756
1958
  @result = begin; a << c ; end
1757
1959
  _tmp = true
1758
1960
  unless _tmp
1759
- self.pos = _save13
1961
+ self.pos = _save20
1760
1962
  end
1761
1963
  break
1762
1964
  end # end sequence
@@ -1765,23 +1967,28 @@ class RDoc::Markdown
1765
1967
  end
1766
1968
  _tmp = true
1767
1969
  unless _tmp
1768
- self.pos = _save10
1970
+ self.pos = _save17
1769
1971
  break
1770
1972
  end
1771
1973
  while true
1772
1974
 
1773
- _save17 = self.pos
1975
+ _save31 = self.pos
1774
1976
  while true # sequence
1977
+ _tmp = match_string(">")
1978
+ unless _tmp
1979
+ self.pos = _save31
1980
+ break
1981
+ end
1775
1982
  _tmp = _BlankLine()
1776
1983
  n = @result
1777
1984
  unless _tmp
1778
- self.pos = _save17
1985
+ self.pos = _save31
1779
1986
  break
1780
1987
  end
1781
1988
  @result = begin; a << n ; end
1782
1989
  _tmp = true
1783
1990
  unless _tmp
1784
- self.pos = _save17
1991
+ self.pos = _save31
1785
1992
  end
1786
1993
  break
1787
1994
  end # end sequence
@@ -1790,7 +1997,7 @@ class RDoc::Markdown
1790
1997
  end
1791
1998
  _tmp = true
1792
1999
  unless _tmp
1793
- self.pos = _save10
2000
+ self.pos = _save17
1794
2001
  end
1795
2002
  break
1796
2003
  end # end sequence
@@ -9582,7 +9789,7 @@ class RDoc::Markdown
9582
9789
  return _tmp
9583
9790
  end
9584
9791
 
9585
- # Inline = (Str | @Endline | UlOrStarLine | @Space | Strong | Emph | Strike | Image | Link | NoteReference | InlineNote | Code | RawHtml | Entity | EscapedChar | Symbol)
9792
+ # Inline = (Str | @Endline | UlOrStarLine | @Space | Strong | Emph | Strike | Image | Link | NoteReference | InlineNote | Code | RawHtml | StrippedComment | Entity | EscapedChar | Symbol)
9586
9793
  def _Inline
9587
9794
 
9588
9795
  _save = self.pos
@@ -9626,6 +9833,9 @@ class RDoc::Markdown
9626
9833
  _tmp = apply(:_RawHtml)
9627
9834
  break if _tmp
9628
9835
  self.pos = _save
9836
+ _tmp = apply(:_StrippedComment)
9837
+ break if _tmp
9838
+ self.pos = _save
9629
9839
  _tmp = apply(:_Entity)
9630
9840
  break if _tmp
9631
9841
  self.pos = _save
@@ -9674,7 +9884,7 @@ class RDoc::Markdown
9674
9884
  return _tmp
9675
9885
  end
9676
9886
 
9677
- # Str = @StartList:a < @NormalChar+ > { a = text } (StrChunk:c { a << c })* { a }
9887
+ # Str = @StartList:a < @NormalChar+ > { a = text } (StrChunk:c { a << c })* { rdoc_escape(a) }
9678
9888
  def _Str
9679
9889
 
9680
9890
  _save = self.pos
@@ -9735,7 +9945,7 @@ class RDoc::Markdown
9735
9945
  self.pos = _save
9736
9946
  break
9737
9947
  end
9738
- @result = begin; a ; end
9948
+ @result = begin; rdoc_escape(a) ; end
9739
9949
  _tmp = true
9740
9950
  unless _tmp
9741
9951
  self.pos = _save
@@ -9837,7 +10047,7 @@ class RDoc::Markdown
9837
10047
  return _tmp
9838
10048
  end
9839
10049
 
9840
- # EscapedChar = "\\" !@Newline < /[:\\`|*_{}\[\]()#+.!><-]/ > { text }
10050
+ # EscapedChar = "\\" !@Newline < /[:\\`|*_{}\[\]()#+.!><-]/ > { rdoc_escape(text) }
9841
10051
  def _EscapedChar
9842
10052
 
9843
10053
  _save = self.pos
@@ -9864,7 +10074,7 @@ class RDoc::Markdown
9864
10074
  self.pos = _save
9865
10075
  break
9866
10076
  end
9867
- @result = begin; text ; end
10077
+ @result = begin; rdoc_escape(text) ; end
9868
10078
  _tmp = true
9869
10079
  unless _tmp
9870
10080
  self.pos = _save
@@ -10065,7 +10275,7 @@ class RDoc::Markdown
10065
10275
  return _tmp
10066
10276
  end
10067
10277
 
10068
- # Symbol = < @SpecialChar > { text }
10278
+ # Symbol = < @SpecialChar > { rdoc_escape(text) }
10069
10279
  def _Symbol
10070
10280
 
10071
10281
  _save = self.pos
@@ -10079,7 +10289,7 @@ class RDoc::Markdown
10079
10289
  self.pos = _save
10080
10290
  break
10081
10291
  end
10082
- @result = begin; text ; end
10292
+ @result = begin; rdoc_escape(text) ; end
10083
10293
  _tmp = true
10084
10294
  unless _tmp
10085
10295
  self.pos = _save
@@ -10968,7 +11178,7 @@ class RDoc::Markdown
10968
11178
  return _tmp
10969
11179
  end
10970
11180
 
10971
- # Image = "!" (ExplicitLink | ReferenceLink):a { "rdoc-image:#{a[/\[(.*)\]/, 1]}" }
11181
+ # Image = "!" ExplicitLinkWithLabel:a { "rdoc-image:#{a[:link]}:#{a[:label]}" }
10972
11182
  def _Image
10973
11183
 
10974
11184
  _save = self.pos
@@ -10978,24 +11188,13 @@ class RDoc::Markdown
10978
11188
  self.pos = _save
10979
11189
  break
10980
11190
  end
10981
-
10982
- _save1 = self.pos
10983
- while true # choice
10984
- _tmp = apply(:_ExplicitLink)
10985
- break if _tmp
10986
- self.pos = _save1
10987
- _tmp = apply(:_ReferenceLink)
10988
- break if _tmp
10989
- self.pos = _save1
10990
- break
10991
- end # end choice
10992
-
11191
+ _tmp = apply(:_ExplicitLinkWithLabel)
10993
11192
  a = @result
10994
11193
  unless _tmp
10995
11194
  self.pos = _save
10996
11195
  break
10997
11196
  end
10998
- @result = begin; "rdoc-image:#{a[/\[(.*)\]/, 1]}" ; end
11197
+ @result = begin; "rdoc-image:#{a[:link]}:#{a[:label]}" ; end
10999
11198
  _tmp = true
11000
11199
  unless _tmp
11001
11200
  self.pos = _save
@@ -11143,13 +11342,36 @@ class RDoc::Markdown
11143
11342
  return _tmp
11144
11343
  end
11145
11344
 
11146
- # ExplicitLink = Label:l "(" @Sp Source:s Spnl Title @Sp ")" { "{#{l}}[#{s}]" }
11345
+ # ExplicitLink = ExplicitLinkWithLabel:a { "{#{a[:label]}}[#{rdoc_link_url_escape(a[:link])}]" }
11147
11346
  def _ExplicitLink
11148
11347
 
11348
+ _save = self.pos
11349
+ while true # sequence
11350
+ _tmp = apply(:_ExplicitLinkWithLabel)
11351
+ a = @result
11352
+ unless _tmp
11353
+ self.pos = _save
11354
+ break
11355
+ end
11356
+ @result = begin; "{#{a[:label]}}[#{rdoc_link_url_escape(a[:link])}]" ; end
11357
+ _tmp = true
11358
+ unless _tmp
11359
+ self.pos = _save
11360
+ end
11361
+ break
11362
+ end # end sequence
11363
+
11364
+ set_failed_rule :_ExplicitLink unless _tmp
11365
+ return _tmp
11366
+ end
11367
+
11368
+ # ExplicitLinkWithLabel = Label:label "(" @Sp Source:link Spnl Title @Sp ")" { { label: label, link: link } }
11369
+ def _ExplicitLinkWithLabel
11370
+
11149
11371
  _save = self.pos
11150
11372
  while true # sequence
11151
11373
  _tmp = apply(:_Label)
11152
- l = @result
11374
+ label = @result
11153
11375
  unless _tmp
11154
11376
  self.pos = _save
11155
11377
  break
@@ -11165,7 +11387,7 @@ class RDoc::Markdown
11165
11387
  break
11166
11388
  end
11167
11389
  _tmp = apply(:_Source)
11168
- s = @result
11390
+ link = @result
11169
11391
  unless _tmp
11170
11392
  self.pos = _save
11171
11393
  break
@@ -11190,7 +11412,7 @@ class RDoc::Markdown
11190
11412
  self.pos = _save
11191
11413
  break
11192
11414
  end
11193
- @result = begin; "{#{l}}[#{s}]" ; end
11415
+ @result = begin; { label: label, link: link } ; end
11194
11416
  _tmp = true
11195
11417
  unless _tmp
11196
11418
  self.pos = _save
@@ -11198,7 +11420,7 @@ class RDoc::Markdown
11198
11420
  break
11199
11421
  end # end sequence
11200
11422
 
11201
- set_failed_rule :_ExplicitLink unless _tmp
11423
+ set_failed_rule :_ExplicitLinkWithLabel unless _tmp
11202
11424
  return _tmp
11203
11425
  end
11204
11426
 
@@ -12507,7 +12729,7 @@ class RDoc::Markdown
12507
12729
  return _tmp
12508
12730
  end
12509
12731
 
12510
- # Code = (Ticks1 @Sp < ((!"`" Nonspacechar)+ | !Ticks1 /`+/ | !(@Sp Ticks1) (@Spacechar | @Newline !@BlankLine))+ > @Sp Ticks1 | Ticks2 @Sp < ((!"`" Nonspacechar)+ | !Ticks2 /`+/ | !(@Sp Ticks2) (@Spacechar | @Newline !@BlankLine))+ > @Sp Ticks2 | Ticks3 @Sp < ((!"`" Nonspacechar)+ | !Ticks3 /`+/ | !(@Sp Ticks3) (@Spacechar | @Newline !@BlankLine))+ > @Sp Ticks3 | Ticks4 @Sp < ((!"`" Nonspacechar)+ | !Ticks4 /`+/ | !(@Sp Ticks4) (@Spacechar | @Newline !@BlankLine))+ > @Sp Ticks4 | Ticks5 @Sp < ((!"`" Nonspacechar)+ | !Ticks5 /`+/ | !(@Sp Ticks5) (@Spacechar | @Newline !@BlankLine))+ > @Sp Ticks5) { "<code>#{text}</code>" }
12732
+ # Code = (Ticks1 < ((!"`" Nonspacechar)+ | !Ticks1 /`+/ | !Ticks1 (@Spacechar | @Newline !@BlankLine))+ > Ticks1 | Ticks2 < ((!"`" Nonspacechar)+ | !Ticks2 /`+/ | !Ticks2 (@Spacechar | @Newline !@BlankLine))+ > Ticks2 | Ticks3 < ((!"`" Nonspacechar)+ | !Ticks3 /`+/ | !Ticks3 (@Spacechar | @Newline !@BlankLine))+ > Ticks3 | Ticks4 < ((!"`" Nonspacechar)+ | !Ticks4 /`+/ | !Ticks4 (@Spacechar | @Newline !@BlankLine))+ > Ticks4 | Ticks5 < ((!"`" Nonspacechar)+ | !Ticks5 /`+/ | !Ticks5 (@Spacechar | @Newline !@BlankLine))+ > Ticks5) { code text }
12511
12733
  def _Code
12512
12734
 
12513
12735
  _save = self.pos
@@ -12523,11 +12745,6 @@ class RDoc::Markdown
12523
12745
  self.pos = _save2
12524
12746
  break
12525
12747
  end
12526
- _tmp = _Sp()
12527
- unless _tmp
12528
- self.pos = _save2
12529
- break
12530
- end
12531
12748
  _text_start = self.pos
12532
12749
  _save3 = self.pos
12533
12750
 
@@ -12604,21 +12821,7 @@ class RDoc::Markdown
12604
12821
  _save12 = self.pos
12605
12822
  while true # sequence
12606
12823
  _save13 = self.pos
12607
-
12608
- _save14 = self.pos
12609
- while true # sequence
12610
- _tmp = _Sp()
12611
- unless _tmp
12612
- self.pos = _save14
12613
- break
12614
- end
12615
- _tmp = apply(:_Ticks1)
12616
- unless _tmp
12617
- self.pos = _save14
12618
- end
12619
- break
12620
- end # end sequence
12621
-
12824
+ _tmp = apply(:_Ticks1)
12622
12825
  _tmp = _tmp ? nil : true
12623
12826
  self.pos = _save13
12624
12827
  unless _tmp
@@ -12626,31 +12829,31 @@ class RDoc::Markdown
12626
12829
  break
12627
12830
  end
12628
12831
 
12629
- _save15 = self.pos
12832
+ _save14 = self.pos
12630
12833
  while true # choice
12631
12834
  _tmp = _Spacechar()
12632
12835
  break if _tmp
12633
- self.pos = _save15
12836
+ self.pos = _save14
12634
12837
 
12635
- _save16 = self.pos
12838
+ _save15 = self.pos
12636
12839
  while true # sequence
12637
12840
  _tmp = _Newline()
12638
12841
  unless _tmp
12639
- self.pos = _save16
12842
+ self.pos = _save15
12640
12843
  break
12641
12844
  end
12642
- _save17 = self.pos
12845
+ _save16 = self.pos
12643
12846
  _tmp = _BlankLine()
12644
12847
  _tmp = _tmp ? nil : true
12645
- self.pos = _save17
12848
+ self.pos = _save16
12646
12849
  unless _tmp
12647
- self.pos = _save16
12850
+ self.pos = _save15
12648
12851
  end
12649
12852
  break
12650
12853
  end # end sequence
12651
12854
 
12652
12855
  break if _tmp
12653
- self.pos = _save15
12856
+ self.pos = _save14
12654
12857
  break
12655
12858
  end # end choice
12656
12859
 
@@ -12668,23 +12871,23 @@ class RDoc::Markdown
12668
12871
  if _tmp
12669
12872
  while true
12670
12873
 
12671
- _save18 = self.pos
12874
+ _save17 = self.pos
12672
12875
  while true # choice
12673
- _save19 = self.pos
12876
+ _save18 = self.pos
12674
12877
 
12675
- _save20 = self.pos
12878
+ _save19 = self.pos
12676
12879
  while true # sequence
12677
- _save21 = self.pos
12880
+ _save20 = self.pos
12678
12881
  _tmp = match_string("`")
12679
12882
  _tmp = _tmp ? nil : true
12680
- self.pos = _save21
12883
+ self.pos = _save20
12681
12884
  unless _tmp
12682
- self.pos = _save20
12885
+ self.pos = _save19
12683
12886
  break
12684
12887
  end
12685
12888
  _tmp = apply(:_Nonspacechar)
12686
12889
  unless _tmp
12687
- self.pos = _save20
12890
+ self.pos = _save19
12688
12891
  end
12689
12892
  break
12690
12893
  end # end sequence
@@ -12692,19 +12895,19 @@ class RDoc::Markdown
12692
12895
  if _tmp
12693
12896
  while true
12694
12897
 
12695
- _save22 = self.pos
12898
+ _save21 = self.pos
12696
12899
  while true # sequence
12697
- _save23 = self.pos
12900
+ _save22 = self.pos
12698
12901
  _tmp = match_string("`")
12699
12902
  _tmp = _tmp ? nil : true
12700
- self.pos = _save23
12903
+ self.pos = _save22
12701
12904
  unless _tmp
12702
- self.pos = _save22
12905
+ self.pos = _save21
12703
12906
  break
12704
12907
  end
12705
12908
  _tmp = apply(:_Nonspacechar)
12706
12909
  unless _tmp
12707
- self.pos = _save22
12910
+ self.pos = _save21
12708
12911
  end
12709
12912
  break
12710
12913
  end # end sequence
@@ -12713,92 +12916,78 @@ class RDoc::Markdown
12713
12916
  end
12714
12917
  _tmp = true
12715
12918
  else
12716
- self.pos = _save19
12919
+ self.pos = _save18
12717
12920
  end
12718
12921
  break if _tmp
12719
- self.pos = _save18
12922
+ self.pos = _save17
12720
12923
 
12721
- _save24 = self.pos
12924
+ _save23 = self.pos
12722
12925
  while true # sequence
12723
- _save25 = self.pos
12926
+ _save24 = self.pos
12724
12927
  _tmp = apply(:_Ticks1)
12725
12928
  _tmp = _tmp ? nil : true
12726
- self.pos = _save25
12929
+ self.pos = _save24
12727
12930
  unless _tmp
12728
- self.pos = _save24
12931
+ self.pos = _save23
12729
12932
  break
12730
12933
  end
12731
12934
  _tmp = scan(/\G(?-mix:`+)/)
12732
12935
  unless _tmp
12733
- self.pos = _save24
12936
+ self.pos = _save23
12734
12937
  end
12735
12938
  break
12736
12939
  end # end sequence
12737
12940
 
12738
12941
  break if _tmp
12739
- self.pos = _save18
12942
+ self.pos = _save17
12740
12943
 
12741
- _save26 = self.pos
12944
+ _save25 = self.pos
12742
12945
  while true # sequence
12743
- _save27 = self.pos
12744
-
12745
- _save28 = self.pos
12746
- while true # sequence
12747
- _tmp = _Sp()
12748
- unless _tmp
12749
- self.pos = _save28
12750
- break
12751
- end
12752
- _tmp = apply(:_Ticks1)
12753
- unless _tmp
12754
- self.pos = _save28
12755
- end
12756
- break
12757
- end # end sequence
12758
-
12946
+ _save26 = self.pos
12947
+ _tmp = apply(:_Ticks1)
12759
12948
  _tmp = _tmp ? nil : true
12760
- self.pos = _save27
12949
+ self.pos = _save26
12761
12950
  unless _tmp
12762
- self.pos = _save26
12951
+ self.pos = _save25
12763
12952
  break
12764
12953
  end
12765
12954
 
12766
- _save29 = self.pos
12955
+ _save27 = self.pos
12767
12956
  while true # choice
12768
12957
  _tmp = _Spacechar()
12769
12958
  break if _tmp
12770
- self.pos = _save29
12959
+ self.pos = _save27
12771
12960
 
12772
- _save30 = self.pos
12961
+ _save28 = self.pos
12773
12962
  while true # sequence
12774
12963
  _tmp = _Newline()
12775
12964
  unless _tmp
12776
- self.pos = _save30
12965
+ self.pos = _save28
12777
12966
  break
12778
12967
  end
12779
- _save31 = self.pos
12968
+ _save29 = self.pos
12780
12969
  _tmp = _BlankLine()
12781
12970
  _tmp = _tmp ? nil : true
12782
- self.pos = _save31
12971
+ self.pos = _save29
12783
12972
  unless _tmp
12784
- self.pos = _save30
12973
+ self.pos = _save28
12785
12974
  end
12786
12975
  break
12787
12976
  end # end sequence
12788
12977
 
12789
12978
  break if _tmp
12790
- self.pos = _save29
12979
+ self.pos = _save27
12791
12980
  break
12792
12981
  end # end choice
12793
12982
 
12794
12983
  unless _tmp
12795
- self.pos = _save26
12984
+ self.pos = _save25
12796
12985
  end
12797
12986
  break
12798
12987
  end # end sequence
12799
12988
 
12800
12989
  break if _tmp
12801
- self.pos = _save18
12990
+ self.pos = _save17
12802
12991
  break
12803
12992
  end # end choice
12804
12993
 
@@ -12815,11 +13004,6 @@ class RDoc::Markdown
12815
13004
  self.pos = _save2
12816
13005
  break
12817
13006
  end
12818
- _tmp = _Sp()
12819
- unless _tmp
12820
- self.pos = _save2
12821
- break
12822
- end
12823
13007
  _tmp = apply(:_Ticks1)
12824
13008
  unless _tmp
12825
13009
  self.pos = _save2
@@ -12830,38 +13014,33 @@ class RDoc::Markdown
12830
13014
  break if _tmp
12831
13015
  self.pos = _save1
12832
13016
 
12833
- _save32 = self.pos
13017
+ _save30 = self.pos
12834
13018
  while true # sequence
12835
13019
  _tmp = apply(:_Ticks2)
12836
13020
  unless _tmp
12837
- self.pos = _save32
12838
- break
12839
- end
12840
- _tmp = _Sp()
12841
- unless _tmp
12842
- self.pos = _save32
13021
+ self.pos = _save30
12843
13022
  break
12844
13023
  end
12845
13024
  _text_start = self.pos
12846
- _save33 = self.pos
13025
+ _save31 = self.pos
12847
13026
 
12848
- _save34 = self.pos
13027
+ _save32 = self.pos
12849
13028
  while true # choice
12850
- _save35 = self.pos
13029
+ _save33 = self.pos
12851
13030
 
12852
- _save36 = self.pos
13031
+ _save34 = self.pos
12853
13032
  while true # sequence
12854
- _save37 = self.pos
13033
+ _save35 = self.pos
12855
13034
  _tmp = match_string("`")
12856
13035
  _tmp = _tmp ? nil : true
12857
- self.pos = _save37
13036
+ self.pos = _save35
12858
13037
  unless _tmp
12859
- self.pos = _save36
13038
+ self.pos = _save34
12860
13039
  break
12861
13040
  end
12862
13041
  _tmp = apply(:_Nonspacechar)
12863
13042
  unless _tmp
12864
- self.pos = _save36
13043
+ self.pos = _save34
12865
13044
  end
12866
13045
  break
12867
13046
  end # end sequence
@@ -12869,19 +13048,19 @@ class RDoc::Markdown
12869
13048
  if _tmp
12870
13049
  while true
12871
13050
 
12872
- _save38 = self.pos
13051
+ _save36 = self.pos
12873
13052
  while true # sequence
12874
- _save39 = self.pos
13053
+ _save37 = self.pos
12875
13054
  _tmp = match_string("`")
12876
13055
  _tmp = _tmp ? nil : true
12877
- self.pos = _save39
13056
+ self.pos = _save37
12878
13057
  unless _tmp
12879
- self.pos = _save38
13058
+ self.pos = _save36
12880
13059
  break
12881
13060
  end
12882
13061
  _tmp = apply(:_Nonspacechar)
12883
13062
  unless _tmp
12884
- self.pos = _save38
13063
+ self.pos = _save36
12885
13064
  end
12886
13065
  break
12887
13066
  end # end sequence
@@ -12890,115 +13069,101 @@ class RDoc::Markdown
12890
13069
  end
12891
13070
  _tmp = true
12892
13071
  else
12893
- self.pos = _save35
13072
+ self.pos = _save33
12894
13073
  end
12895
13074
  break if _tmp
12896
- self.pos = _save34
13075
+ self.pos = _save32
12897
13076
 
12898
- _save40 = self.pos
13077
+ _save38 = self.pos
12899
13078
  while true # sequence
12900
- _save41 = self.pos
13079
+ _save39 = self.pos
12901
13080
  _tmp = apply(:_Ticks2)
12902
13081
  _tmp = _tmp ? nil : true
12903
- self.pos = _save41
13082
+ self.pos = _save39
12904
13083
  unless _tmp
12905
- self.pos = _save40
13084
+ self.pos = _save38
12906
13085
  break
12907
13086
  end
12908
13087
  _tmp = scan(/\G(?-mix:`+)/)
12909
13088
  unless _tmp
12910
- self.pos = _save40
13089
+ self.pos = _save38
12911
13090
  end
12912
13091
  break
12913
13092
  end # end sequence
12914
13093
 
12915
13094
  break if _tmp
12916
- self.pos = _save34
13095
+ self.pos = _save32
12917
13096
 
12918
- _save42 = self.pos
13097
+ _save40 = self.pos
12919
13098
  while true # sequence
12920
- _save43 = self.pos
12921
-
12922
- _save44 = self.pos
12923
- while true # sequence
12924
- _tmp = _Sp()
12925
- unless _tmp
12926
- self.pos = _save44
12927
- break
12928
- end
12929
- _tmp = apply(:_Ticks2)
12930
- unless _tmp
12931
- self.pos = _save44
12932
- end
12933
- break
12934
- end # end sequence
12935
-
13099
+ _save41 = self.pos
13100
+ _tmp = apply(:_Ticks2)
12936
13101
  _tmp = _tmp ? nil : true
12937
- self.pos = _save43
13102
+ self.pos = _save41
12938
13103
  unless _tmp
12939
- self.pos = _save42
13104
+ self.pos = _save40
12940
13105
  break
12941
13106
  end
12942
13107
 
12943
- _save45 = self.pos
13108
+ _save42 = self.pos
12944
13109
  while true # choice
12945
13110
  _tmp = _Spacechar()
12946
13111
  break if _tmp
12947
- self.pos = _save45
13112
+ self.pos = _save42
12948
13113
 
12949
- _save46 = self.pos
13114
+ _save43 = self.pos
12950
13115
  while true # sequence
12951
13116
  _tmp = _Newline()
12952
13117
  unless _tmp
12953
- self.pos = _save46
13118
+ self.pos = _save43
12954
13119
  break
12955
13120
  end
12956
- _save47 = self.pos
13121
+ _save44 = self.pos
12957
13122
  _tmp = _BlankLine()
12958
13123
  _tmp = _tmp ? nil : true
12959
- self.pos = _save47
13124
+ self.pos = _save44
12960
13125
  unless _tmp
12961
- self.pos = _save46
13126
+ self.pos = _save43
12962
13127
  end
12963
13128
  break
12964
13129
  end # end sequence
12965
13130
 
12966
13131
  break if _tmp
12967
- self.pos = _save45
13132
+ self.pos = _save42
12968
13133
  break
12969
13134
  end # end choice
12970
13135
 
12971
13136
  unless _tmp
12972
- self.pos = _save42
13137
+ self.pos = _save40
12973
13138
  end
12974
13139
  break
12975
13140
  end # end sequence
12976
13141
 
12977
13142
  break if _tmp
12978
- self.pos = _save34
13143
+ self.pos = _save32
12979
13144
  break
12980
13145
  end # end choice
12981
13146
 
12982
13147
  if _tmp
12983
13148
  while true
12984
13149
 
12985
- _save48 = self.pos
13150
+ _save45 = self.pos
12986
13151
  while true # choice
12987
- _save49 = self.pos
13152
+ _save46 = self.pos
12988
13153
 
12989
- _save50 = self.pos
13154
+ _save47 = self.pos
12990
13155
  while true # sequence
12991
- _save51 = self.pos
13156
+ _save48 = self.pos
12992
13157
  _tmp = match_string("`")
12993
13158
  _tmp = _tmp ? nil : true
12994
- self.pos = _save51
13159
+ self.pos = _save48
12995
13160
  unless _tmp
12996
- self.pos = _save50
13161
+ self.pos = _save47
12997
13162
  break
12998
13163
  end
12999
13164
  _tmp = apply(:_Nonspacechar)
13000
13165
  unless _tmp
13001
- self.pos = _save50
13166
+ self.pos = _save47
13002
13167
  end
13003
13168
  break
13004
13169
  end # end sequence
@@ -13006,19 +13171,19 @@ class RDoc::Markdown
13006
13171
  if _tmp
13007
13172
  while true
13008
13173
 
13009
- _save52 = self.pos
13174
+ _save49 = self.pos
13010
13175
  while true # sequence
13011
- _save53 = self.pos
13176
+ _save50 = self.pos
13012
13177
  _tmp = match_string("`")
13013
13178
  _tmp = _tmp ? nil : true
13014
- self.pos = _save53
13179
+ self.pos = _save50
13015
13180
  unless _tmp
13016
- self.pos = _save52
13181
+ self.pos = _save49
13017
13182
  break
13018
13183
  end
13019
13184
  _tmp = apply(:_Nonspacechar)
13020
13185
  unless _tmp
13021
- self.pos = _save52
13186
+ self.pos = _save49
13022
13187
  end
13023
13188
  break
13024
13189
  end # end sequence
@@ -13027,92 +13192,78 @@ class RDoc::Markdown
13027
13192
  end
13028
13193
  _tmp = true
13029
13194
  else
13030
- self.pos = _save49
13195
+ self.pos = _save46
13031
13196
  end
13032
13197
  break if _tmp
13033
- self.pos = _save48
13198
+ self.pos = _save45
13034
13199
 
13035
- _save54 = self.pos
13200
+ _save51 = self.pos
13036
13201
  while true # sequence
13037
- _save55 = self.pos
13202
+ _save52 = self.pos
13038
13203
  _tmp = apply(:_Ticks2)
13039
13204
  _tmp = _tmp ? nil : true
13040
- self.pos = _save55
13205
+ self.pos = _save52
13041
13206
  unless _tmp
13042
- self.pos = _save54
13207
+ self.pos = _save51
13043
13208
  break
13044
13209
  end
13045
13210
  _tmp = scan(/\G(?-mix:`+)/)
13046
13211
  unless _tmp
13047
- self.pos = _save54
13212
+ self.pos = _save51
13048
13213
  end
13049
13214
  break
13050
13215
  end # end sequence
13051
13216
 
13052
13217
  break if _tmp
13053
- self.pos = _save48
13218
+ self.pos = _save45
13054
13219
 
13055
- _save56 = self.pos
13220
+ _save53 = self.pos
13056
13221
  while true # sequence
13057
- _save57 = self.pos
13058
-
13059
- _save58 = self.pos
13060
- while true # sequence
13061
- _tmp = _Sp()
13062
- unless _tmp
13063
- self.pos = _save58
13064
- break
13065
- end
13066
- _tmp = apply(:_Ticks2)
13067
- unless _tmp
13068
- self.pos = _save58
13069
- end
13070
- break
13071
- end # end sequence
13072
-
13222
+ _save54 = self.pos
13223
+ _tmp = apply(:_Ticks2)
13073
13224
  _tmp = _tmp ? nil : true
13074
- self.pos = _save57
13225
+ self.pos = _save54
13075
13226
  unless _tmp
13076
- self.pos = _save56
13227
+ self.pos = _save53
13077
13228
  break
13078
13229
  end
13079
13230
 
13080
- _save59 = self.pos
13231
+ _save55 = self.pos
13081
13232
  while true # choice
13082
13233
  _tmp = _Spacechar()
13083
13234
  break if _tmp
13084
- self.pos = _save59
13235
+ self.pos = _save55
13085
13236
 
13086
- _save60 = self.pos
13237
+ _save56 = self.pos
13087
13238
  while true # sequence
13088
13239
  _tmp = _Newline()
13089
13240
  unless _tmp
13090
- self.pos = _save60
13241
+ self.pos = _save56
13091
13242
  break
13092
13243
  end
13093
- _save61 = self.pos
13244
+ _save57 = self.pos
13094
13245
  _tmp = _BlankLine()
13095
13246
  _tmp = _tmp ? nil : true
13096
- self.pos = _save61
13247
+ self.pos = _save57
13097
13248
  unless _tmp
13098
- self.pos = _save60
13249
+ self.pos = _save56
13099
13250
  end
13100
13251
  break
13101
13252
  end # end sequence
13102
13253
 
13103
13254
  break if _tmp
13104
- self.pos = _save59
13255
+ self.pos = _save55
13105
13256
  break
13106
13257
  end # end choice
13107
13258
 
13108
13259
  unless _tmp
13109
- self.pos = _save56
13260
+ self.pos = _save53
13110
13261
  end
13111
13262
  break
13112
13263
  end # end sequence
13113
13264
 
13114
13265
  break if _tmp
13115
- self.pos = _save48
13266
+ self.pos = _save45
13116
13267
  break
13117
13268
  end # end choice
13118
13269
 
@@ -13120,23 +13271,18 @@ class RDoc::Markdown
13120
13271
  end
13121
13272
  _tmp = true
13122
13273
  else
13123
- self.pos = _save33
13274
+ self.pos = _save31
13124
13275
  end
13125
13276
  if _tmp
13126
13277
  text = get_text(_text_start)
13127
13278
  end
13128
13279
  unless _tmp
13129
- self.pos = _save32
13130
- break
13131
- end
13132
- _tmp = _Sp()
13133
- unless _tmp
13134
- self.pos = _save32
13280
+ self.pos = _save30
13135
13281
  break
13136
13282
  end
13137
13283
  _tmp = apply(:_Ticks2)
13138
13284
  unless _tmp
13139
- self.pos = _save32
13285
+ self.pos = _save30
13140
13286
  end
13141
13287
  break
13142
13288
  end # end sequence
@@ -13144,38 +13290,33 @@ class RDoc::Markdown
13144
13290
  break if _tmp
13145
13291
  self.pos = _save1
13146
13292
 
13147
- _save62 = self.pos
13293
+ _save58 = self.pos
13148
13294
  while true # sequence
13149
13295
  _tmp = apply(:_Ticks3)
13150
13296
  unless _tmp
13151
- self.pos = _save62
13152
- break
13153
- end
13154
- _tmp = _Sp()
13155
- unless _tmp
13156
- self.pos = _save62
13297
+ self.pos = _save58
13157
13298
  break
13158
13299
  end
13159
13300
  _text_start = self.pos
13160
- _save63 = self.pos
13301
+ _save59 = self.pos
13161
13302
 
13162
- _save64 = self.pos
13303
+ _save60 = self.pos
13163
13304
  while true # choice
13164
- _save65 = self.pos
13305
+ _save61 = self.pos
13165
13306
 
13166
- _save66 = self.pos
13307
+ _save62 = self.pos
13167
13308
  while true # sequence
13168
- _save67 = self.pos
13309
+ _save63 = self.pos
13169
13310
  _tmp = match_string("`")
13170
13311
  _tmp = _tmp ? nil : true
13171
- self.pos = _save67
13312
+ self.pos = _save63
13172
13313
  unless _tmp
13173
- self.pos = _save66
13314
+ self.pos = _save62
13174
13315
  break
13175
13316
  end
13176
13317
  _tmp = apply(:_Nonspacechar)
13177
13318
  unless _tmp
13178
- self.pos = _save66
13319
+ self.pos = _save62
13179
13320
  end
13180
13321
  break
13181
13322
  end # end sequence
@@ -13183,19 +13324,19 @@ class RDoc::Markdown
13183
13324
  if _tmp
13184
13325
  while true
13185
13326
 
13186
- _save68 = self.pos
13327
+ _save64 = self.pos
13187
13328
  while true # sequence
13188
- _save69 = self.pos
13329
+ _save65 = self.pos
13189
13330
  _tmp = match_string("`")
13190
13331
  _tmp = _tmp ? nil : true
13191
- self.pos = _save69
13332
+ self.pos = _save65
13192
13333
  unless _tmp
13193
- self.pos = _save68
13334
+ self.pos = _save64
13194
13335
  break
13195
13336
  end
13196
13337
  _tmp = apply(:_Nonspacechar)
13197
13338
  unless _tmp
13198
- self.pos = _save68
13339
+ self.pos = _save64
13199
13340
  end
13200
13341
  break
13201
13342
  end # end sequence
@@ -13204,115 +13345,101 @@ class RDoc::Markdown
13204
13345
  end
13205
13346
  _tmp = true
13206
13347
  else
13207
- self.pos = _save65
13348
+ self.pos = _save61
13208
13349
  end
13209
13350
  break if _tmp
13210
- self.pos = _save64
13351
+ self.pos = _save60
13211
13352
 
13212
- _save70 = self.pos
13353
+ _save66 = self.pos
13213
13354
  while true # sequence
13214
- _save71 = self.pos
13355
+ _save67 = self.pos
13215
13356
  _tmp = apply(:_Ticks3)
13216
13357
  _tmp = _tmp ? nil : true
13217
- self.pos = _save71
13358
+ self.pos = _save67
13218
13359
  unless _tmp
13219
- self.pos = _save70
13360
+ self.pos = _save66
13220
13361
  break
13221
13362
  end
13222
13363
  _tmp = scan(/\G(?-mix:`+)/)
13223
13364
  unless _tmp
13224
- self.pos = _save70
13365
+ self.pos = _save66
13225
13366
  end
13226
13367
  break
13227
13368
  end # end sequence
13228
13369
 
13229
13370
  break if _tmp
13230
- self.pos = _save64
13371
+ self.pos = _save60
13231
13372
 
13232
- _save72 = self.pos
13373
+ _save68 = self.pos
13233
13374
  while true # sequence
13234
- _save73 = self.pos
13235
-
13236
- _save74 = self.pos
13237
- while true # sequence
13238
- _tmp = _Sp()
13239
- unless _tmp
13240
- self.pos = _save74
13241
- break
13242
- end
13243
- _tmp = apply(:_Ticks3)
13244
- unless _tmp
13245
- self.pos = _save74
13246
- end
13247
- break
13248
- end # end sequence
13249
-
13375
+ _save69 = self.pos
13376
+ _tmp = apply(:_Ticks3)
13250
13377
  _tmp = _tmp ? nil : true
13251
- self.pos = _save73
13378
+ self.pos = _save69
13252
13379
  unless _tmp
13253
- self.pos = _save72
13380
+ self.pos = _save68
13254
13381
  break
13255
13382
  end
13256
13383
 
13257
- _save75 = self.pos
13384
+ _save70 = self.pos
13258
13385
  while true # choice
13259
13386
  _tmp = _Spacechar()
13260
13387
  break if _tmp
13261
- self.pos = _save75
13388
+ self.pos = _save70
13262
13389
 
13263
- _save76 = self.pos
13390
+ _save71 = self.pos
13264
13391
  while true # sequence
13265
13392
  _tmp = _Newline()
13266
13393
  unless _tmp
13267
- self.pos = _save76
13394
+ self.pos = _save71
13268
13395
  break
13269
13396
  end
13270
- _save77 = self.pos
13397
+ _save72 = self.pos
13271
13398
  _tmp = _BlankLine()
13272
13399
  _tmp = _tmp ? nil : true
13273
- self.pos = _save77
13400
+ self.pos = _save72
13274
13401
  unless _tmp
13275
- self.pos = _save76
13402
+ self.pos = _save71
13276
13403
  end
13277
13404
  break
13278
13405
  end # end sequence
13279
13406
 
13280
13407
  break if _tmp
13281
- self.pos = _save75
13408
+ self.pos = _save70
13282
13409
  break
13283
13410
  end # end choice
13284
13411
 
13285
13412
  unless _tmp
13286
- self.pos = _save72
13413
+ self.pos = _save68
13287
13414
  end
13288
13415
  break
13289
13416
  end # end sequence
13290
13417
 
13291
13418
  break if _tmp
13292
- self.pos = _save64
13419
+ self.pos = _save60
13293
13420
  break
13294
13421
  end # end choice
13295
13422
 
13296
13423
  if _tmp
13297
13424
  while true
13298
13425
 
13299
- _save78 = self.pos
13426
+ _save73 = self.pos
13300
13427
  while true # choice
13301
- _save79 = self.pos
13428
+ _save74 = self.pos
13302
13429
 
13303
- _save80 = self.pos
13430
+ _save75 = self.pos
13304
13431
  while true # sequence
13305
- _save81 = self.pos
13432
+ _save76 = self.pos
13306
13433
  _tmp = match_string("`")
13307
13434
  _tmp = _tmp ? nil : true
13308
- self.pos = _save81
13435
+ self.pos = _save76
13309
13436
  unless _tmp
13310
- self.pos = _save80
13437
+ self.pos = _save75
13311
13438
  break
13312
13439
  end
13313
13440
  _tmp = apply(:_Nonspacechar)
13314
13441
  unless _tmp
13315
- self.pos = _save80
13442
+ self.pos = _save75
13316
13443
  end
13317
13444
  break
13318
13445
  end # end sequence
@@ -13320,19 +13447,19 @@ class RDoc::Markdown
13320
13447
  if _tmp
13321
13448
  while true
13322
13449
 
13323
- _save82 = self.pos
13450
+ _save77 = self.pos
13324
13451
  while true # sequence
13325
- _save83 = self.pos
13452
+ _save78 = self.pos
13326
13453
  _tmp = match_string("`")
13327
13454
  _tmp = _tmp ? nil : true
13328
- self.pos = _save83
13455
+ self.pos = _save78
13329
13456
  unless _tmp
13330
- self.pos = _save82
13457
+ self.pos = _save77
13331
13458
  break
13332
13459
  end
13333
13460
  _tmp = apply(:_Nonspacechar)
13334
13461
  unless _tmp
13335
- self.pos = _save82
13462
+ self.pos = _save77
13336
13463
  end
13337
13464
  break
13338
13465
  end # end sequence
@@ -13341,92 +13468,78 @@ class RDoc::Markdown
13341
13468
  end
13342
13469
  _tmp = true
13343
13470
  else
13344
- self.pos = _save79
13471
+ self.pos = _save74
13345
13472
  end
13346
13473
  break if _tmp
13347
- self.pos = _save78
13474
+ self.pos = _save73
13348
13475
 
13349
- _save84 = self.pos
13476
+ _save79 = self.pos
13350
13477
  while true # sequence
13351
- _save85 = self.pos
13478
+ _save80 = self.pos
13352
13479
  _tmp = apply(:_Ticks3)
13353
13480
  _tmp = _tmp ? nil : true
13354
- self.pos = _save85
13481
+ self.pos = _save80
13355
13482
  unless _tmp
13356
- self.pos = _save84
13483
+ self.pos = _save79
13357
13484
  break
13358
13485
  end
13359
13486
  _tmp = scan(/\G(?-mix:`+)/)
13360
13487
  unless _tmp
13361
- self.pos = _save84
13488
+ self.pos = _save79
13362
13489
  end
13363
13490
  break
13364
13491
  end # end sequence
13365
13492
 
13366
13493
  break if _tmp
13367
- self.pos = _save78
13494
+ self.pos = _save73
13368
13495
 
13369
- _save86 = self.pos
13496
+ _save81 = self.pos
13370
13497
  while true # sequence
13371
- _save87 = self.pos
13372
-
13373
- _save88 = self.pos
13374
- while true # sequence
13375
- _tmp = _Sp()
13376
- unless _tmp
13377
- self.pos = _save88
13378
- break
13379
- end
13380
- _tmp = apply(:_Ticks3)
13381
- unless _tmp
13382
- self.pos = _save88
13383
- end
13384
- break
13385
- end # end sequence
13386
-
13498
+ _save82 = self.pos
13499
+ _tmp = apply(:_Ticks3)
13387
13500
  _tmp = _tmp ? nil : true
13388
- self.pos = _save87
13501
+ self.pos = _save82
13389
13502
  unless _tmp
13390
- self.pos = _save86
13503
+ self.pos = _save81
13391
13504
  break
13392
13505
  end
13393
13506
 
13394
- _save89 = self.pos
13507
+ _save83 = self.pos
13395
13508
  while true # choice
13396
13509
  _tmp = _Spacechar()
13397
13510
  break if _tmp
13398
- self.pos = _save89
13511
+ self.pos = _save83
13399
13512
 
13400
- _save90 = self.pos
13513
+ _save84 = self.pos
13401
13514
  while true # sequence
13402
13515
  _tmp = _Newline()
13403
13516
  unless _tmp
13404
- self.pos = _save90
13517
+ self.pos = _save84
13405
13518
  break
13406
13519
  end
13407
- _save91 = self.pos
13520
+ _save85 = self.pos
13408
13521
  _tmp = _BlankLine()
13409
13522
  _tmp = _tmp ? nil : true
13410
- self.pos = _save91
13523
+ self.pos = _save85
13411
13524
  unless _tmp
13412
- self.pos = _save90
13525
+ self.pos = _save84
13413
13526
  end
13414
13527
  break
13415
13528
  end # end sequence
13416
13529
 
13417
13530
  break if _tmp
13418
- self.pos = _save89
13531
+ self.pos = _save83
13419
13532
  break
13420
13533
  end # end choice
13421
13534
 
13422
13535
  unless _tmp
13423
- self.pos = _save86
13536
+ self.pos = _save81
13424
13537
  end
13425
13538
  break
13426
13539
  end # end sequence
13427
13540
 
13428
13541
  break if _tmp
13429
- self.pos = _save78
13542
+ self.pos = _save73
13430
13543
  break
13431
13544
  end # end choice
13432
13545
 
@@ -13434,23 +13547,18 @@ class RDoc::Markdown
13434
13547
  end
13435
13548
  _tmp = true
13436
13549
  else
13437
- self.pos = _save63
13550
+ self.pos = _save59
13438
13551
  end
13439
13552
  if _tmp
13440
13553
  text = get_text(_text_start)
13441
13554
  end
13442
13555
  unless _tmp
13443
- self.pos = _save62
13444
- break
13445
- end
13446
- _tmp = _Sp()
13447
- unless _tmp
13448
- self.pos = _save62
13556
+ self.pos = _save58
13449
13557
  break
13450
13558
  end
13451
13559
  _tmp = apply(:_Ticks3)
13452
13560
  unless _tmp
13453
- self.pos = _save62
13561
+ self.pos = _save58
13454
13562
  end
13455
13563
  break
13456
13564
  end # end sequence
@@ -13458,38 +13566,33 @@ class RDoc::Markdown
13458
13566
  break if _tmp
13459
13567
  self.pos = _save1
13460
13568
 
13461
- _save92 = self.pos
13569
+ _save86 = self.pos
13462
13570
  while true # sequence
13463
13571
  _tmp = apply(:_Ticks4)
13464
13572
  unless _tmp
13465
- self.pos = _save92
13466
- break
13467
- end
13468
- _tmp = _Sp()
13469
- unless _tmp
13470
- self.pos = _save92
13573
+ self.pos = _save86
13471
13574
  break
13472
13575
  end
13473
13576
  _text_start = self.pos
13474
- _save93 = self.pos
13577
+ _save87 = self.pos
13475
13578
 
13476
- _save94 = self.pos
13579
+ _save88 = self.pos
13477
13580
  while true # choice
13478
- _save95 = self.pos
13581
+ _save89 = self.pos
13479
13582
 
13480
- _save96 = self.pos
13583
+ _save90 = self.pos
13481
13584
  while true # sequence
13482
- _save97 = self.pos
13585
+ _save91 = self.pos
13483
13586
  _tmp = match_string("`")
13484
13587
  _tmp = _tmp ? nil : true
13485
- self.pos = _save97
13588
+ self.pos = _save91
13486
13589
  unless _tmp
13487
- self.pos = _save96
13590
+ self.pos = _save90
13488
13591
  break
13489
13592
  end
13490
13593
  _tmp = apply(:_Nonspacechar)
13491
13594
  unless _tmp
13492
- self.pos = _save96
13595
+ self.pos = _save90
13493
13596
  end
13494
13597
  break
13495
13598
  end # end sequence
@@ -13497,19 +13600,19 @@ class RDoc::Markdown
13497
13600
  if _tmp
13498
13601
  while true
13499
13602
 
13500
- _save98 = self.pos
13603
+ _save92 = self.pos
13501
13604
  while true # sequence
13502
- _save99 = self.pos
13605
+ _save93 = self.pos
13503
13606
  _tmp = match_string("`")
13504
13607
  _tmp = _tmp ? nil : true
13505
- self.pos = _save99
13608
+ self.pos = _save93
13506
13609
  unless _tmp
13507
- self.pos = _save98
13610
+ self.pos = _save92
13508
13611
  break
13509
13612
  end
13510
13613
  _tmp = apply(:_Nonspacechar)
13511
13614
  unless _tmp
13512
- self.pos = _save98
13615
+ self.pos = _save92
13513
13616
  end
13514
13617
  break
13515
13618
  end # end sequence
@@ -13518,115 +13621,101 @@ class RDoc::Markdown
13518
13621
  end
13519
13622
  _tmp = true
13520
13623
  else
13521
- self.pos = _save95
13624
+ self.pos = _save89
13522
13625
  end
13523
13626
  break if _tmp
13524
- self.pos = _save94
13627
+ self.pos = _save88
13525
13628
 
13526
- _save100 = self.pos
13629
+ _save94 = self.pos
13527
13630
  while true # sequence
13528
- _save101 = self.pos
13631
+ _save95 = self.pos
13529
13632
  _tmp = apply(:_Ticks4)
13530
13633
  _tmp = _tmp ? nil : true
13531
- self.pos = _save101
13634
+ self.pos = _save95
13532
13635
  unless _tmp
13533
- self.pos = _save100
13636
+ self.pos = _save94
13534
13637
  break
13535
13638
  end
13536
13639
  _tmp = scan(/\G(?-mix:`+)/)
13537
13640
  unless _tmp
13538
- self.pos = _save100
13641
+ self.pos = _save94
13539
13642
  end
13540
13643
  break
13541
13644
  end # end sequence
13542
13645
 
13543
13646
  break if _tmp
13544
- self.pos = _save94
13647
+ self.pos = _save88
13545
13648
 
13546
- _save102 = self.pos
13649
+ _save96 = self.pos
13547
13650
  while true # sequence
13548
- _save103 = self.pos
13549
-
13550
- _save104 = self.pos
13551
- while true # sequence
13552
- _tmp = _Sp()
13553
- unless _tmp
13554
- self.pos = _save104
13555
- break
13556
- end
13557
- _tmp = apply(:_Ticks4)
13558
- unless _tmp
13559
- self.pos = _save104
13560
- end
13561
- break
13562
- end # end sequence
13563
-
13651
+ _save97 = self.pos
13652
+ _tmp = apply(:_Ticks4)
13564
13653
  _tmp = _tmp ? nil : true
13565
- self.pos = _save103
13654
+ self.pos = _save97
13566
13655
  unless _tmp
13567
- self.pos = _save102
13656
+ self.pos = _save96
13568
13657
  break
13569
13658
  end
13570
13659
 
13571
- _save105 = self.pos
13660
+ _save98 = self.pos
13572
13661
  while true # choice
13573
13662
  _tmp = _Spacechar()
13574
13663
  break if _tmp
13575
- self.pos = _save105
13664
+ self.pos = _save98
13576
13665
 
13577
- _save106 = self.pos
13666
+ _save99 = self.pos
13578
13667
  while true # sequence
13579
13668
  _tmp = _Newline()
13580
13669
  unless _tmp
13581
- self.pos = _save106
13670
+ self.pos = _save99
13582
13671
  break
13583
13672
  end
13584
- _save107 = self.pos
13673
+ _save100 = self.pos
13585
13674
  _tmp = _BlankLine()
13586
13675
  _tmp = _tmp ? nil : true
13587
- self.pos = _save107
13676
+ self.pos = _save100
13588
13677
  unless _tmp
13589
- self.pos = _save106
13678
+ self.pos = _save99
13590
13679
  end
13591
13680
  break
13592
13681
  end # end sequence
13593
13682
 
13594
13683
  break if _tmp
13595
- self.pos = _save105
13684
+ self.pos = _save98
13596
13685
  break
13597
13686
  end # end choice
13598
13687
 
13599
13688
  unless _tmp
13600
- self.pos = _save102
13689
+ self.pos = _save96
13601
13690
  end
13602
13691
  break
13603
13692
  end # end sequence
13604
13693
 
13605
13694
  break if _tmp
13606
- self.pos = _save94
13695
+ self.pos = _save88
13607
13696
  break
13608
13697
  end # end choice
13609
13698
 
13610
13699
  if _tmp
13611
13700
  while true
13612
13701
 
13613
- _save108 = self.pos
13702
+ _save101 = self.pos
13614
13703
  while true # choice
13615
- _save109 = self.pos
13704
+ _save102 = self.pos
13616
13705
 
13617
- _save110 = self.pos
13706
+ _save103 = self.pos
13618
13707
  while true # sequence
13619
- _save111 = self.pos
13708
+ _save104 = self.pos
13620
13709
  _tmp = match_string("`")
13621
13710
  _tmp = _tmp ? nil : true
13622
- self.pos = _save111
13711
+ self.pos = _save104
13623
13712
  unless _tmp
13624
- self.pos = _save110
13713
+ self.pos = _save103
13625
13714
  break
13626
13715
  end
13627
13716
  _tmp = apply(:_Nonspacechar)
13628
13717
  unless _tmp
13629
- self.pos = _save110
13718
+ self.pos = _save103
13630
13719
  end
13631
13720
  break
13632
13721
  end # end sequence
@@ -13634,19 +13723,19 @@ class RDoc::Markdown
13634
13723
  if _tmp
13635
13724
  while true
13636
13725
 
13637
- _save112 = self.pos
13726
+ _save105 = self.pos
13638
13727
  while true # sequence
13639
- _save113 = self.pos
13728
+ _save106 = self.pos
13640
13729
  _tmp = match_string("`")
13641
13730
  _tmp = _tmp ? nil : true
13642
- self.pos = _save113
13731
+ self.pos = _save106
13643
13732
  unless _tmp
13644
- self.pos = _save112
13733
+ self.pos = _save105
13645
13734
  break
13646
13735
  end
13647
13736
  _tmp = apply(:_Nonspacechar)
13648
13737
  unless _tmp
13649
- self.pos = _save112
13738
+ self.pos = _save105
13650
13739
  end
13651
13740
  break
13652
13741
  end # end sequence
@@ -13655,92 +13744,78 @@ class RDoc::Markdown
13655
13744
  end
13656
13745
  _tmp = true
13657
13746
  else
13658
- self.pos = _save109
13747
+ self.pos = _save102
13659
13748
  end
13660
13749
  break if _tmp
13661
- self.pos = _save108
13750
+ self.pos = _save101
13662
13751
 
13663
- _save114 = self.pos
13752
+ _save107 = self.pos
13664
13753
  while true # sequence
13665
- _save115 = self.pos
13754
+ _save108 = self.pos
13666
13755
  _tmp = apply(:_Ticks4)
13667
13756
  _tmp = _tmp ? nil : true
13668
- self.pos = _save115
13757
+ self.pos = _save108
13669
13758
  unless _tmp
13670
- self.pos = _save114
13759
+ self.pos = _save107
13671
13760
  break
13672
13761
  end
13673
13762
  _tmp = scan(/\G(?-mix:`+)/)
13674
13763
  unless _tmp
13675
- self.pos = _save114
13764
+ self.pos = _save107
13676
13765
  end
13677
13766
  break
13678
13767
  end # end sequence
13679
13768
 
13680
13769
  break if _tmp
13681
- self.pos = _save108
13770
+ self.pos = _save101
13682
13771
 
13683
- _save116 = self.pos
13772
+ _save109 = self.pos
13684
13773
  while true # sequence
13685
- _save117 = self.pos
13686
-
13687
- _save118 = self.pos
13688
- while true # sequence
13689
- _tmp = _Sp()
13690
- unless _tmp
13691
- self.pos = _save118
13692
- break
13693
- end
13694
- _tmp = apply(:_Ticks4)
13695
- unless _tmp
13696
- self.pos = _save118
13697
- end
13698
- break
13699
- end # end sequence
13700
-
13774
+ _save110 = self.pos
13775
+ _tmp = apply(:_Ticks4)
13701
13776
  _tmp = _tmp ? nil : true
13702
- self.pos = _save117
13777
+ self.pos = _save110
13703
13778
  unless _tmp
13704
- self.pos = _save116
13779
+ self.pos = _save109
13705
13780
  break
13706
13781
  end
13707
13782
 
13708
- _save119 = self.pos
13783
+ _save111 = self.pos
13709
13784
  while true # choice
13710
13785
  _tmp = _Spacechar()
13711
13786
  break if _tmp
13712
- self.pos = _save119
13787
+ self.pos = _save111
13713
13788
 
13714
- _save120 = self.pos
13789
+ _save112 = self.pos
13715
13790
  while true # sequence
13716
13791
  _tmp = _Newline()
13717
13792
  unless _tmp
13718
- self.pos = _save120
13793
+ self.pos = _save112
13719
13794
  break
13720
13795
  end
13721
- _save121 = self.pos
13796
+ _save113 = self.pos
13722
13797
  _tmp = _BlankLine()
13723
13798
  _tmp = _tmp ? nil : true
13724
- self.pos = _save121
13799
+ self.pos = _save113
13725
13800
  unless _tmp
13726
- self.pos = _save120
13801
+ self.pos = _save112
13727
13802
  end
13728
13803
  break
13729
13804
  end # end sequence
13730
13805
 
13731
13806
  break if _tmp
13732
- self.pos = _save119
13807
+ self.pos = _save111
13733
13808
  break
13734
13809
  end # end choice
13735
13810
 
13736
13811
  unless _tmp
13737
- self.pos = _save116
13812
+ self.pos = _save109
13738
13813
  end
13739
13814
  break
13740
13815
  end # end sequence
13741
13816
 
13742
13817
  break if _tmp
13743
- self.pos = _save108
13818
+ self.pos = _save101
13744
13819
  break
13745
13820
  end # end choice
13746
13821
 
@@ -13748,23 +13823,18 @@ class RDoc::Markdown
13748
13823
  end
13749
13824
  _tmp = true
13750
13825
  else
13751
- self.pos = _save93
13826
+ self.pos = _save87
13752
13827
  end
13753
13828
  if _tmp
13754
13829
  text = get_text(_text_start)
13755
13830
  end
13756
13831
  unless _tmp
13757
- self.pos = _save92
13758
- break
13759
- end
13760
- _tmp = _Sp()
13761
- unless _tmp
13762
- self.pos = _save92
13832
+ self.pos = _save86
13763
13833
  break
13764
13834
  end
13765
13835
  _tmp = apply(:_Ticks4)
13766
13836
  unless _tmp
13767
- self.pos = _save92
13837
+ self.pos = _save86
13768
13838
  end
13769
13839
  break
13770
13840
  end # end sequence
@@ -13772,38 +13842,33 @@ class RDoc::Markdown
13772
13842
  break if _tmp
13773
13843
  self.pos = _save1
13774
13844
 
13775
- _save122 = self.pos
13845
+ _save114 = self.pos
13776
13846
  while true # sequence
13777
13847
  _tmp = apply(:_Ticks5)
13778
13848
  unless _tmp
13779
- self.pos = _save122
13780
- break
13781
- end
13782
- _tmp = _Sp()
13783
- unless _tmp
13784
- self.pos = _save122
13849
+ self.pos = _save114
13785
13850
  break
13786
13851
  end
13787
13852
  _text_start = self.pos
13788
- _save123 = self.pos
13853
+ _save115 = self.pos
13789
13854
 
13790
- _save124 = self.pos
13855
+ _save116 = self.pos
13791
13856
  while true # choice
13792
- _save125 = self.pos
13857
+ _save117 = self.pos
13793
13858
 
13794
- _save126 = self.pos
13859
+ _save118 = self.pos
13795
13860
  while true # sequence
13796
- _save127 = self.pos
13861
+ _save119 = self.pos
13797
13862
  _tmp = match_string("`")
13798
13863
  _tmp = _tmp ? nil : true
13799
- self.pos = _save127
13864
+ self.pos = _save119
13800
13865
  unless _tmp
13801
- self.pos = _save126
13866
+ self.pos = _save118
13802
13867
  break
13803
13868
  end
13804
13869
  _tmp = apply(:_Nonspacechar)
13805
13870
  unless _tmp
13806
- self.pos = _save126
13871
+ self.pos = _save118
13807
13872
  end
13808
13873
  break
13809
13874
  end # end sequence
@@ -13811,19 +13876,19 @@ class RDoc::Markdown
13811
13876
  if _tmp
13812
13877
  while true
13813
13878
 
13814
- _save128 = self.pos
13879
+ _save120 = self.pos
13815
13880
  while true # sequence
13816
- _save129 = self.pos
13881
+ _save121 = self.pos
13817
13882
  _tmp = match_string("`")
13818
13883
  _tmp = _tmp ? nil : true
13819
- self.pos = _save129
13884
+ self.pos = _save121
13820
13885
  unless _tmp
13821
- self.pos = _save128
13886
+ self.pos = _save120
13822
13887
  break
13823
13888
  end
13824
13889
  _tmp = apply(:_Nonspacechar)
13825
13890
  unless _tmp
13826
- self.pos = _save128
13891
+ self.pos = _save120
13827
13892
  end
13828
13893
  break
13829
13894
  end # end sequence
@@ -13832,115 +13897,101 @@ class RDoc::Markdown
13832
13897
  end
13833
13898
  _tmp = true
13834
13899
  else
13835
- self.pos = _save125
13900
+ self.pos = _save117
13836
13901
  end
13837
13902
  break if _tmp
13838
- self.pos = _save124
13903
+ self.pos = _save116
13839
13904
 
13840
- _save130 = self.pos
13905
+ _save122 = self.pos
13841
13906
  while true # sequence
13842
- _save131 = self.pos
13907
+ _save123 = self.pos
13843
13908
  _tmp = apply(:_Ticks5)
13844
13909
  _tmp = _tmp ? nil : true
13845
- self.pos = _save131
13910
+ self.pos = _save123
13846
13911
  unless _tmp
13847
- self.pos = _save130
13912
+ self.pos = _save122
13848
13913
  break
13849
13914
  end
13850
13915
  _tmp = scan(/\G(?-mix:`+)/)
13851
13916
  unless _tmp
13852
- self.pos = _save130
13917
+ self.pos = _save122
13853
13918
  end
13854
13919
  break
13855
13920
  end # end sequence
13856
13921
 
13857
13922
  break if _tmp
13858
- self.pos = _save124
13923
+ self.pos = _save116
13859
13924
 
13860
- _save132 = self.pos
13925
+ _save124 = self.pos
13861
13926
  while true # sequence
13862
- _save133 = self.pos
13863
-
13864
- _save134 = self.pos
13865
- while true # sequence
13866
- _tmp = _Sp()
13867
- unless _tmp
13868
- self.pos = _save134
13869
- break
13870
- end
13871
- _tmp = apply(:_Ticks5)
13872
- unless _tmp
13873
- self.pos = _save134
13874
- end
13875
- break
13876
- end # end sequence
13877
-
13927
+ _save125 = self.pos
13928
+ _tmp = apply(:_Ticks5)
13878
13929
  _tmp = _tmp ? nil : true
13879
- self.pos = _save133
13930
+ self.pos = _save125
13880
13931
  unless _tmp
13881
- self.pos = _save132
13932
+ self.pos = _save124
13882
13933
  break
13883
13934
  end
13884
13935
 
13885
- _save135 = self.pos
13936
+ _save126 = self.pos
13886
13937
  while true # choice
13887
13938
  _tmp = _Spacechar()
13888
13939
  break if _tmp
13889
- self.pos = _save135
13940
+ self.pos = _save126
13890
13941
 
13891
- _save136 = self.pos
13942
+ _save127 = self.pos
13892
13943
  while true # sequence
13893
13944
  _tmp = _Newline()
13894
13945
  unless _tmp
13895
- self.pos = _save136
13946
+ self.pos = _save127
13896
13947
  break
13897
13948
  end
13898
- _save137 = self.pos
13949
+ _save128 = self.pos
13899
13950
  _tmp = _BlankLine()
13900
13951
  _tmp = _tmp ? nil : true
13901
- self.pos = _save137
13952
+ self.pos = _save128
13902
13953
  unless _tmp
13903
- self.pos = _save136
13954
+ self.pos = _save127
13904
13955
  end
13905
13956
  break
13906
13957
  end # end sequence
13907
13958
 
13908
13959
  break if _tmp
13909
- self.pos = _save135
13960
+ self.pos = _save126
13910
13961
  break
13911
13962
  end # end choice
13912
13963
 
13913
13964
  unless _tmp
13914
- self.pos = _save132
13965
+ self.pos = _save124
13915
13966
  end
13916
13967
  break
13917
13968
  end # end sequence
13918
13969
 
13919
13970
  break if _tmp
13920
- self.pos = _save124
13971
+ self.pos = _save116
13921
13972
  break
13922
13973
  end # end choice
13923
13974
 
13924
13975
  if _tmp
13925
13976
  while true
13926
13977
 
13927
- _save138 = self.pos
13978
+ _save129 = self.pos
13928
13979
  while true # choice
13929
- _save139 = self.pos
13980
+ _save130 = self.pos
13930
13981
 
13931
- _save140 = self.pos
13982
+ _save131 = self.pos
13932
13983
  while true # sequence
13933
- _save141 = self.pos
13984
+ _save132 = self.pos
13934
13985
  _tmp = match_string("`")
13935
13986
  _tmp = _tmp ? nil : true
13936
- self.pos = _save141
13987
+ self.pos = _save132
13937
13988
  unless _tmp
13938
- self.pos = _save140
13989
+ self.pos = _save131
13939
13990
  break
13940
13991
  end
13941
13992
  _tmp = apply(:_Nonspacechar)
13942
13993
  unless _tmp
13943
- self.pos = _save140
13994
+ self.pos = _save131
13944
13995
  end
13945
13996
  break
13946
13997
  end # end sequence
@@ -13948,19 +13999,19 @@ class RDoc::Markdown
13948
13999
  if _tmp
13949
14000
  while true
13950
14001
 
13951
- _save142 = self.pos
14002
+ _save133 = self.pos
13952
14003
  while true # sequence
13953
- _save143 = self.pos
14004
+ _save134 = self.pos
13954
14005
  _tmp = match_string("`")
13955
14006
  _tmp = _tmp ? nil : true
13956
- self.pos = _save143
14007
+ self.pos = _save134
13957
14008
  unless _tmp
13958
- self.pos = _save142
14009
+ self.pos = _save133
13959
14010
  break
13960
14011
  end
13961
14012
  _tmp = apply(:_Nonspacechar)
13962
14013
  unless _tmp
13963
- self.pos = _save142
14014
+ self.pos = _save133
13964
14015
  end
13965
14016
  break
13966
14017
  end # end sequence
@@ -13969,92 +14020,78 @@ class RDoc::Markdown
13969
14020
  end
13970
14021
  _tmp = true
13971
14022
  else
13972
- self.pos = _save139
14023
+ self.pos = _save130
13973
14024
  end
13974
14025
  break if _tmp
13975
- self.pos = _save138
14026
+ self.pos = _save129
13976
14027
 
13977
- _save144 = self.pos
14028
+ _save135 = self.pos
13978
14029
  while true # sequence
13979
- _save145 = self.pos
14030
+ _save136 = self.pos
13980
14031
  _tmp = apply(:_Ticks5)
13981
14032
  _tmp = _tmp ? nil : true
13982
- self.pos = _save145
14033
+ self.pos = _save136
13983
14034
  unless _tmp
13984
- self.pos = _save144
14035
+ self.pos = _save135
13985
14036
  break
13986
14037
  end
13987
14038
  _tmp = scan(/\G(?-mix:`+)/)
13988
14039
  unless _tmp
13989
- self.pos = _save144
14040
+ self.pos = _save135
13990
14041
  end
13991
14042
  break
13992
14043
  end # end sequence
13993
14044
 
13994
14045
  break if _tmp
13995
- self.pos = _save138
14046
+ self.pos = _save129
13996
14047
 
13997
- _save146 = self.pos
14048
+ _save137 = self.pos
13998
14049
  while true # sequence
13999
- _save147 = self.pos
14000
-
14001
- _save148 = self.pos
14002
- while true # sequence
14003
- _tmp = _Sp()
14004
- unless _tmp
14005
- self.pos = _save148
14006
- break
14007
- end
14008
- _tmp = apply(:_Ticks5)
14009
- unless _tmp
14010
- self.pos = _save148
14011
- end
14012
- break
14013
- end # end sequence
14014
-
14050
+ _save138 = self.pos
14051
+ _tmp = apply(:_Ticks5)
14015
14052
  _tmp = _tmp ? nil : true
14016
- self.pos = _save147
14053
+ self.pos = _save138
14017
14054
  unless _tmp
14018
- self.pos = _save146
14055
+ self.pos = _save137
14019
14056
  break
14020
14057
  end
14021
14058
 
14022
- _save149 = self.pos
14059
+ _save139 = self.pos
14023
14060
  while true # choice
14024
14061
  _tmp = _Spacechar()
14025
14062
  break if _tmp
14026
- self.pos = _save149
14063
+ self.pos = _save139
14027
14064
 
14028
- _save150 = self.pos
14065
+ _save140 = self.pos
14029
14066
  while true # sequence
14030
14067
  _tmp = _Newline()
14031
14068
  unless _tmp
14032
- self.pos = _save150
14069
+ self.pos = _save140
14033
14070
  break
14034
14071
  end
14035
- _save151 = self.pos
14072
+ _save141 = self.pos
14036
14073
  _tmp = _BlankLine()
14037
14074
  _tmp = _tmp ? nil : true
14038
- self.pos = _save151
14075
+ self.pos = _save141
14039
14076
  unless _tmp
14040
- self.pos = _save150
14077
+ self.pos = _save140
14041
14078
  end
14042
14079
  break
14043
14080
  end # end sequence
14044
14081
 
14045
14082
  break if _tmp
14046
- self.pos = _save149
14083
+ self.pos = _save139
14047
14084
  break
14048
14085
  end # end choice
14049
14086
 
14050
14087
  unless _tmp
14051
- self.pos = _save146
14088
+ self.pos = _save137
14052
14089
  end
14053
14090
  break
14054
14091
  end # end sequence
14055
14092
 
14056
14093
  break if _tmp
14057
- self.pos = _save138
14094
+ self.pos = _save129
14058
14095
  break
14059
14096
  end # end choice
14060
14097
 
@@ -14062,23 +14099,18 @@ class RDoc::Markdown
14062
14099
  end
14063
14100
  _tmp = true
14064
14101
  else
14065
- self.pos = _save123
14102
+ self.pos = _save115
14066
14103
  end
14067
14104
  if _tmp
14068
14105
  text = get_text(_text_start)
14069
14106
  end
14070
14107
  unless _tmp
14071
- self.pos = _save122
14072
- break
14073
- end
14074
- _tmp = _Sp()
14075
- unless _tmp
14076
- self.pos = _save122
14108
+ self.pos = _save114
14077
14109
  break
14078
14110
  end
14079
14111
  _tmp = apply(:_Ticks5)
14080
14112
  unless _tmp
14081
- self.pos = _save122
14113
+ self.pos = _save114
14082
14114
  end
14083
14115
  break
14084
14116
  end # end sequence
@@ -14092,7 +14124,7 @@ class RDoc::Markdown
14092
14124
  self.pos = _save
14093
14125
  break
14094
14126
  end
14095
- @result = begin; "<code>#{text}</code>" ; end
14127
+ @result = begin; code text ; end
14096
14128
  _tmp = true
14097
14129
  unless _tmp
14098
14130
  self.pos = _save
@@ -14104,7 +14136,7 @@ class RDoc::Markdown
14104
14136
  return _tmp
14105
14137
  end
14106
14138
 
14107
- # RawHtml = < (HtmlComment | HtmlBlockScript | HtmlTag) > { if html? then text else '' end }
14139
+ # RawHtml = < (HtmlBlockScript | HtmlTag) > { html? ? text : '' }
14108
14140
  def _RawHtml
14109
14141
 
14110
14142
  _save = self.pos
@@ -14113,9 +14145,6 @@ class RDoc::Markdown
14113
14145
 
14114
14146
  _save1 = self.pos
14115
14147
  while true # choice
14116
- _tmp = apply(:_HtmlComment)
14117
- break if _tmp
14118
- self.pos = _save1
14119
14148
  _tmp = apply(:_HtmlBlockScript)
14120
14149
  break if _tmp
14121
14150
  self.pos = _save1
@@ -14132,7 +14161,7 @@ class RDoc::Markdown
14132
14161
  self.pos = _save
14133
14162
  break
14134
14163
  end
14135
- @result = begin; if html? then text else '' end ; end
14164
+ @result = begin; html? ? text : '' ; end
14136
14165
  _tmp = true
14137
14166
  unless _tmp
14138
14167
  self.pos = _save
@@ -14144,6 +14173,28 @@ class RDoc::Markdown
14144
14173
  return _tmp
14145
14174
  end
14146
14175
 
14176
+ # StrippedComment = HtmlComment { '' }
14177
+ def _StrippedComment
14178
+
14179
+ _save = self.pos
14180
+ while true # sequence
14181
+ _tmp = apply(:_HtmlComment)
14182
+ unless _tmp
14183
+ self.pos = _save
14184
+ break
14185
+ end
14186
+ @result = begin; '' ; end
14187
+ _tmp = true
14188
+ unless _tmp
14189
+ self.pos = _save
14190
+ end
14191
+ break
14192
+ end # end sequence
14193
+
14194
+ set_failed_rule :_StrippedComment unless _tmp
14195
+ return _tmp
14196
+ end
14197
+
14147
14198
  # BlankLine = @Sp @Newline { "\n" }
14148
14199
  def _BlankLine
14149
14200
 
@@ -14736,7 +14787,7 @@ class RDoc::Markdown
14736
14787
  return _tmp
14737
14788
  end
14738
14789
 
14739
- # HexEntity = /&#x/i < /[0-9a-fA-F]+/ > ";" { [text.to_i(16)].pack 'U' }
14790
+ # HexEntity = /&#x/i < /[0-9a-fA-F]+/ > ";" { rdoc_escape([text.to_i(16)].pack('U')) }
14740
14791
  def _HexEntity
14741
14792
 
14742
14793
  _save = self.pos
@@ -14760,7 +14811,7 @@ class RDoc::Markdown
14760
14811
  self.pos = _save
14761
14812
  break
14762
14813
  end
14763
- @result = begin; [text.to_i(16)].pack 'U' ; end
14814
+ @result = begin; rdoc_escape([text.to_i(16)].pack('U')) ; end
14764
14815
  _tmp = true
14765
14816
  unless _tmp
14766
14817
  self.pos = _save
@@ -14772,7 +14823,7 @@ class RDoc::Markdown
14772
14823
  return _tmp
14773
14824
  end
14774
14825
 
14775
- # DecEntity = "&#" < /[0-9]+/ > ";" { [text.to_i].pack 'U' }
14826
+ # DecEntity = "&#" < /[0-9]+/ > ";" { rdoc_escape([text.to_i].pack('U')) }
14776
14827
  def _DecEntity
14777
14828
 
14778
14829
  _save = self.pos
@@ -14796,7 +14847,7 @@ class RDoc::Markdown
14796
14847
  self.pos = _save
14797
14848
  break
14798
14849
  end
14799
- @result = begin; [text.to_i].pack 'U' ; end
14850
+ @result = begin; rdoc_escape([text.to_i].pack('U')) ; end
14800
14851
  _tmp = true
14801
14852
  unless _tmp
14802
14853
  self.pos = _save
@@ -14808,7 +14859,7 @@ class RDoc::Markdown
14808
14859
  return _tmp
14809
14860
  end
14810
14861
 
14811
- # CharEntity = "&" < /[A-Za-z0-9]+/ > ";" { if entity = HTML_ENTITIES[text] then entity.pack 'U*' else "&#{text};" end }
14862
+ # CharEntity = "&" < /[A-Za-z0-9]+/ > ";" { if entity = HTML_ENTITIES[text] then rdoc_escape(entity.pack('U*')) else "&#{text};" end }
14812
14863
  def _CharEntity
14813
14864
 
14814
14865
  _save = self.pos
@@ -14833,7 +14884,7 @@ class RDoc::Markdown
14833
14884
  break
14834
14885
  end
14835
14886
  @result = begin; if entity = HTML_ENTITIES[text] then
14836
- entity.pack 'U*'
14887
+ rdoc_escape(entity.pack('U*'))
14837
14888
  else
14838
14889
  "&#{text};"
14839
14890
  end
@@ -14957,7 +15008,7 @@ class RDoc::Markdown
14957
15008
  return _tmp
14958
15009
  end
14959
15010
 
14960
- # RawLine = (< (!"\r" !"\n" .)* @Newline > | < .+ > @Eof) { text }
15011
+ # RawLine = (< /[^\r\n]*/ @Newline > | < .+ > @Eof) { text }
14961
15012
  def _RawLine
14962
15013
 
14963
15014
  _save = self.pos
@@ -14969,36 +15020,7 @@ class RDoc::Markdown
14969
15020
 
14970
15021
  _save2 = self.pos
14971
15022
  while true # sequence
14972
- while true
14973
-
14974
- _save4 = self.pos
14975
- while true # sequence
14976
- _save5 = self.pos
14977
- _tmp = match_string("\r")
14978
- _tmp = _tmp ? nil : true
14979
- self.pos = _save5
14980
- unless _tmp
14981
- self.pos = _save4
14982
- break
14983
- end
14984
- _save6 = self.pos
14985
- _tmp = match_string("\n")
14986
- _tmp = _tmp ? nil : true
14987
- self.pos = _save6
14988
- unless _tmp
14989
- self.pos = _save4
14990
- break
14991
- end
14992
- _tmp = get_byte
14993
- unless _tmp
14994
- self.pos = _save4
14995
- end
14996
- break
14997
- end # end sequence
14998
-
14999
- break unless _tmp
15000
- end
15001
- _tmp = true
15023
+ _tmp = scan(/\G(?-mix:[^\r\n]*)/)
15002
15024
  unless _tmp
15003
15025
  self.pos = _save2
15004
15026
  break
@@ -15016,10 +15038,10 @@ class RDoc::Markdown
15016
15038
  break if _tmp
15017
15039
  self.pos = _save1
15018
15040
 
15019
- _save7 = self.pos
15041
+ _save3 = self.pos
15020
15042
  while true # sequence
15021
15043
  _text_start = self.pos
15022
- _save8 = self.pos
15044
+ _save4 = self.pos
15023
15045
  _tmp = get_byte
15024
15046
  if _tmp
15025
15047
  while true
@@ -15028,18 +15050,18 @@ class RDoc::Markdown
15028
15050
  end
15029
15051
  _tmp = true
15030
15052
  else
15031
- self.pos = _save8
15053
+ self.pos = _save4
15032
15054
  end
15033
15055
  if _tmp
15034
15056
  text = get_text(_text_start)
15035
15057
  end
15036
15058
  unless _tmp
15037
- self.pos = _save7
15059
+ self.pos = _save3
15038
15060
  break
15039
15061
  end
15040
15062
  _tmp = _Eof()
15041
15063
  unless _tmp
15042
- self.pos = _save7
15064
+ self.pos = _save3
15043
15065
  end
15044
15066
  break
15045
15067
  end # end sequence
@@ -15456,7 +15478,7 @@ class RDoc::Markdown
15456
15478
  return _tmp
15457
15479
  end
15458
15480
 
15459
- # InlineNote = &{ notes? } "^[" @StartList:a (!"]" Inline:l { a << l })+ "]" { ref = [:inline, @note_order.length] @footnotes[ref] = paragraph a note_for ref }
15481
+ # InlineNote = &{ notes? } "^[" @StartList:a (!"]" Inline:l { a << l })+ "]" { if @note_order ref = [:inline, @note_order.length] @footnotes[ref] = paragraph a note_for ref end }
15460
15482
  def _InlineNote
15461
15483
 
15462
15484
  _save = self.pos
@@ -15547,10 +15569,12 @@ class RDoc::Markdown
15547
15569
  self.pos = _save
15548
15570
  break
15549
15571
  end
15550
- @result = begin; ref = [:inline, @note_order.length]
15551
- @footnotes[ref] = paragraph a
15572
+ @result = begin; if @note_order
15573
+ ref = [:inline, @note_order.length]
15574
+ @footnotes[ref] = paragraph a
15552
15575
 
15553
- note_for ref
15576
+ note_for ref
15577
+ end
15554
15578
  ; end
15555
15579
  _tmp = true
15556
15580
  unless _tmp
@@ -15585,7 +15609,7 @@ class RDoc::Markdown
15585
15609
  return _tmp
15586
15610
  end
15587
15611
 
15588
- # RawNoteBlock = @StartList:a (!@BlankLine OptionallyIndentedLine:l { a << l })+ < @BlankLine* > { a << text } { a }
15612
+ # RawNoteBlock = @StartList:a (!@BlankLine !RawNoteReference OptionallyIndentedLine:l { a << l })+ < @BlankLine* > { a << text } { a }
15589
15613
  def _RawNoteBlock
15590
15614
 
15591
15615
  _save = self.pos
@@ -15608,6 +15632,14 @@ class RDoc::Markdown
15608
15632
  self.pos = _save2
15609
15633
  break
15610
15634
  end
15635
+ _save4 = self.pos
15636
+ _tmp = apply(:_RawNoteReference)
15637
+ _tmp = _tmp ? nil : true
15638
+ self.pos = _save4
15639
+ unless _tmp
15640
+ self.pos = _save2
15641
+ break
15642
+ end
15611
15643
  _tmp = apply(:_OptionallyIndentedLine)
15612
15644
  l = @result
15613
15645
  unless _tmp
@@ -15625,26 +15657,34 @@ class RDoc::Markdown
15625
15657
  if _tmp
15626
15658
  while true
15627
15659
 
15628
- _save4 = self.pos
15660
+ _save5 = self.pos
15629
15661
  while true # sequence
15630
- _save5 = self.pos
15662
+ _save6 = self.pos
15631
15663
  _tmp = _BlankLine()
15632
15664
  _tmp = _tmp ? nil : true
15633
- self.pos = _save5
15665
+ self.pos = _save6
15634
15666
  unless _tmp
15635
- self.pos = _save4
15667
+ self.pos = _save5
15668
+ break
15669
+ end
15670
+ _save7 = self.pos
15671
+ _tmp = apply(:_RawNoteReference)
15672
+ _tmp = _tmp ? nil : true
15673
+ self.pos = _save7
15674
+ unless _tmp
15675
+ self.pos = _save5
15636
15676
  break
15637
15677
  end
15638
15678
  _tmp = apply(:_OptionallyIndentedLine)
15639
15679
  l = @result
15640
15680
  unless _tmp
15641
- self.pos = _save4
15681
+ self.pos = _save5
15642
15682
  break
15643
15683
  end
15644
15684
  @result = begin; a << l ; end
15645
15685
  _tmp = true
15646
15686
  unless _tmp
15647
- self.pos = _save4
15687
+ self.pos = _save5
15648
15688
  end
15649
15689
  break
15650
15690
  end # end sequence
@@ -15690,7 +15730,7 @@ class RDoc::Markdown
15690
15730
  return _tmp
15691
15731
  end
15692
15732
 
15693
- # CodeFence = &{ github? } Ticks3 (@Sp StrChunk:format)? Spnl < ((!"`" Nonspacechar)+ | !Ticks3 /`+/ | Spacechar | @Newline)+ > Ticks3 @Sp @Newline* { verbatim = RDoc::Markup::Verbatim.new text verbatim.format = format.intern if format.instance_of?(String) verbatim }
15733
+ # CodeFence = &{ github? } Ticks3 (@Sp StrChunk:format)? @Sp @Newline? < ((!"`" Nonspacechar)+ | !Ticks3 /`+/ | Spacechar | @Newline)+ > Ticks3 @Sp @Newline* { verbatim = RDoc::Markup::Verbatim.new text verbatim.format = format.intern if format.instance_of?(String) verbatim }
15694
15734
  def _CodeFence
15695
15735
 
15696
15736
  _save = self.pos
@@ -15732,31 +15772,41 @@ class RDoc::Markdown
15732
15772
  self.pos = _save
15733
15773
  break
15734
15774
  end
15735
- _tmp = apply(:_Spnl)
15775
+ _tmp = _Sp()
15736
15776
  unless _tmp
15737
15777
  self.pos = _save
15738
15778
  break
15739
15779
  end
15740
- _text_start = self.pos
15741
15780
  _save4 = self.pos
15742
-
15781
+ _tmp = _Newline()
15782
+ unless _tmp
15783
+ _tmp = true
15784
+ self.pos = _save4
15785
+ end
15786
+ unless _tmp
15787
+ self.pos = _save
15788
+ break
15789
+ end
15790
+ _text_start = self.pos
15743
15791
  _save5 = self.pos
15744
- while true # choice
15745
- _save6 = self.pos
15746
15792
 
15793
+ _save6 = self.pos
15794
+ while true # choice
15747
15795
  _save7 = self.pos
15796
+
15797
+ _save8 = self.pos
15748
15798
  while true # sequence
15749
- _save8 = self.pos
15799
+ _save9 = self.pos
15750
15800
  _tmp = match_string("`")
15751
15801
  _tmp = _tmp ? nil : true
15752
- self.pos = _save8
15802
+ self.pos = _save9
15753
15803
  unless _tmp
15754
- self.pos = _save7
15804
+ self.pos = _save8
15755
15805
  break
15756
15806
  end
15757
15807
  _tmp = apply(:_Nonspacechar)
15758
15808
  unless _tmp
15759
- self.pos = _save7
15809
+ self.pos = _save8
15760
15810
  end
15761
15811
  break
15762
15812
  end # end sequence
@@ -15764,19 +15814,19 @@ class RDoc::Markdown
15764
15814
  if _tmp
15765
15815
  while true
15766
15816
 
15767
- _save9 = self.pos
15817
+ _save10 = self.pos
15768
15818
  while true # sequence
15769
- _save10 = self.pos
15819
+ _save11 = self.pos
15770
15820
  _tmp = match_string("`")
15771
15821
  _tmp = _tmp ? nil : true
15772
- self.pos = _save10
15822
+ self.pos = _save11
15773
15823
  unless _tmp
15774
- self.pos = _save9
15824
+ self.pos = _save10
15775
15825
  break
15776
15826
  end
15777
15827
  _tmp = apply(:_Nonspacechar)
15778
15828
  unless _tmp
15779
- self.pos = _save9
15829
+ self.pos = _save10
15780
15830
  end
15781
15831
  break
15782
15832
  end # end sequence
@@ -15785,59 +15835,59 @@ class RDoc::Markdown
15785
15835
  end
15786
15836
  _tmp = true
15787
15837
  else
15788
- self.pos = _save6
15838
+ self.pos = _save7
15789
15839
  end
15790
15840
  break if _tmp
15791
- self.pos = _save5
15841
+ self.pos = _save6
15792
15842
 
15793
- _save11 = self.pos
15843
+ _save12 = self.pos
15794
15844
  while true # sequence
15795
- _save12 = self.pos
15845
+ _save13 = self.pos
15796
15846
  _tmp = apply(:_Ticks3)
15797
15847
  _tmp = _tmp ? nil : true
15798
- self.pos = _save12
15848
+ self.pos = _save13
15799
15849
  unless _tmp
15800
- self.pos = _save11
15850
+ self.pos = _save12
15801
15851
  break
15802
15852
  end
15803
15853
  _tmp = scan(/\G(?-mix:`+)/)
15804
15854
  unless _tmp
15805
- self.pos = _save11
15855
+ self.pos = _save12
15806
15856
  end
15807
15857
  break
15808
15858
  end # end sequence
15809
15859
 
15810
15860
  break if _tmp
15811
- self.pos = _save5
15861
+ self.pos = _save6
15812
15862
  _tmp = apply(:_Spacechar)
15813
15863
  break if _tmp
15814
- self.pos = _save5
15864
+ self.pos = _save6
15815
15865
  _tmp = _Newline()
15816
15866
  break if _tmp
15817
- self.pos = _save5
15867
+ self.pos = _save6
15818
15868
  break
15819
15869
  end # end choice
15820
15870
 
15821
15871
  if _tmp
15822
15872
  while true
15823
15873
 
15824
- _save13 = self.pos
15874
+ _save14 = self.pos
15825
15875
  while true # choice
15826
- _save14 = self.pos
15827
-
15828
15876
  _save15 = self.pos
15877
+
15878
+ _save16 = self.pos
15829
15879
  while true # sequence
15830
- _save16 = self.pos
15880
+ _save17 = self.pos
15831
15881
  _tmp = match_string("`")
15832
15882
  _tmp = _tmp ? nil : true
15833
- self.pos = _save16
15883
+ self.pos = _save17
15834
15884
  unless _tmp
15835
- self.pos = _save15
15885
+ self.pos = _save16
15836
15886
  break
15837
15887
  end
15838
15888
  _tmp = apply(:_Nonspacechar)
15839
15889
  unless _tmp
15840
- self.pos = _save15
15890
+ self.pos = _save16
15841
15891
  end
15842
15892
  break
15843
15893
  end # end sequence
@@ -15845,19 +15895,19 @@ class RDoc::Markdown
15845
15895
  if _tmp
15846
15896
  while true
15847
15897
 
15848
- _save17 = self.pos
15898
+ _save18 = self.pos
15849
15899
  while true # sequence
15850
- _save18 = self.pos
15900
+ _save19 = self.pos
15851
15901
  _tmp = match_string("`")
15852
15902
  _tmp = _tmp ? nil : true
15853
- self.pos = _save18
15903
+ self.pos = _save19
15854
15904
  unless _tmp
15855
- self.pos = _save17
15905
+ self.pos = _save18
15856
15906
  break
15857
15907
  end
15858
15908
  _tmp = apply(:_Nonspacechar)
15859
15909
  unless _tmp
15860
- self.pos = _save17
15910
+ self.pos = _save18
15861
15911
  end
15862
15912
  break
15863
15913
  end # end sequence
@@ -15866,36 +15916,36 @@ class RDoc::Markdown
15866
15916
  end
15867
15917
  _tmp = true
15868
15918
  else
15869
- self.pos = _save14
15919
+ self.pos = _save15
15870
15920
  end
15871
15921
  break if _tmp
15872
- self.pos = _save13
15922
+ self.pos = _save14
15873
15923
 
15874
- _save19 = self.pos
15924
+ _save20 = self.pos
15875
15925
  while true # sequence
15876
- _save20 = self.pos
15926
+ _save21 = self.pos
15877
15927
  _tmp = apply(:_Ticks3)
15878
15928
  _tmp = _tmp ? nil : true
15879
- self.pos = _save20
15929
+ self.pos = _save21
15880
15930
  unless _tmp
15881
- self.pos = _save19
15931
+ self.pos = _save20
15882
15932
  break
15883
15933
  end
15884
15934
  _tmp = scan(/\G(?-mix:`+)/)
15885
15935
  unless _tmp
15886
- self.pos = _save19
15936
+ self.pos = _save20
15887
15937
  end
15888
15938
  break
15889
15939
  end # end sequence
15890
15940
 
15891
15941
  break if _tmp
15892
- self.pos = _save13
15942
+ self.pos = _save14
15893
15943
  _tmp = apply(:_Spacechar)
15894
15944
  break if _tmp
15895
- self.pos = _save13
15945
+ self.pos = _save14
15896
15946
  _tmp = _Newline()
15897
15947
  break if _tmp
15898
- self.pos = _save13
15948
+ self.pos = _save14
15899
15949
  break
15900
15950
  end # end choice
15901
15951
 
@@ -15903,7 +15953,7 @@ class RDoc::Markdown
15903
15953
  end
15904
15954
  _tmp = true
15905
15955
  else
15906
- self.pos = _save4
15956
+ self.pos = _save5
15907
15957
  end
15908
15958
  if _tmp
15909
15959
  text = get_text(_text_start)
@@ -15946,7 +15996,7 @@ class RDoc::Markdown
15946
15996
  return _tmp
15947
15997
  end
15948
15998
 
15949
- # Table = &{ github? } TableRow:header TableLine:line TableRow+:body { table = RDoc::Markup::Table.new(header, line, body) }
15999
+ # Table = &{ github? } TableHead:header TableLine:line TableRow+:body { table = RDoc::Markup::Table.new(header, line, body) parse_table_cells(table) }
15950
16000
  def _Table
15951
16001
 
15952
16002
  _save = self.pos
@@ -15958,7 +16008,7 @@ class RDoc::Markdown
15958
16008
  self.pos = _save
15959
16009
  break
15960
16010
  end
15961
- _tmp = apply(:_TableRow)
16011
+ _tmp = apply(:_TableHead)
15962
16012
  header = @result
15963
16013
  unless _tmp
15964
16014
  self.pos = _save
@@ -15990,7 +16040,10 @@ class RDoc::Markdown
15990
16040
  self.pos = _save
15991
16041
  break
15992
16042
  end
15993
- @result = begin; table = RDoc::Markup::Table.new(header, line, body) ; end
16043
+ @result = begin;
16044
+ table = RDoc::Markup::Table.new(header, line, body)
16045
+ parse_table_cells(table)
16046
+ ; end
15994
16047
  _tmp = true
15995
16048
  unless _tmp
15996
16049
  self.pos = _save
@@ -16002,18 +16055,18 @@ class RDoc::Markdown
16002
16055
  return _tmp
16003
16056
  end
16004
16057
 
16005
- # TableRow = TableItem+:row "|" @Newline { row }
16006
- def _TableRow
16058
+ # TableHead = TableItem2+:items "|"? @Newline { items }
16059
+ def _TableHead
16007
16060
 
16008
16061
  _save = self.pos
16009
16062
  while true # sequence
16010
16063
  _save1 = self.pos
16011
16064
  _ary = []
16012
- _tmp = apply(:_TableItem)
16065
+ _tmp = apply(:_TableItem2)
16013
16066
  if _tmp
16014
16067
  _ary << @result
16015
16068
  while true
16016
- _tmp = apply(:_TableItem)
16069
+ _tmp = apply(:_TableItem2)
16017
16070
  _ary << @result if _tmp
16018
16071
  break unless _tmp
16019
16072
  end
@@ -16022,12 +16075,17 @@ class RDoc::Markdown
16022
16075
  else
16023
16076
  self.pos = _save1
16024
16077
  end
16025
- row = @result
16078
+ items = @result
16026
16079
  unless _tmp
16027
16080
  self.pos = _save
16028
16081
  break
16029
16082
  end
16083
+ _save2 = self.pos
16030
16084
  _tmp = match_string("|")
16085
+ unless _tmp
16086
+ _tmp = true
16087
+ self.pos = _save2
16088
+ end
16031
16089
  unless _tmp
16032
16090
  self.pos = _save
16033
16091
  break
@@ -16037,7 +16095,7 @@ class RDoc::Markdown
16037
16095
  self.pos = _save
16038
16096
  break
16039
16097
  end
16040
- @result = begin; row ; end
16098
+ @result = begin; items ; end
16041
16099
  _tmp = true
16042
16100
  unless _tmp
16043
16101
  self.pos = _save
@@ -16045,90 +16103,99 @@ class RDoc::Markdown
16045
16103
  break
16046
16104
  end # end sequence
16047
16105
 
16048
- set_failed_rule :_TableRow unless _tmp
16106
+ set_failed_rule :_TableHead unless _tmp
16049
16107
  return _tmp
16050
16108
  end
16051
16109
 
16052
- # TableItem = "|" < (!"|" !@Newline .)+ > { text.strip }
16053
- def _TableItem
16110
+ # TableRow = ((TableItem:item1 TableItem2+:items { [item1, *items] }):row | TableItem2+:row) "|"? @Newline { row }
16111
+ def _TableRow
16054
16112
 
16055
16113
  _save = self.pos
16056
16114
  while true # sequence
16057
- _tmp = match_string("|")
16058
- unless _tmp
16059
- self.pos = _save
16060
- break
16061
- end
16062
- _text_start = self.pos
16115
+
16063
16116
  _save1 = self.pos
16117
+ while true # choice
16064
16118
 
16065
- _save2 = self.pos
16066
- while true # sequence
16067
- _save3 = self.pos
16068
- _tmp = match_string("|")
16069
- _tmp = _tmp ? nil : true
16070
- self.pos = _save3
16071
- unless _tmp
16072
- self.pos = _save2
16119
+ _save2 = self.pos
16120
+ while true # sequence
16121
+ _tmp = apply(:_TableItem)
16122
+ item1 = @result
16123
+ unless _tmp
16124
+ self.pos = _save2
16125
+ break
16126
+ end
16127
+ _save3 = self.pos
16128
+ _ary = []
16129
+ _tmp = apply(:_TableItem2)
16130
+ if _tmp
16131
+ _ary << @result
16132
+ while true
16133
+ _tmp = apply(:_TableItem2)
16134
+ _ary << @result if _tmp
16135
+ break unless _tmp
16136
+ end
16137
+ _tmp = true
16138
+ @result = _ary
16139
+ else
16140
+ self.pos = _save3
16141
+ end
16142
+ items = @result
16143
+ unless _tmp
16144
+ self.pos = _save2
16145
+ break
16146
+ end
16147
+ @result = begin; [item1, *items] ; end
16148
+ _tmp = true
16149
+ unless _tmp
16150
+ self.pos = _save2
16151
+ end
16073
16152
  break
16074
- end
16153
+ end # end sequence
16154
+
16155
+ row = @result
16156
+ break if _tmp
16157
+ self.pos = _save1
16075
16158
  _save4 = self.pos
16076
- _tmp = _Newline()
16077
- _tmp = _tmp ? nil : true
16078
- self.pos = _save4
16079
- unless _tmp
16080
- self.pos = _save2
16081
- break
16082
- end
16083
- _tmp = get_byte
16084
- unless _tmp
16085
- self.pos = _save2
16159
+ _ary = []
16160
+ _tmp = apply(:_TableItem2)
16161
+ if _tmp
16162
+ _ary << @result
16163
+ while true
16164
+ _tmp = apply(:_TableItem2)
16165
+ _ary << @result if _tmp
16166
+ break unless _tmp
16167
+ end
16168
+ _tmp = true
16169
+ @result = _ary
16170
+ else
16171
+ self.pos = _save4
16086
16172
  end
16173
+ row = @result
16174
+ break if _tmp
16175
+ self.pos = _save1
16087
16176
  break
16088
- end # end sequence
16089
-
16090
- if _tmp
16091
- while true
16092
-
16093
- _save5 = self.pos
16094
- while true # sequence
16095
- _save6 = self.pos
16096
- _tmp = match_string("|")
16097
- _tmp = _tmp ? nil : true
16098
- self.pos = _save6
16099
- unless _tmp
16100
- self.pos = _save5
16101
- break
16102
- end
16103
- _save7 = self.pos
16104
- _tmp = _Newline()
16105
- _tmp = _tmp ? nil : true
16106
- self.pos = _save7
16107
- unless _tmp
16108
- self.pos = _save5
16109
- break
16110
- end
16111
- _tmp = get_byte
16112
- unless _tmp
16113
- self.pos = _save5
16114
- end
16115
- break
16116
- end # end sequence
16177
+ end # end choice
16117
16178
 
16118
- break unless _tmp
16119
- end
16179
+ unless _tmp
16180
+ self.pos = _save
16181
+ break
16182
+ end
16183
+ _save5 = self.pos
16184
+ _tmp = match_string("|")
16185
+ unless _tmp
16120
16186
  _tmp = true
16121
- else
16122
- self.pos = _save1
16187
+ self.pos = _save5
16123
16188
  end
16124
- if _tmp
16125
- text = get_text(_text_start)
16189
+ unless _tmp
16190
+ self.pos = _save
16191
+ break
16126
16192
  end
16193
+ _tmp = _Newline()
16127
16194
  unless _tmp
16128
16195
  self.pos = _save
16129
16196
  break
16130
16197
  end
16131
- @result = begin; text.strip ; end
16198
+ @result = begin; row ; end
16132
16199
  _tmp = true
16133
16200
  unless _tmp
16134
16201
  self.pos = _save
@@ -16136,46 +16203,46 @@ class RDoc::Markdown
16136
16203
  break
16137
16204
  end # end sequence
16138
16205
 
16139
- set_failed_rule :_TableItem unless _tmp
16206
+ set_failed_rule :_TableRow unless _tmp
16140
16207
  return _tmp
16141
16208
  end
16142
16209
 
16143
- # TableLine = TableColumn+:line "|" @Newline { line }
16144
- def _TableLine
16210
+ # TableItem2 = "|" TableItem
16211
+ def _TableItem2
16145
16212
 
16146
16213
  _save = self.pos
16147
16214
  while true # sequence
16148
- _save1 = self.pos
16149
- _ary = []
16150
- _tmp = apply(:_TableColumn)
16151
- if _tmp
16152
- _ary << @result
16153
- while true
16154
- _tmp = apply(:_TableColumn)
16155
- _ary << @result if _tmp
16156
- break unless _tmp
16157
- end
16158
- _tmp = true
16159
- @result = _ary
16160
- else
16161
- self.pos = _save1
16162
- end
16163
- line = @result
16215
+ _tmp = match_string("|")
16164
16216
  unless _tmp
16165
16217
  self.pos = _save
16166
16218
  break
16167
16219
  end
16168
- _tmp = match_string("|")
16220
+ _tmp = apply(:_TableItem)
16169
16221
  unless _tmp
16170
16222
  self.pos = _save
16171
- break
16172
16223
  end
16173
- _tmp = _Newline()
16224
+ break
16225
+ end # end sequence
16226
+
16227
+ set_failed_rule :_TableItem2 unless _tmp
16228
+ return _tmp
16229
+ end
16230
+
16231
+ # TableItem = < /(?:\\.|[^|\n])+/ > { text.strip.gsub(/\\([|])/, '\1') }
16232
+ def _TableItem
16233
+
16234
+ _save = self.pos
16235
+ while true # sequence
16236
+ _text_start = self.pos
16237
+ _tmp = scan(/\G(?-mix:(?:\\.|[^|\n])+)/)
16238
+ if _tmp
16239
+ text = get_text(_text_start)
16240
+ end
16174
16241
  unless _tmp
16175
16242
  self.pos = _save
16176
16243
  break
16177
16244
  end
16178
- @result = begin; line ; end
16245
+ @result = begin; text.strip.gsub(/\\([|])/, '\1') ; end
16179
16246
  _tmp = true
16180
16247
  unless _tmp
16181
16248
  self.pos = _save
@@ -16183,80 +16250,143 @@ class RDoc::Markdown
16183
16250
  break
16184
16251
  end # end sequence
16185
16252
 
16186
- set_failed_rule :_TableLine unless _tmp
16253
+ set_failed_rule :_TableItem unless _tmp
16187
16254
  return _tmp
16188
16255
  end
16189
16256
 
16190
- # TableColumn = "|" < ("-"+ ":"? | ":" "-"*) > { text.start_with?(":") ? :left : text.end_with?(":") ? :right : nil }
16191
- def _TableColumn
16257
+ # TableLine = ((TableAlign:align1 TableAlign2+:aligns {[align1, *aligns] }):line | TableAlign2+:line) "|"? @Newline { line }
16258
+ def _TableLine
16192
16259
 
16193
16260
  _save = self.pos
16194
16261
  while true # sequence
16195
- _tmp = match_string("|")
16196
- unless _tmp
16197
- self.pos = _save
16198
- break
16199
- end
16200
- _text_start = self.pos
16201
16262
 
16202
16263
  _save1 = self.pos
16203
16264
  while true # choice
16204
16265
 
16205
16266
  _save2 = self.pos
16206
16267
  while true # sequence
16268
+ _tmp = apply(:_TableAlign)
16269
+ align1 = @result
16270
+ unless _tmp
16271
+ self.pos = _save2
16272
+ break
16273
+ end
16207
16274
  _save3 = self.pos
16208
- _tmp = match_string("-")
16275
+ _ary = []
16276
+ _tmp = apply(:_TableAlign2)
16209
16277
  if _tmp
16278
+ _ary << @result
16210
16279
  while true
16211
- _tmp = match_string("-")
16280
+ _tmp = apply(:_TableAlign2)
16281
+ _ary << @result if _tmp
16212
16282
  break unless _tmp
16213
16283
  end
16214
16284
  _tmp = true
16285
+ @result = _ary
16215
16286
  else
16216
16287
  self.pos = _save3
16217
16288
  end
16289
+ aligns = @result
16218
16290
  unless _tmp
16219
16291
  self.pos = _save2
16220
16292
  break
16221
16293
  end
16222
- _save4 = self.pos
16223
- _tmp = match_string(":")
16224
- unless _tmp
16225
- _tmp = true
16226
- self.pos = _save4
16227
- end
16294
+ @result = begin; [align1, *aligns] ; end
16295
+ _tmp = true
16228
16296
  unless _tmp
16229
16297
  self.pos = _save2
16230
16298
  end
16231
16299
  break
16232
16300
  end # end sequence
16233
16301
 
16302
+ line = @result
16234
16303
  break if _tmp
16235
16304
  self.pos = _save1
16236
-
16237
- _save5 = self.pos
16238
- while true # sequence
16239
- _tmp = match_string(":")
16240
- unless _tmp
16241
- self.pos = _save5
16242
- break
16243
- end
16305
+ _save4 = self.pos
16306
+ _ary = []
16307
+ _tmp = apply(:_TableAlign2)
16308
+ if _tmp
16309
+ _ary << @result
16244
16310
  while true
16245
- _tmp = match_string("-")
16311
+ _tmp = apply(:_TableAlign2)
16312
+ _ary << @result if _tmp
16246
16313
  break unless _tmp
16247
16314
  end
16248
16315
  _tmp = true
16249
- unless _tmp
16250
- self.pos = _save5
16251
- end
16252
- break
16253
- end # end sequence
16254
-
16316
+ @result = _ary
16317
+ else
16318
+ self.pos = _save4
16319
+ end
16320
+ line = @result
16255
16321
  break if _tmp
16256
16322
  self.pos = _save1
16257
16323
  break
16258
16324
  end # end choice
16259
16325
 
16326
+ unless _tmp
16327
+ self.pos = _save
16328
+ break
16329
+ end
16330
+ _save5 = self.pos
16331
+ _tmp = match_string("|")
16332
+ unless _tmp
16333
+ _tmp = true
16334
+ self.pos = _save5
16335
+ end
16336
+ unless _tmp
16337
+ self.pos = _save
16338
+ break
16339
+ end
16340
+ _tmp = _Newline()
16341
+ unless _tmp
16342
+ self.pos = _save
16343
+ break
16344
+ end
16345
+ @result = begin; line ; end
16346
+ _tmp = true
16347
+ unless _tmp
16348
+ self.pos = _save
16349
+ end
16350
+ break
16351
+ end # end sequence
16352
+
16353
+ set_failed_rule :_TableLine unless _tmp
16354
+ return _tmp
16355
+ end
16356
+
16357
+ # TableAlign2 = "|" @Sp TableAlign
16358
+ def _TableAlign2
16359
+
16360
+ _save = self.pos
16361
+ while true # sequence
16362
+ _tmp = match_string("|")
16363
+ unless _tmp
16364
+ self.pos = _save
16365
+ break
16366
+ end
16367
+ _tmp = _Sp()
16368
+ unless _tmp
16369
+ self.pos = _save
16370
+ break
16371
+ end
16372
+ _tmp = apply(:_TableAlign)
16373
+ unless _tmp
16374
+ self.pos = _save
16375
+ end
16376
+ break
16377
+ end # end sequence
16378
+
16379
+ set_failed_rule :_TableAlign2 unless _tmp
16380
+ return _tmp
16381
+ end
16382
+
16383
+ # TableAlign = < /:?-+:?/ > @Sp { text.start_with?(":") ? (text.end_with?(":") ? :center : :left) : (text.end_with?(":") ? :right : nil) }
16384
+ def _TableAlign
16385
+
16386
+ _save = self.pos
16387
+ while true # sequence
16388
+ _text_start = self.pos
16389
+ _tmp = scan(/\G(?-mix::?-+:?)/)
16260
16390
  if _tmp
16261
16391
  text = get_text(_text_start)
16262
16392
  end
@@ -16264,8 +16394,15 @@ class RDoc::Markdown
16264
16394
  self.pos = _save
16265
16395
  break
16266
16396
  end
16267
- @result = begin; text.start_with?(":") ? :left :
16268
- text.end_with?(":") ? :right : nil
16397
+ _tmp = _Sp()
16398
+ unless _tmp
16399
+ self.pos = _save
16400
+ break
16401
+ end
16402
+ @result = begin;
16403
+ text.start_with?(":") ?
16404
+ (text.end_with?(":") ? :center : :left) :
16405
+ (text.end_with?(":") ? :right : nil)
16269
16406
  ; end
16270
16407
  _tmp = true
16271
16408
  unless _tmp
@@ -16274,7 +16411,7 @@ class RDoc::Markdown
16274
16411
  break
16275
16412
  end # end sequence
16276
16413
 
16277
- set_failed_rule :_TableColumn unless _tmp
16414
+ set_failed_rule :_TableAlign unless _tmp
16278
16415
  return _tmp
16279
16416
  end
16280
16417
 
@@ -16388,12 +16525,12 @@ class RDoc::Markdown
16388
16525
  return _tmp
16389
16526
  end
16390
16527
 
16391
- # DefinitionListLabel = StrChunk:label @Sp @Newline { label }
16528
+ # DefinitionListLabel = Inline:label @Sp @Newline { label }
16392
16529
  def _DefinitionListLabel
16393
16530
 
16394
16531
  _save = self.pos
16395
16532
  while true # sequence
16396
- _tmp = apply(:_StrChunk)
16533
+ _tmp = apply(:_Inline)
16397
16534
  label = @result
16398
16535
  unless _tmp
16399
16536
  self.pos = _save
@@ -16482,7 +16619,7 @@ class RDoc::Markdown
16482
16619
  Rules[:_Plain] = rule_info("Plain", "Inlines:a { paragraph a }")
16483
16620
  Rules[:_AtxInline] = rule_info("AtxInline", "!@Newline !(@Sp /\#*/ @Sp @Newline) Inline")
16484
16621
  Rules[:_AtxStart] = rule_info("AtxStart", "< /\\\#{1,6}/ > { text.length }")
16485
- Rules[:_AtxHeading] = rule_info("AtxHeading", "AtxStart:s @Sp AtxInline+:a (@Sp /\#*/ @Sp)? @Newline { RDoc::Markup::Heading.new(s, a.join) }")
16622
+ Rules[:_AtxHeading] = rule_info("AtxHeading", "AtxStart:s @Spacechar+ AtxInline+:a (@Sp /\#*/ @Sp)? @Newline { RDoc::Markup::Heading.new(s, a.join) }")
16486
16623
  Rules[:_SetextHeading] = rule_info("SetextHeading", "(SetextHeading1 | SetextHeading2)")
16487
16624
  Rules[:_SetextBottom1] = rule_info("SetextBottom1", "/={1,}/ @Newline")
16488
16625
  Rules[:_SetextBottom2] = rule_info("SetextBottom2", "/-{1,}/ @Newline")
@@ -16490,7 +16627,7 @@ class RDoc::Markdown
16490
16627
  Rules[:_SetextHeading2] = rule_info("SetextHeading2", "&(@RawLine SetextBottom2) @StartList:a (!@Endline Inline:b { a << b })+ @Sp @Newline SetextBottom2 { RDoc::Markup::Heading.new(2, a.join) }")
16491
16628
  Rules[:_Heading] = rule_info("Heading", "(SetextHeading | AtxHeading)")
16492
16629
  Rules[:_BlockQuote] = rule_info("BlockQuote", "BlockQuoteRaw:a { RDoc::Markup::BlockQuote.new(*a) }")
16493
- Rules[:_BlockQuoteRaw] = rule_info("BlockQuoteRaw", "@StartList:a (\">\" \" \"? Line:l { a << l } (!\">\" !@BlankLine Line:c { a << c })* (@BlankLine:n { a << n })*)+ { inner_parse a.join }")
16630
+ Rules[:_BlockQuoteRaw] = rule_info("BlockQuoteRaw", "@StartList:a (\">\" \" \"? Line:l { a << l } (!\">\" !@BlankLine !(AtxStart @Spacechar) !Bullet !Enumerator !(&{ github? } Ticks3) Line:c { a << c })* (\">\" @BlankLine:n { a << n })*)+ { inner_parse a.join }")
16494
16631
  Rules[:_NonblankIndentedLine] = rule_info("NonblankIndentedLine", "!@BlankLine IndentedLine")
16495
16632
  Rules[:_VerbatimChunk] = rule_info("VerbatimChunk", "@BlankLine*:a NonblankIndentedLine+:b { a.concat b }")
16496
16633
  Rules[:_Verbatim] = rule_info("Verbatim", "VerbatimChunk+:a { RDoc::Markup::Verbatim.new(*a.flatten) }")
@@ -16622,17 +16759,17 @@ class RDoc::Markdown
16622
16759
  Rules[:_InStyleTags] = rule_info("InStyleTags", "StyleOpen (!StyleClose .)* StyleClose")
16623
16760
  Rules[:_StyleBlock] = rule_info("StyleBlock", "< InStyleTags > @BlankLine* { if css? then RDoc::Markup::Raw.new text end }")
16624
16761
  Rules[:_Inlines] = rule_info("Inlines", "(!@Endline Inline:i { i } | @Endline:c !(&{ github? } Ticks3 /[^`\\n]*$/) &Inline { c })+:chunks @Endline? { chunks }")
16625
- Rules[:_Inline] = rule_info("Inline", "(Str | @Endline | UlOrStarLine | @Space | Strong | Emph | Strike | Image | Link | NoteReference | InlineNote | Code | RawHtml | Entity | EscapedChar | Symbol)")
16762
+ Rules[:_Inline] = rule_info("Inline", "(Str | @Endline | UlOrStarLine | @Space | Strong | Emph | Strike | Image | Link | NoteReference | InlineNote | Code | RawHtml | StrippedComment | Entity | EscapedChar | Symbol)")
16626
16763
  Rules[:_Space] = rule_info("Space", "@Spacechar+ { \" \" }")
16627
- Rules[:_Str] = rule_info("Str", "@StartList:a < @NormalChar+ > { a = text } (StrChunk:c { a << c })* { a }")
16764
+ Rules[:_Str] = rule_info("Str", "@StartList:a < @NormalChar+ > { a = text } (StrChunk:c { a << c })* { rdoc_escape(a) }")
16628
16765
  Rules[:_StrChunk] = rule_info("StrChunk", "< (@NormalChar | /_+/ &Alphanumeric)+ > { text }")
16629
- Rules[:_EscapedChar] = rule_info("EscapedChar", "\"\\\\\" !@Newline < /[:\\\\`|*_{}\\[\\]()\#+.!><-]/ > { text }")
16766
+ Rules[:_EscapedChar] = rule_info("EscapedChar", "\"\\\\\" !@Newline < /[:\\\\`|*_{}\\[\\]()\#+.!><-]/ > { rdoc_escape(text) }")
16630
16767
  Rules[:_Entity] = rule_info("Entity", "(HexEntity | DecEntity | CharEntity):a { a }")
16631
16768
  Rules[:_Endline] = rule_info("Endline", "(@LineBreak | @TerminalEndline | @NormalEndline)")
16632
16769
  Rules[:_NormalEndline] = rule_info("NormalEndline", "@Sp @Newline !@BlankLine !\">\" !AtxStart !(Line /={1,}|-{1,}/ @Newline) { \"\\n\" }")
16633
16770
  Rules[:_TerminalEndline] = rule_info("TerminalEndline", "@Sp @Newline @Eof")
16634
16771
  Rules[:_LineBreak] = rule_info("LineBreak", "\" \" @NormalEndline { RDoc::Markup::HardBreak.new }")
16635
- Rules[:_Symbol] = rule_info("Symbol", "< @SpecialChar > { text }")
16772
+ Rules[:_Symbol] = rule_info("Symbol", "< @SpecialChar > { rdoc_escape(text) }")
16636
16773
  Rules[:_UlOrStarLine] = rule_info("UlOrStarLine", "(UlLine | StarLine):a { a }")
16637
16774
  Rules[:_StarLine] = rule_info("StarLine", "(< /\\*{4,}/ > { text } | < @Spacechar /\\*+/ &@Spacechar > { text })")
16638
16775
  Rules[:_UlLine] = rule_info("UlLine", "(< /_{4,}/ > { text } | < @Spacechar /_+/ &@Spacechar > { text })")
@@ -16644,12 +16781,13 @@ class RDoc::Markdown
16644
16781
  Rules[:_StrongStar] = rule_info("StrongStar", "\"**\" !@Whitespace @StartList:a (!\"**\" Inline:b { a << b })+ \"**\" { strong a.join }")
16645
16782
  Rules[:_StrongUl] = rule_info("StrongUl", "\"__\" !@Whitespace @StartList:a (!\"__\" Inline:b { a << b })+ \"__\" { strong a.join }")
16646
16783
  Rules[:_Strike] = rule_info("Strike", "&{ strike? } \"~~\" !@Whitespace @StartList:a (!\"~~\" Inline:b { a << b })+ \"~~\" { strike a.join }")
16647
- Rules[:_Image] = rule_info("Image", "\"!\" (ExplicitLink | ReferenceLink):a { \"rdoc-image:\#{a[/\\[(.*)\\]/, 1]}\" }")
16784
+ Rules[:_Image] = rule_info("Image", "\"!\" ExplicitLinkWithLabel:a { \"rdoc-image:\#{a[:link]}:\#{a[:label]}\" }")
16648
16785
  Rules[:_Link] = rule_info("Link", "(ExplicitLink | ReferenceLink | AutoLink)")
16649
16786
  Rules[:_ReferenceLink] = rule_info("ReferenceLink", "(ReferenceLinkDouble | ReferenceLinkSingle)")
16650
16787
  Rules[:_ReferenceLinkDouble] = rule_info("ReferenceLinkDouble", "Label:content < Spnl > !\"[]\" Label:label { link_to content, label, text }")
16651
16788
  Rules[:_ReferenceLinkSingle] = rule_info("ReferenceLinkSingle", "Label:content < (Spnl \"[]\")? > { link_to content, content, text }")
16652
- Rules[:_ExplicitLink] = rule_info("ExplicitLink", "Label:l \"(\" @Sp Source:s Spnl Title @Sp \")\" { \"{\#{l}}[\#{s}]\" }")
16789
+ Rules[:_ExplicitLink] = rule_info("ExplicitLink", "ExplicitLinkWithLabel:a { \"{\#{a[:label]}}[\#{rdoc_link_url_escape(a[:link])}]\" }")
16790
+ Rules[:_ExplicitLinkWithLabel] = rule_info("ExplicitLinkWithLabel", "Label:label \"(\" @Sp Source:link Spnl Title @Sp \")\" { { label: label, link: link } }")
16653
16791
  Rules[:_Source] = rule_info("Source", "(\"<\" < SourceContents > \">\" | < SourceContents >) { text }")
16654
16792
  Rules[:_SourceContents] = rule_info("SourceContents", "((!\"(\" !\")\" !\">\" Nonspacechar)+ | \"(\" SourceContents \")\")*")
16655
16793
  Rules[:_Title] = rule_info("Title", "(TitleSingle | TitleDouble | \"\"):a { a }")
@@ -16672,8 +16810,9 @@ class RDoc::Markdown
16672
16810
  Rules[:_Ticks3] = rule_info("Ticks3", "\"```\" !\"`\"")
16673
16811
  Rules[:_Ticks4] = rule_info("Ticks4", "\"````\" !\"`\"")
16674
16812
  Rules[:_Ticks5] = rule_info("Ticks5", "\"`````\" !\"`\"")
16675
- Rules[:_Code] = rule_info("Code", "(Ticks1 @Sp < ((!\"`\" Nonspacechar)+ | !Ticks1 /`+/ | !(@Sp Ticks1) (@Spacechar | @Newline !@BlankLine))+ > @Sp Ticks1 | Ticks2 @Sp < ((!\"`\" Nonspacechar)+ | !Ticks2 /`+/ | !(@Sp Ticks2) (@Spacechar | @Newline !@BlankLine))+ > @Sp Ticks2 | Ticks3 @Sp < ((!\"`\" Nonspacechar)+ | !Ticks3 /`+/ | !(@Sp Ticks3) (@Spacechar | @Newline !@BlankLine))+ > @Sp Ticks3 | Ticks4 @Sp < ((!\"`\" Nonspacechar)+ | !Ticks4 /`+/ | !(@Sp Ticks4) (@Spacechar | @Newline !@BlankLine))+ > @Sp Ticks4 | Ticks5 @Sp < ((!\"`\" Nonspacechar)+ | !Ticks5 /`+/ | !(@Sp Ticks5) (@Spacechar | @Newline !@BlankLine))+ > @Sp Ticks5) { \"<code>\#{text}</code>\" }")
16676
- Rules[:_RawHtml] = rule_info("RawHtml", "< (HtmlComment | HtmlBlockScript | HtmlTag) > { if html? then text else '' end }")
16813
+ Rules[:_Code] = rule_info("Code", "(Ticks1 < ((!\"`\" Nonspacechar)+ | !Ticks1 /`+/ | !Ticks1 (@Spacechar | @Newline !@BlankLine))+ > Ticks1 | Ticks2 < ((!\"`\" Nonspacechar)+ | !Ticks2 /`+/ | !Ticks2 (@Spacechar | @Newline !@BlankLine))+ > Ticks2 | Ticks3 < ((!\"`\" Nonspacechar)+ | !Ticks3 /`+/ | !Ticks3 (@Spacechar | @Newline !@BlankLine))+ > Ticks3 | Ticks4 < ((!\"`\" Nonspacechar)+ | !Ticks4 /`+/ | !Ticks4 (@Spacechar | @Newline !@BlankLine))+ > Ticks4 | Ticks5 < ((!\"`\" Nonspacechar)+ | !Ticks5 /`+/ | !Ticks5 (@Spacechar | @Newline !@BlankLine))+ > Ticks5) { code text }")
16814
+ Rules[:_RawHtml] = rule_info("RawHtml", "< (HtmlBlockScript | HtmlTag) > { html? ? text : '' }")
16815
+ Rules[:_StrippedComment] = rule_info("StrippedComment", "HtmlComment { '' }")
16677
16816
  Rules[:_BlankLine] = rule_info("BlankLine", "@Sp @Newline { \"\\n\" }")
16678
16817
  Rules[:_Quoted] = rule_info("Quoted", "(\"\\\"\" (!\"\\\"\" .)* \"\\\"\" | \"'\" (!\"'\" .)* \"'\")")
16679
16818
  Rules[:_HtmlAttribute] = rule_info("HtmlAttribute", "(AlphanumericAscii | \"-\")+ Spnl (\"=\" Spnl (Quoted | (!\">\" Nonspacechar)+))? Spnl")
@@ -16691,33 +16830,36 @@ class RDoc::Markdown
16691
16830
  Rules[:_BOM] = rule_info("BOM", "%literals.BOM")
16692
16831
  Rules[:_Newline] = rule_info("Newline", "%literals.Newline")
16693
16832
  Rules[:_Spacechar] = rule_info("Spacechar", "%literals.Spacechar")
16694
- Rules[:_HexEntity] = rule_info("HexEntity", "/&\#x/i < /[0-9a-fA-F]+/ > \";\" { [text.to_i(16)].pack 'U' }")
16695
- Rules[:_DecEntity] = rule_info("DecEntity", "\"&\#\" < /[0-9]+/ > \";\" { [text.to_i].pack 'U' }")
16696
- Rules[:_CharEntity] = rule_info("CharEntity", "\"&\" < /[A-Za-z0-9]+/ > \";\" { if entity = HTML_ENTITIES[text] then entity.pack 'U*' else \"&\#{text};\" end }")
16833
+ Rules[:_HexEntity] = rule_info("HexEntity", "/&\#x/i < /[0-9a-fA-F]+/ > \";\" { rdoc_escape([text.to_i(16)].pack('U')) }")
16834
+ Rules[:_DecEntity] = rule_info("DecEntity", "\"&\#\" < /[0-9]+/ > \";\" { rdoc_escape([text.to_i].pack('U')) }")
16835
+ Rules[:_CharEntity] = rule_info("CharEntity", "\"&\" < /[A-Za-z0-9]+/ > \";\" { if entity = HTML_ENTITIES[text] then rdoc_escape(entity.pack('U*')) else \"&\#{text};\" end }")
16697
16836
  Rules[:_NonindentSpace] = rule_info("NonindentSpace", "/ {0,3}/")
16698
16837
  Rules[:_Indent] = rule_info("Indent", "/\\t| /")
16699
16838
  Rules[:_IndentedLine] = rule_info("IndentedLine", "Indent Line")
16700
16839
  Rules[:_OptionallyIndentedLine] = rule_info("OptionallyIndentedLine", "Indent? Line")
16701
16840
  Rules[:_StartList] = rule_info("StartList", "&. { [] }")
16702
16841
  Rules[:_Line] = rule_info("Line", "@RawLine:a { a }")
16703
- Rules[:_RawLine] = rule_info("RawLine", "(< (!\"\\r\" !\"\\n\" .)* @Newline > | < .+ > @Eof) { text }")
16842
+ Rules[:_RawLine] = rule_info("RawLine", "(< /[^\\r\\n]*/ @Newline > | < .+ > @Eof) { text }")
16704
16843
  Rules[:_SkipBlock] = rule_info("SkipBlock", "(HtmlBlock | (!\"\#\" !SetextBottom1 !SetextBottom2 !@BlankLine @RawLine)+ @BlankLine* | @BlankLine+ | @RawLine)")
16705
16844
  Rules[:_ExtendedSpecialChar] = rule_info("ExtendedSpecialChar", "&{ notes? } \"^\"")
16706
16845
  Rules[:_NoteReference] = rule_info("NoteReference", "&{ notes? } RawNoteReference:ref { note_for ref }")
16707
16846
  Rules[:_RawNoteReference] = rule_info("RawNoteReference", "\"[^\" < (!@Newline !\"]\" .)+ > \"]\" { text }")
16708
16847
  Rules[:_Note] = rule_info("Note", "&{ notes? } @NonindentSpace RawNoteReference:ref \":\" @Sp @StartList:a RawNoteBlock:i { a.concat i } (&Indent RawNoteBlock:i { a.concat i })* { @footnotes[ref] = paragraph a nil }")
16709
- Rules[:_InlineNote] = rule_info("InlineNote", "&{ notes? } \"^[\" @StartList:a (!\"]\" Inline:l { a << l })+ \"]\" { ref = [:inline, @note_order.length] @footnotes[ref] = paragraph a note_for ref }")
16848
+ Rules[:_InlineNote] = rule_info("InlineNote", "&{ notes? } \"^[\" @StartList:a (!\"]\" Inline:l { a << l })+ \"]\" { if @note_order ref = [:inline, @note_order.length] @footnotes[ref] = paragraph a note_for ref end }")
16710
16849
  Rules[:_Notes] = rule_info("Notes", "(Note | SkipBlock)*")
16711
- Rules[:_RawNoteBlock] = rule_info("RawNoteBlock", "@StartList:a (!@BlankLine OptionallyIndentedLine:l { a << l })+ < @BlankLine* > { a << text } { a }")
16712
- Rules[:_CodeFence] = rule_info("CodeFence", "&{ github? } Ticks3 (@Sp StrChunk:format)? Spnl < ((!\"`\" Nonspacechar)+ | !Ticks3 /`+/ | Spacechar | @Newline)+ > Ticks3 @Sp @Newline* { verbatim = RDoc::Markup::Verbatim.new text verbatim.format = format.intern if format.instance_of?(String) verbatim }")
16713
- Rules[:_Table] = rule_info("Table", "&{ github? } TableRow:header TableLine:line TableRow+:body { table = RDoc::Markup::Table.new(header, line, body) }")
16714
- Rules[:_TableRow] = rule_info("TableRow", "TableItem+:row \"|\" @Newline { row }")
16715
- Rules[:_TableItem] = rule_info("TableItem", "\"|\" < (!\"|\" !@Newline .)+ > { text.strip }")
16716
- Rules[:_TableLine] = rule_info("TableLine", "TableColumn+:line \"|\" @Newline { line }")
16717
- Rules[:_TableColumn] = rule_info("TableColumn", "\"|\" < (\"-\"+ \":\"? | \":\" \"-\"*) > { text.start_with?(\":\") ? :left : text.end_with?(\":\") ? :right : nil }")
16850
+ Rules[:_RawNoteBlock] = rule_info("RawNoteBlock", "@StartList:a (!@BlankLine !RawNoteReference OptionallyIndentedLine:l { a << l })+ < @BlankLine* > { a << text } { a }")
16851
+ Rules[:_CodeFence] = rule_info("CodeFence", "&{ github? } Ticks3 (@Sp StrChunk:format)? @Sp @Newline? < ((!\"`\" Nonspacechar)+ | !Ticks3 /`+/ | Spacechar | @Newline)+ > Ticks3 @Sp @Newline* { verbatim = RDoc::Markup::Verbatim.new text verbatim.format = format.intern if format.instance_of?(String) verbatim }")
16852
+ Rules[:_Table] = rule_info("Table", "&{ github? } TableHead:header TableLine:line TableRow+:body { table = RDoc::Markup::Table.new(header, line, body) parse_table_cells(table) }")
16853
+ Rules[:_TableHead] = rule_info("TableHead", "TableItem2+:items \"|\"? @Newline { items }")
16854
+ Rules[:_TableRow] = rule_info("TableRow", "((TableItem:item1 TableItem2+:items { [item1, *items] }):row | TableItem2+:row) \"|\"? @Newline { row }")
16855
+ Rules[:_TableItem2] = rule_info("TableItem2", "\"|\" TableItem")
16856
+ Rules[:_TableItem] = rule_info("TableItem", "< /(?:\\\\.|[^|\\n])+/ > { text.strip.gsub(/\\\\([|])/, '\\1') }")
16857
+ Rules[:_TableLine] = rule_info("TableLine", "((TableAlign:align1 TableAlign2+:aligns {[align1, *aligns] }):line | TableAlign2+:line) \"|\"? @Newline { line }")
16858
+ Rules[:_TableAlign2] = rule_info("TableAlign2", "\"|\" @Sp TableAlign")
16859
+ Rules[:_TableAlign] = rule_info("TableAlign", "< /:?-+:?/ > @Sp { text.start_with?(\":\") ? (text.end_with?(\":\") ? :center : :left) : (text.end_with?(\":\") ? :right : nil) }")
16718
16860
  Rules[:_DefinitionList] = rule_info("DefinitionList", "&{ definition_lists? } DefinitionListItem+:list { RDoc::Markup::List.new :NOTE, *list.flatten }")
16719
16861
  Rules[:_DefinitionListItem] = rule_info("DefinitionListItem", "DefinitionListLabel+:label DefinitionListDefinition+:defns { list_items = [] list_items << RDoc::Markup::ListItem.new(label, defns.shift) list_items.concat defns.map { |defn| RDoc::Markup::ListItem.new nil, defn } unless list_items.empty? list_items }")
16720
- Rules[:_DefinitionListLabel] = rule_info("DefinitionListLabel", "StrChunk:label @Sp @Newline { label }")
16862
+ Rules[:_DefinitionListLabel] = rule_info("DefinitionListLabel", "Inline:label @Sp @Newline { label }")
16721
16863
  Rules[:_DefinitionListDefinition] = rule_info("DefinitionListDefinition", "@NonindentSpace \":\" @Space Inlines:a @BlankLine+ { paragraph a }")
16722
16864
  # :startdoc:
16723
16865
  end