rdoc 4.2.1 → 6.3.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rdoc might be problematic. Click here for more details.

Files changed (277) hide show
  1. checksums.yaml +5 -5
  2. data/CONTRIBUTING.rdoc +8 -7
  3. data/Gemfile +12 -0
  4. data/History.rdoc +48 -4
  5. data/LEGAL.rdoc +2 -2
  6. data/README.rdoc +5 -5
  7. data/Rakefile +73 -155
  8. data/bin/console +7 -0
  9. data/bin/setup +6 -0
  10. data/{bin → exe}/rdoc +0 -0
  11. data/{bin → exe}/ri +0 -0
  12. data/lib/rdoc/alias.rb +1 -0
  13. data/lib/rdoc/anon_class.rb +1 -0
  14. data/lib/rdoc/any_method.rb +59 -14
  15. data/lib/rdoc/attr.rb +1 -0
  16. data/lib/rdoc/class_module.rb +5 -2
  17. data/lib/rdoc/code_object.rb +3 -11
  18. data/lib/rdoc/code_objects.rb +1 -0
  19. data/lib/rdoc/comment.rb +32 -11
  20. data/lib/rdoc/constant.rb +3 -2
  21. data/lib/rdoc/context/section.rb +7 -13
  22. data/lib/rdoc/context.rb +78 -23
  23. data/lib/rdoc/cross_reference.rb +33 -14
  24. data/lib/rdoc/encoding.rb +92 -55
  25. data/lib/rdoc/erb_partial.rb +2 -1
  26. data/lib/rdoc/erbio.rb +8 -3
  27. data/lib/rdoc/extend.rb +1 -0
  28. data/lib/rdoc/generator/darkfish.rb +62 -32
  29. data/lib/rdoc/generator/json_index.rb +8 -5
  30. data/lib/rdoc/generator/markup.rb +3 -12
  31. data/lib/rdoc/generator/pot/message_extractor.rb +68 -0
  32. data/lib/rdoc/generator/pot/po.rb +84 -0
  33. data/lib/rdoc/generator/pot/po_entry.rb +141 -0
  34. data/lib/rdoc/generator/pot.rb +4 -3
  35. data/lib/rdoc/generator/ri.rb +1 -0
  36. data/lib/rdoc/generator/template/darkfish/_footer.rhtml +2 -2
  37. data/lib/rdoc/generator/template/darkfish/_head.rhtml +11 -8
  38. data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +2 -2
  39. data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +2 -2
  40. data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +7 -7
  41. data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +2 -2
  42. data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +7 -7
  43. data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +6 -6
  44. data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +5 -5
  45. data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +5 -5
  46. data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +5 -5
  47. data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +4 -4
  48. data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +4 -4
  49. data/lib/rdoc/generator/template/darkfish/class.rhtml +45 -47
  50. data/lib/rdoc/generator/template/darkfish/css/fonts.css +6 -6
  51. data/lib/rdoc/generator/template/darkfish/css/rdoc.css +55 -6
  52. data/lib/rdoc/generator/template/darkfish/index.rhtml +3 -4
  53. data/lib/rdoc/generator/template/darkfish/js/darkfish.js +23 -100
  54. data/lib/rdoc/generator/template/darkfish/js/search.js +32 -31
  55. data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +15 -16
  56. data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +16 -16
  57. data/lib/rdoc/generator/template/json_index/js/navigation.js +4 -41
  58. data/lib/rdoc/generator/template/json_index/js/searcher.js +7 -6
  59. data/lib/rdoc/generator.rb +1 -1
  60. data/lib/rdoc/ghost_method.rb +1 -0
  61. data/lib/rdoc/i18n/locale.rb +2 -1
  62. data/lib/rdoc/i18n/text.rb +5 -4
  63. data/lib/rdoc/i18n.rb +3 -2
  64. data/lib/rdoc/include.rb +1 -0
  65. data/lib/rdoc/known_classes.rb +1 -0
  66. data/lib/rdoc/markdown/entities.rb +1 -0
  67. data/lib/rdoc/markdown/{literals_1_9.kpeg → literals.kpeg} +1 -0
  68. data/lib/rdoc/markdown/{literals_1_9.rb → literals.rb} +1 -4
  69. data/lib/rdoc/markdown.kpeg +94 -51
  70. data/lib/rdoc/markdown.rb +1171 -619
  71. data/lib/rdoc/markup/attr_changer.rb +1 -0
  72. data/lib/rdoc/markup/attr_span.rb +9 -2
  73. data/lib/rdoc/markup/attribute_manager.rb +115 -49
  74. data/lib/rdoc/markup/attributes.rb +7 -6
  75. data/lib/rdoc/markup/blank_line.rb +1 -0
  76. data/lib/rdoc/markup/block_quote.rb +1 -0
  77. data/lib/rdoc/markup/document.rb +1 -0
  78. data/lib/rdoc/markup/formatter.rb +25 -23
  79. data/lib/rdoc/markup/hard_break.rb +1 -0
  80. data/lib/rdoc/markup/heading.rb +4 -3
  81. data/lib/rdoc/markup/include.rb +1 -0
  82. data/lib/rdoc/markup/indented_paragraph.rb +1 -0
  83. data/lib/rdoc/markup/list.rb +1 -0
  84. data/lib/rdoc/markup/list_item.rb +1 -0
  85. data/lib/rdoc/markup/paragraph.rb +1 -0
  86. data/lib/rdoc/markup/parser.rb +78 -61
  87. data/lib/rdoc/markup/pre_process.rb +12 -9
  88. data/lib/rdoc/markup/raw.rb +1 -0
  89. data/lib/rdoc/markup/regexp_handling.rb +41 -0
  90. data/lib/rdoc/markup/rule.rb +1 -0
  91. data/lib/rdoc/markup/to_ansi.rb +1 -0
  92. data/lib/rdoc/markup/to_bs.rb +4 -5
  93. data/lib/rdoc/markup/to_html.rb +71 -25
  94. data/lib/rdoc/markup/to_html_crossref.rb +41 -25
  95. data/lib/rdoc/markup/to_html_snippet.rb +10 -9
  96. data/lib/rdoc/markup/to_joined_paragraph.rb +7 -31
  97. data/lib/rdoc/markup/to_label.rb +10 -9
  98. data/lib/rdoc/markup/to_markdown.rb +9 -8
  99. data/lib/rdoc/markup/to_rdoc.rb +35 -6
  100. data/lib/rdoc/markup/to_table_of_contents.rb +2 -0
  101. data/lib/rdoc/markup/to_test.rb +1 -0
  102. data/lib/rdoc/markup/to_tt_only.rb +3 -2
  103. data/lib/rdoc/markup/verbatim.rb +1 -0
  104. data/lib/rdoc/markup.rb +14 -16
  105. data/lib/rdoc/meta_method.rb +1 -0
  106. data/lib/rdoc/method_attr.rb +2 -1
  107. data/lib/rdoc/mixin.rb +1 -0
  108. data/lib/rdoc/normal_class.rb +3 -2
  109. data/lib/rdoc/normal_module.rb +1 -0
  110. data/lib/rdoc/options.rb +92 -58
  111. data/lib/rdoc/parser/c.rb +219 -223
  112. data/lib/rdoc/parser/changelog.rb +155 -18
  113. data/lib/rdoc/parser/markdown.rb +1 -0
  114. data/lib/rdoc/parser/rd.rb +1 -0
  115. data/lib/rdoc/parser/ripper_state_lex.rb +590 -0
  116. data/lib/rdoc/parser/ruby.rb +635 -468
  117. data/lib/rdoc/parser/ruby_tools.rb +33 -33
  118. data/lib/rdoc/parser/simple.rb +3 -3
  119. data/lib/rdoc/parser/text.rb +1 -0
  120. data/lib/rdoc/parser.rb +17 -50
  121. data/lib/rdoc/rd/block_parser.rb +66 -65
  122. data/lib/rdoc/rd/block_parser.ry +3 -3
  123. data/lib/rdoc/rd/inline.rb +5 -4
  124. data/lib/rdoc/rd/inline_parser.rb +52 -51
  125. data/lib/rdoc/rd/inline_parser.ry +1 -1
  126. data/lib/rdoc/rd.rb +1 -0
  127. data/lib/rdoc/rdoc.rb +68 -63
  128. data/lib/rdoc/require.rb +1 -0
  129. data/lib/rdoc/ri/driver.rb +133 -58
  130. data/lib/rdoc/ri/formatter.rb +1 -0
  131. data/lib/rdoc/ri/paths.rb +4 -20
  132. data/lib/rdoc/ri/store.rb +1 -0
  133. data/lib/rdoc/ri/task.rb +71 -0
  134. data/lib/rdoc/ri.rb +1 -0
  135. data/lib/rdoc/rubygems_hook.rb +5 -12
  136. data/lib/rdoc/servlet.rb +24 -14
  137. data/lib/rdoc/single_class.rb +1 -0
  138. data/lib/rdoc/stats/normal.rb +20 -21
  139. data/lib/rdoc/stats/quiet.rb +1 -0
  140. data/lib/rdoc/stats/verbose.rb +1 -0
  141. data/lib/rdoc/stats.rb +1 -0
  142. data/lib/rdoc/store.rb +41 -41
  143. data/lib/rdoc/task.rb +2 -3
  144. data/lib/rdoc/text.rb +19 -38
  145. data/lib/rdoc/token_stream.rb +56 -32
  146. data/lib/rdoc/tom_doc.rb +17 -11
  147. data/lib/rdoc/top_level.rb +9 -2
  148. data/lib/rdoc/version.rb +8 -0
  149. data/lib/rdoc.rb +24 -10
  150. data/man/ri.1 +247 -0
  151. data/rdoc.gemspec +248 -0
  152. metadata +43 -236
  153. data/.autotest +0 -24
  154. data/.document +0 -5
  155. data/Manifest.txt +0 -306
  156. data/lib/gauntlet_rdoc.rb +0 -84
  157. data/lib/rdoc/generator/template/darkfish/js/jquery.js +0 -4
  158. data/lib/rdoc/markdown/literals_1_8.kpeg +0 -18
  159. data/lib/rdoc/markdown/literals_1_8.rb +0 -416
  160. data/lib/rdoc/markup/formatter_test_case.rb +0 -767
  161. data/lib/rdoc/markup/inline.rb +0 -1
  162. data/lib/rdoc/markup/special.rb +0 -40
  163. data/lib/rdoc/markup/text_formatter_test_case.rb +0 -114
  164. data/lib/rdoc/ruby_lex.rb +0 -1377
  165. data/lib/rdoc/ruby_token.rb +0 -460
  166. data/lib/rdoc/test_case.rb +0 -217
  167. data/test/MarkdownTest_1.0.3/Amps and angle encoding.text +0 -21
  168. data/test/MarkdownTest_1.0.3/Auto links.text +0 -13
  169. data/test/MarkdownTest_1.0.3/Backslash escapes.text +0 -120
  170. data/test/MarkdownTest_1.0.3/Blockquotes with code blocks.text +0 -11
  171. data/test/MarkdownTest_1.0.3/Code Blocks.text +0 -14
  172. data/test/MarkdownTest_1.0.3/Code Spans.text +0 -6
  173. data/test/MarkdownTest_1.0.3/Hard-wrapped paragraphs with list-like lines.text +0 -8
  174. data/test/MarkdownTest_1.0.3/Horizontal rules.text +0 -67
  175. data/test/MarkdownTest_1.0.3/Inline HTML (Advanced).text +0 -15
  176. data/test/MarkdownTest_1.0.3/Inline HTML (Simple).text +0 -69
  177. data/test/MarkdownTest_1.0.3/Inline HTML comments.text +0 -13
  178. data/test/MarkdownTest_1.0.3/Links, inline style.text +0 -12
  179. data/test/MarkdownTest_1.0.3/Links, reference style.text +0 -71
  180. data/test/MarkdownTest_1.0.3/Links, shortcut references.text +0 -20
  181. data/test/MarkdownTest_1.0.3/Literal quotes in titles.text +0 -7
  182. data/test/MarkdownTest_1.0.3/Markdown Documentation - Basics.text +0 -306
  183. data/test/MarkdownTest_1.0.3/Markdown Documentation - Syntax.text +0 -888
  184. data/test/MarkdownTest_1.0.3/Nested blockquotes.text +0 -5
  185. data/test/MarkdownTest_1.0.3/Ordered and unordered lists.text +0 -131
  186. data/test/MarkdownTest_1.0.3/Strong and em together.text +0 -7
  187. data/test/MarkdownTest_1.0.3/Tabs.text +0 -21
  188. data/test/MarkdownTest_1.0.3/Tidyness.text +0 -5
  189. data/test/README +0 -1
  190. data/test/binary.dat +0 -0
  191. data/test/hidden.zip.txt +0 -1
  192. data/test/test.ja.largedoc +0 -3
  193. data/test/test.ja.rdoc +0 -10
  194. data/test/test.ja.txt +0 -8
  195. data/test/test.txt +0 -1
  196. data/test/test_rdoc_alias.rb +0 -13
  197. data/test/test_rdoc_any_method.rb +0 -460
  198. data/test/test_rdoc_attr.rb +0 -190
  199. data/test/test_rdoc_class_module.rb +0 -1492
  200. data/test/test_rdoc_code_object.rb +0 -450
  201. data/test/test_rdoc_comment.rb +0 -504
  202. data/test/test_rdoc_constant.rb +0 -181
  203. data/test/test_rdoc_context.rb +0 -901
  204. data/test/test_rdoc_context_section.rb +0 -130
  205. data/test/test_rdoc_cross_reference.rb +0 -192
  206. data/test/test_rdoc_encoding.rb +0 -227
  207. data/test/test_rdoc_extend.rb +0 -94
  208. data/test/test_rdoc_generator_darkfish.rb +0 -229
  209. data/test/test_rdoc_generator_json_index.rb +0 -324
  210. data/test/test_rdoc_generator_markup.rb +0 -59
  211. data/test/test_rdoc_generator_pot.rb +0 -91
  212. data/test/test_rdoc_generator_pot_po.rb +0 -51
  213. data/test/test_rdoc_generator_pot_po_entry.rb +0 -139
  214. data/test/test_rdoc_generator_ri.rb +0 -78
  215. data/test/test_rdoc_i18n_locale.rb +0 -73
  216. data/test/test_rdoc_i18n_text.rb +0 -123
  217. data/test/test_rdoc_include.rb +0 -108
  218. data/test/test_rdoc_markdown.rb +0 -980
  219. data/test/test_rdoc_markdown_test.rb +0 -1884
  220. data/test/test_rdoc_markup.rb +0 -95
  221. data/test/test_rdoc_markup_attribute_manager.rb +0 -364
  222. data/test/test_rdoc_markup_attributes.rb +0 -39
  223. data/test/test_rdoc_markup_document.rb +0 -207
  224. data/test/test_rdoc_markup_formatter.rb +0 -175
  225. data/test/test_rdoc_markup_hard_break.rb +0 -31
  226. data/test/test_rdoc_markup_heading.rb +0 -29
  227. data/test/test_rdoc_markup_include.rb +0 -19
  228. data/test/test_rdoc_markup_indented_paragraph.rb +0 -53
  229. data/test/test_rdoc_markup_paragraph.rb +0 -32
  230. data/test/test_rdoc_markup_parser.rb +0 -1680
  231. data/test/test_rdoc_markup_pre_process.rb +0 -473
  232. data/test/test_rdoc_markup_raw.rb +0 -22
  233. data/test/test_rdoc_markup_to_ansi.rb +0 -369
  234. data/test/test_rdoc_markup_to_bs.rb +0 -366
  235. data/test/test_rdoc_markup_to_html.rb +0 -662
  236. data/test/test_rdoc_markup_to_html_crossref.rb +0 -225
  237. data/test/test_rdoc_markup_to_html_snippet.rb +0 -711
  238. data/test/test_rdoc_markup_to_joined_paragraph.rb +0 -32
  239. data/test/test_rdoc_markup_to_label.rb +0 -112
  240. data/test/test_rdoc_markup_to_markdown.rb +0 -389
  241. data/test/test_rdoc_markup_to_rdoc.rb +0 -377
  242. data/test/test_rdoc_markup_to_table_of_contents.rb +0 -126
  243. data/test/test_rdoc_markup_to_tt_only.rb +0 -246
  244. data/test/test_rdoc_markup_verbatim.rb +0 -29
  245. data/test/test_rdoc_method_attr.rb +0 -193
  246. data/test/test_rdoc_normal_class.rb +0 -47
  247. data/test/test_rdoc_normal_module.rb +0 -42
  248. data/test/test_rdoc_options.rb +0 -766
  249. data/test/test_rdoc_parser.rb +0 -327
  250. data/test/test_rdoc_parser_c.rb +0 -1896
  251. data/test/test_rdoc_parser_changelog.rb +0 -315
  252. data/test/test_rdoc_parser_markdown.rb +0 -61
  253. data/test/test_rdoc_parser_rd.rb +0 -55
  254. data/test/test_rdoc_parser_ruby.rb +0 -3322
  255. data/test/test_rdoc_parser_simple.rb +0 -115
  256. data/test/test_rdoc_rd.rb +0 -30
  257. data/test/test_rdoc_rd_block_parser.rb +0 -535
  258. data/test/test_rdoc_rd_inline.rb +0 -63
  259. data/test/test_rdoc_rd_inline_parser.rb +0 -177
  260. data/test/test_rdoc_rdoc.rb +0 -455
  261. data/test/test_rdoc_require.rb +0 -25
  262. data/test/test_rdoc_ri_driver.rb +0 -1436
  263. data/test/test_rdoc_ri_paths.rb +0 -155
  264. data/test/test_rdoc_ruby_lex.rb +0 -421
  265. data/test/test_rdoc_ruby_token.rb +0 -19
  266. data/test/test_rdoc_rubygems_hook.rb +0 -251
  267. data/test/test_rdoc_servlet.rb +0 -534
  268. data/test/test_rdoc_single_class.rb +0 -20
  269. data/test/test_rdoc_stats.rb +0 -722
  270. data/test/test_rdoc_store.rb +0 -993
  271. data/test/test_rdoc_task.rb +0 -173
  272. data/test/test_rdoc_text.rb +0 -557
  273. data/test/test_rdoc_token_stream.rb +0 -42
  274. data/test/test_rdoc_tom_doc.rb +0 -520
  275. data/test/test_rdoc_top_level.rb +0 -287
  276. data/test/xref_data.rb +0 -76
  277. data/test/xref_test_case.rb +0 -67
data/lib/rdoc/markdown.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  # coding: UTF-8
2
+ # frozen_string_literal: true
2
3
  # :markup: markdown
3
4
 
4
5
  ##
@@ -14,7 +15,7 @@
14
15
  #
15
16
  # data = File.read("README.md")
16
17
  # formatter = RDoc::Markup::ToHtml.new(RDoc::Options.new, nil)
17
- # html = RDoc::Markdown.parse(data).accept(@formatter)
18
+ # html = RDoc::Markdown.parse(data).accept(formatter)
18
19
  #
19
20
  # # do something with html
20
21
  #
@@ -81,6 +82,18 @@
81
82
  # : A little insect that is known
82
83
  # to enjoy picnics
83
84
  #
85
+ # ### Strike
86
+ #
87
+ # Example:
88
+ #
89
+ # ```
90
+ # This is ~~striked~~.
91
+ # ```
92
+ #
93
+ # Produces:
94
+ #
95
+ # This is ~~striked~~.
96
+ #
84
97
  # ### Github
85
98
  #
86
99
  # The #github extension enables a partial set of [Github Flavored Markdown]
@@ -160,7 +173,7 @@
160
173
  # The port to kpeg was performed by Eric Hodel and Evan Phoenix
161
174
  #
162
175
  # [dingus]: http://daringfireball.net/projects/markdown/dingus
163
- # [GFM]: http://github.github.com/github-flavored-markdown/
176
+ # [GFM]: https://github.github.com/gfm/
164
177
  # [pegmarkdown]: https://github.com/jgm/peg-markdown
165
178
  # [PHPE]: http://michelf.com/projects/php-markdown/extra/#def-list
166
179
  # [syntax]: http://daringfireball.net/projects/markdown/syntax
@@ -446,8 +459,6 @@ class RDoc::Markdown
446
459
  else
447
460
  return ans
448
461
  end
449
-
450
- return ans
451
462
  end
452
463
  end
453
464
 
@@ -480,8 +491,6 @@ class RDoc::Markdown
480
491
  else
481
492
  return ans
482
493
  end
483
-
484
- return ans
485
494
  end
486
495
  end
487
496
 
@@ -525,16 +534,11 @@ class RDoc::Markdown
525
534
 
526
535
 
527
536
 
528
- require 'rubygems'
529
537
  require 'rdoc'
530
538
  require 'rdoc/markup/to_joined_paragraph'
531
539
  require 'rdoc/markdown/entities'
532
540
 
533
- if RUBY_VERSION > '1.9' then
534
- require 'rdoc/markdown/literals_1_9'
535
- else
536
- require 'rdoc/markdown/literals_1_8'
537
- end
541
+ require 'rdoc/markdown/literals'
538
542
 
539
543
  ##
540
544
  # Supported extensions
@@ -549,6 +553,7 @@ class RDoc::Markdown
549
553
  :github,
550
554
  :html,
551
555
  :notes,
556
+ :strike,
552
557
  ]
553
558
 
554
559
  # :section: Extensions
@@ -599,6 +604,11 @@ class RDoc::Markdown
599
604
 
600
605
  extension :notes
601
606
 
607
+ ##
608
+ # Enables the strike extension
609
+
610
+ extension :strike
611
+
602
612
  # :section:
603
613
 
604
614
  ##
@@ -687,7 +697,7 @@ class RDoc::Markdown
687
697
  # with the linking `text` (usually whitespace).
688
698
 
689
699
  def link_to content, label = content, text = nil
690
- raise 'enable notes extension' if
700
+ raise ParseError, 'enable notes extension' if
691
701
  content.start_with? '^' and label.equal? content
692
702
 
693
703
  if ref = @references[label] then
@@ -823,6 +833,17 @@ class RDoc::Markdown
823
833
  end
824
834
  end
825
835
 
836
+ ##
837
+ # Wraps `text` in strike markup for rdoc inline formatting
838
+
839
+ def strike text
840
+ if text =~ /\A[a-z\d.\/-]+\z/i then
841
+ "~#{text}~"
842
+ else
843
+ "<s>#{text}</s>"
844
+ end
845
+ end
846
+
826
847
 
827
848
  # :stopdoc:
828
849
  def setup_foreign_grammar
@@ -876,7 +897,7 @@ class RDoc::Markdown
876
897
  return _tmp
877
898
  end
878
899
 
879
- # Block = @BlankLine* (BlockQuote | Verbatim | CodeFence | Note | Reference | HorizontalRule | Heading | OrderedList | BulletList | DefinitionList | HtmlBlock | StyleBlock | Para | Plain)
900
+ # Block = @BlankLine* (BlockQuote | Verbatim | CodeFence | Table | Note | Reference | HorizontalRule | Heading | OrderedList | BulletList | DefinitionList | HtmlBlock | StyleBlock | Para | Plain)
880
901
  def _Block
881
902
 
882
903
  _save = self.pos
@@ -902,6 +923,9 @@ class RDoc::Markdown
902
923
  _tmp = apply(:_CodeFence)
903
924
  break if _tmp
904
925
  self.pos = _save2
926
+ _tmp = apply(:_Table)
927
+ break if _tmp
928
+ self.pos = _save2
905
929
  _tmp = apply(:_Note)
906
930
  break if _tmp
907
931
  self.pos = _save2
@@ -1014,7 +1038,7 @@ class RDoc::Markdown
1014
1038
  return _tmp
1015
1039
  end
1016
1040
 
1017
- # AtxInline = !@Newline !(@Sp? /#*/ @Sp @Newline) Inline
1041
+ # AtxInline = !@Newline !(@Sp /#*/ @Sp @Newline) Inline
1018
1042
  def _AtxInline
1019
1043
 
1020
1044
  _save = self.pos
@@ -1031,12 +1055,7 @@ class RDoc::Markdown
1031
1055
 
1032
1056
  _save3 = self.pos
1033
1057
  while true # sequence
1034
- _save4 = self.pos
1035
1058
  _tmp = _Sp()
1036
- unless _tmp
1037
- _tmp = true
1038
- self.pos = _save4
1039
- end
1040
1059
  unless _tmp
1041
1060
  self.pos = _save3
1042
1061
  break
@@ -1101,7 +1120,7 @@ class RDoc::Markdown
1101
1120
  return _tmp
1102
1121
  end
1103
1122
 
1104
- # AtxHeading = AtxStart:s @Sp? AtxInline+:a (@Sp? /#*/ @Sp)? @Newline { RDoc::Markup::Heading.new(s, a.join) }
1123
+ # AtxHeading = AtxStart:s @Sp AtxInline+:a (@Sp /#*/ @Sp)? @Newline { RDoc::Markup::Heading.new(s, a.join) }
1105
1124
  def _AtxHeading
1106
1125
 
1107
1126
  _save = self.pos
@@ -1112,17 +1131,12 @@ class RDoc::Markdown
1112
1131
  self.pos = _save
1113
1132
  break
1114
1133
  end
1115
- _save1 = self.pos
1116
1134
  _tmp = _Sp()
1117
- unless _tmp
1118
- _tmp = true
1119
- self.pos = _save1
1120
- end
1121
1135
  unless _tmp
1122
1136
  self.pos = _save
1123
1137
  break
1124
1138
  end
1125
- _save2 = self.pos
1139
+ _save1 = self.pos
1126
1140
  _ary = []
1127
1141
  _tmp = apply(:_AtxInline)
1128
1142
  if _tmp
@@ -1135,42 +1149,37 @@ class RDoc::Markdown
1135
1149
  _tmp = true
1136
1150
  @result = _ary
1137
1151
  else
1138
- self.pos = _save2
1152
+ self.pos = _save1
1139
1153
  end
1140
1154
  a = @result
1141
1155
  unless _tmp
1142
1156
  self.pos = _save
1143
1157
  break
1144
1158
  end
1145
- _save3 = self.pos
1159
+ _save2 = self.pos
1146
1160
 
1147
- _save4 = self.pos
1161
+ _save3 = self.pos
1148
1162
  while true # sequence
1149
- _save5 = self.pos
1150
1163
  _tmp = _Sp()
1151
1164
  unless _tmp
1152
- _tmp = true
1153
- self.pos = _save5
1154
- end
1155
- unless _tmp
1156
- self.pos = _save4
1165
+ self.pos = _save3
1157
1166
  break
1158
1167
  end
1159
1168
  _tmp = scan(/\A(?-mix:#*)/)
1160
1169
  unless _tmp
1161
- self.pos = _save4
1170
+ self.pos = _save3
1162
1171
  break
1163
1172
  end
1164
1173
  _tmp = _Sp()
1165
1174
  unless _tmp
1166
- self.pos = _save4
1175
+ self.pos = _save3
1167
1176
  end
1168
1177
  break
1169
1178
  end # end sequence
1170
1179
 
1171
1180
  unless _tmp
1172
1181
  _tmp = true
1173
- self.pos = _save3
1182
+ self.pos = _save2
1174
1183
  end
1175
1184
  unless _tmp
1176
1185
  self.pos = _save
@@ -1211,12 +1220,12 @@ class RDoc::Markdown
1211
1220
  return _tmp
1212
1221
  end
1213
1222
 
1214
- # SetextBottom1 = /={3,}/ @Newline
1223
+ # SetextBottom1 = /={1,}/ @Newline
1215
1224
  def _SetextBottom1
1216
1225
 
1217
1226
  _save = self.pos
1218
1227
  while true # sequence
1219
- _tmp = scan(/\A(?-mix:={3,})/)
1228
+ _tmp = scan(/\A(?-mix:={1,})/)
1220
1229
  unless _tmp
1221
1230
  self.pos = _save
1222
1231
  break
@@ -1232,12 +1241,12 @@ class RDoc::Markdown
1232
1241
  return _tmp
1233
1242
  end
1234
1243
 
1235
- # SetextBottom2 = /-{3,}/ @Newline
1244
+ # SetextBottom2 = /-{1,}/ @Newline
1236
1245
  def _SetextBottom2
1237
1246
 
1238
1247
  _save = self.pos
1239
1248
  while true # sequence
1240
- _tmp = scan(/\A(?-mix:-{3,})/)
1249
+ _tmp = scan(/\A(?-mix:-{1,})/)
1241
1250
  unless _tmp
1242
1251
  self.pos = _save
1243
1252
  break
@@ -1253,7 +1262,7 @@ class RDoc::Markdown
1253
1262
  return _tmp
1254
1263
  end
1255
1264
 
1256
- # SetextHeading1 = &(@RawLine SetextBottom1) @StartList:a (!@Endline Inline:b { a << b })+ @Sp? @Newline SetextBottom1 { RDoc::Markup::Heading.new(1, a.join) }
1265
+ # SetextHeading1 = &(@RawLine SetextBottom1) @StartList:a (!@Endline Inline:b { a << b })+ @Sp @Newline SetextBottom1 { RDoc::Markup::Heading.new(1, a.join) }
1257
1266
  def _SetextHeading1
1258
1267
 
1259
1268
  _save = self.pos
@@ -1348,12 +1357,7 @@ class RDoc::Markdown
1348
1357
  self.pos = _save
1349
1358
  break
1350
1359
  end
1351
- _save8 = self.pos
1352
1360
  _tmp = _Sp()
1353
- unless _tmp
1354
- _tmp = true
1355
- self.pos = _save8
1356
- end
1357
1361
  unless _tmp
1358
1362
  self.pos = _save
1359
1363
  break
@@ -1380,7 +1384,7 @@ class RDoc::Markdown
1380
1384
  return _tmp
1381
1385
  end
1382
1386
 
1383
- # SetextHeading2 = &(@RawLine SetextBottom2) @StartList:a (!@Endline Inline:b { a << b })+ @Sp? @Newline SetextBottom2 { RDoc::Markup::Heading.new(2, a.join) }
1387
+ # SetextHeading2 = &(@RawLine SetextBottom2) @StartList:a (!@Endline Inline:b { a << b })+ @Sp @Newline SetextBottom2 { RDoc::Markup::Heading.new(2, a.join) }
1384
1388
  def _SetextHeading2
1385
1389
 
1386
1390
  _save = self.pos
@@ -1475,12 +1479,7 @@ class RDoc::Markdown
1475
1479
  self.pos = _save
1476
1480
  break
1477
1481
  end
1478
- _save8 = self.pos
1479
1482
  _tmp = _Sp()
1480
- unless _tmp
1481
- _tmp = true
1482
- self.pos = _save8
1483
- end
1484
1483
  unless _tmp
1485
1484
  self.pos = _save
1486
1485
  break
@@ -8455,7 +8454,162 @@ class RDoc::Markdown
8455
8454
  return _tmp
8456
8455
  end
8457
8456
 
8458
- # HtmlBlockInTags = (HtmlAnchor | HtmlBlockAddress | HtmlBlockBlockquote | HtmlBlockCenter | HtmlBlockDir | HtmlBlockDiv | HtmlBlockDl | HtmlBlockFieldset | HtmlBlockForm | HtmlBlockH1 | HtmlBlockH2 | HtmlBlockH3 | HtmlBlockH4 | HtmlBlockH5 | HtmlBlockH6 | HtmlBlockMenu | HtmlBlockNoframes | HtmlBlockNoscript | HtmlBlockOl | HtmlBlockP | HtmlBlockPre | HtmlBlockTable | HtmlBlockUl | HtmlBlockDd | HtmlBlockDt | HtmlBlockFrameset | HtmlBlockLi | HtmlBlockTbody | HtmlBlockTd | HtmlBlockTfoot | HtmlBlockTh | HtmlBlockThead | HtmlBlockTr | HtmlBlockScript)
8457
+ # HtmlBlockOpenHead = "<" Spnl ("head" | "HEAD") Spnl HtmlAttribute* ">"
8458
+ def _HtmlBlockOpenHead
8459
+
8460
+ _save = self.pos
8461
+ while true # sequence
8462
+ _tmp = match_string("<")
8463
+ unless _tmp
8464
+ self.pos = _save
8465
+ break
8466
+ end
8467
+ _tmp = apply(:_Spnl)
8468
+ unless _tmp
8469
+ self.pos = _save
8470
+ break
8471
+ end
8472
+
8473
+ _save1 = self.pos
8474
+ while true # choice
8475
+ _tmp = match_string("head")
8476
+ break if _tmp
8477
+ self.pos = _save1
8478
+ _tmp = match_string("HEAD")
8479
+ break if _tmp
8480
+ self.pos = _save1
8481
+ break
8482
+ end # end choice
8483
+
8484
+ unless _tmp
8485
+ self.pos = _save
8486
+ break
8487
+ end
8488
+ _tmp = apply(:_Spnl)
8489
+ unless _tmp
8490
+ self.pos = _save
8491
+ break
8492
+ end
8493
+ while true
8494
+ _tmp = apply(:_HtmlAttribute)
8495
+ break unless _tmp
8496
+ end
8497
+ _tmp = true
8498
+ unless _tmp
8499
+ self.pos = _save
8500
+ break
8501
+ end
8502
+ _tmp = match_string(">")
8503
+ unless _tmp
8504
+ self.pos = _save
8505
+ end
8506
+ break
8507
+ end # end sequence
8508
+
8509
+ set_failed_rule :_HtmlBlockOpenHead unless _tmp
8510
+ return _tmp
8511
+ end
8512
+
8513
+ # HtmlBlockCloseHead = "<" Spnl "/" ("head" | "HEAD") Spnl ">"
8514
+ def _HtmlBlockCloseHead
8515
+
8516
+ _save = self.pos
8517
+ while true # sequence
8518
+ _tmp = match_string("<")
8519
+ unless _tmp
8520
+ self.pos = _save
8521
+ break
8522
+ end
8523
+ _tmp = apply(:_Spnl)
8524
+ unless _tmp
8525
+ self.pos = _save
8526
+ break
8527
+ end
8528
+ _tmp = match_string("/")
8529
+ unless _tmp
8530
+ self.pos = _save
8531
+ break
8532
+ end
8533
+
8534
+ _save1 = self.pos
8535
+ while true # choice
8536
+ _tmp = match_string("head")
8537
+ break if _tmp
8538
+ self.pos = _save1
8539
+ _tmp = match_string("HEAD")
8540
+ break if _tmp
8541
+ self.pos = _save1
8542
+ break
8543
+ end # end choice
8544
+
8545
+ unless _tmp
8546
+ self.pos = _save
8547
+ break
8548
+ end
8549
+ _tmp = apply(:_Spnl)
8550
+ unless _tmp
8551
+ self.pos = _save
8552
+ break
8553
+ end
8554
+ _tmp = match_string(">")
8555
+ unless _tmp
8556
+ self.pos = _save
8557
+ end
8558
+ break
8559
+ end # end sequence
8560
+
8561
+ set_failed_rule :_HtmlBlockCloseHead unless _tmp
8562
+ return _tmp
8563
+ end
8564
+
8565
+ # HtmlBlockHead = HtmlBlockOpenHead (!HtmlBlockCloseHead .)* HtmlBlockCloseHead
8566
+ def _HtmlBlockHead
8567
+
8568
+ _save = self.pos
8569
+ while true # sequence
8570
+ _tmp = apply(:_HtmlBlockOpenHead)
8571
+ unless _tmp
8572
+ self.pos = _save
8573
+ break
8574
+ end
8575
+ while true
8576
+
8577
+ _save2 = self.pos
8578
+ while true # sequence
8579
+ _save3 = self.pos
8580
+ _tmp = apply(:_HtmlBlockCloseHead)
8581
+ _tmp = _tmp ? nil : true
8582
+ self.pos = _save3
8583
+ unless _tmp
8584
+ self.pos = _save2
8585
+ break
8586
+ end
8587
+ _tmp = get_byte
8588
+ unless _tmp
8589
+ self.pos = _save2
8590
+ end
8591
+ break
8592
+ end # end sequence
8593
+
8594
+ break unless _tmp
8595
+ end
8596
+ _tmp = true
8597
+ unless _tmp
8598
+ self.pos = _save
8599
+ break
8600
+ end
8601
+ _tmp = apply(:_HtmlBlockCloseHead)
8602
+ unless _tmp
8603
+ self.pos = _save
8604
+ end
8605
+ break
8606
+ end # end sequence
8607
+
8608
+ set_failed_rule :_HtmlBlockHead unless _tmp
8609
+ return _tmp
8610
+ end
8611
+
8612
+ # HtmlBlockInTags = (HtmlAnchor | HtmlBlockAddress | HtmlBlockBlockquote | HtmlBlockCenter | HtmlBlockDir | HtmlBlockDiv | HtmlBlockDl | HtmlBlockFieldset | HtmlBlockForm | HtmlBlockH1 | HtmlBlockH2 | HtmlBlockH3 | HtmlBlockH4 | HtmlBlockH5 | HtmlBlockH6 | HtmlBlockMenu | HtmlBlockNoframes | HtmlBlockNoscript | HtmlBlockOl | HtmlBlockP | HtmlBlockPre | HtmlBlockTable | HtmlBlockUl | HtmlBlockDd | HtmlBlockDt | HtmlBlockFrameset | HtmlBlockLi | HtmlBlockTbody | HtmlBlockTd | HtmlBlockTfoot | HtmlBlockTh | HtmlBlockThead | HtmlBlockTr | HtmlBlockScript | HtmlBlockHead)
8459
8613
  def _HtmlBlockInTags
8460
8614
 
8461
8615
  _save = self.pos
@@ -8562,6 +8716,9 @@ class RDoc::Markdown
8562
8716
  _tmp = apply(:_HtmlBlockScript)
8563
8717
  break if _tmp
8564
8718
  self.pos = _save
8719
+ _tmp = apply(:_HtmlBlockHead)
8720
+ break if _tmp
8721
+ self.pos = _save
8565
8722
  break
8566
8723
  end # end choice
8567
8724
 
@@ -9166,7 +9323,7 @@ class RDoc::Markdown
9166
9323
  return _tmp
9167
9324
  end
9168
9325
 
9169
- # Inlines = (!@Endline Inline:i { i } | @Endline:c &Inline { c })+:chunks @Endline? { chunks }
9326
+ # Inlines = (!@Endline Inline:i { i } | @Endline:c !(&{ github? } Ticks3 /[^`\n]*$/) &Inline { c })+:chunks @Endline? { chunks }
9170
9327
  def _Inlines
9171
9328
 
9172
9329
  _save = self.pos
@@ -9213,12 +9370,41 @@ class RDoc::Markdown
9213
9370
  break
9214
9371
  end
9215
9372
  _save6 = self.pos
9216
- _tmp = apply(:_Inline)
9373
+
9374
+ _save7 = self.pos
9375
+ while true # sequence
9376
+ _save8 = self.pos
9377
+ _tmp = begin; github? ; end
9378
+ self.pos = _save8
9379
+ unless _tmp
9380
+ self.pos = _save7
9381
+ break
9382
+ end
9383
+ _tmp = apply(:_Ticks3)
9384
+ unless _tmp
9385
+ self.pos = _save7
9386
+ break
9387
+ end
9388
+ _tmp = scan(/\A(?-mix:[^`\n]*$)/)
9389
+ unless _tmp
9390
+ self.pos = _save7
9391
+ end
9392
+ break
9393
+ end # end sequence
9394
+
9395
+ _tmp = _tmp ? nil : true
9217
9396
  self.pos = _save6
9218
9397
  unless _tmp
9219
9398
  self.pos = _save5
9220
9399
  break
9221
9400
  end
9401
+ _save9 = self.pos
9402
+ _tmp = apply(:_Inline)
9403
+ self.pos = _save9
9404
+ unless _tmp
9405
+ self.pos = _save5
9406
+ break
9407
+ end
9222
9408
  @result = begin; c ; end
9223
9409
  _tmp = true
9224
9410
  unless _tmp
@@ -9236,61 +9422,90 @@ class RDoc::Markdown
9236
9422
  _ary << @result
9237
9423
  while true
9238
9424
 
9239
- _save7 = self.pos
9425
+ _save10 = self.pos
9240
9426
  while true # choice
9241
9427
 
9242
- _save8 = self.pos
9428
+ _save11 = self.pos
9243
9429
  while true # sequence
9244
- _save9 = self.pos
9430
+ _save12 = self.pos
9245
9431
  _tmp = _Endline()
9246
9432
  _tmp = _tmp ? nil : true
9247
- self.pos = _save9
9433
+ self.pos = _save12
9248
9434
  unless _tmp
9249
- self.pos = _save8
9435
+ self.pos = _save11
9250
9436
  break
9251
9437
  end
9252
9438
  _tmp = apply(:_Inline)
9253
9439
  i = @result
9254
9440
  unless _tmp
9255
- self.pos = _save8
9441
+ self.pos = _save11
9256
9442
  break
9257
9443
  end
9258
9444
  @result = begin; i ; end
9259
9445
  _tmp = true
9260
9446
  unless _tmp
9261
- self.pos = _save8
9447
+ self.pos = _save11
9262
9448
  end
9263
9449
  break
9264
9450
  end # end sequence
9265
9451
 
9266
9452
  break if _tmp
9267
- self.pos = _save7
9453
+ self.pos = _save10
9268
9454
 
9269
- _save10 = self.pos
9455
+ _save13 = self.pos
9270
9456
  while true # sequence
9271
9457
  _tmp = _Endline()
9272
9458
  c = @result
9273
9459
  unless _tmp
9274
- self.pos = _save10
9275
- break
9276
- end
9277
- _save11 = self.pos
9278
- _tmp = apply(:_Inline)
9279
- self.pos = _save11
9280
- unless _tmp
9281
- self.pos = _save10
9460
+ self.pos = _save13
9282
9461
  break
9283
9462
  end
9284
- @result = begin; c ; end
9285
- _tmp = true
9286
- unless _tmp
9287
- self.pos = _save10
9463
+ _save14 = self.pos
9464
+
9465
+ _save15 = self.pos
9466
+ while true # sequence
9467
+ _save16 = self.pos
9468
+ _tmp = begin; github? ; end
9469
+ self.pos = _save16
9470
+ unless _tmp
9471
+ self.pos = _save15
9472
+ break
9473
+ end
9474
+ _tmp = apply(:_Ticks3)
9475
+ unless _tmp
9476
+ self.pos = _save15
9477
+ break
9478
+ end
9479
+ _tmp = scan(/\A(?-mix:[^`\n]*$)/)
9480
+ unless _tmp
9481
+ self.pos = _save15
9482
+ end
9483
+ break
9484
+ end # end sequence
9485
+
9486
+ _tmp = _tmp ? nil : true
9487
+ self.pos = _save14
9488
+ unless _tmp
9489
+ self.pos = _save13
9490
+ break
9491
+ end
9492
+ _save17 = self.pos
9493
+ _tmp = apply(:_Inline)
9494
+ self.pos = _save17
9495
+ unless _tmp
9496
+ self.pos = _save13
9497
+ break
9498
+ end
9499
+ @result = begin; c ; end
9500
+ _tmp = true
9501
+ unless _tmp
9502
+ self.pos = _save13
9288
9503
  end
9289
9504
  break
9290
9505
  end # end sequence
9291
9506
 
9292
9507
  break if _tmp
9293
- self.pos = _save7
9508
+ self.pos = _save10
9294
9509
  break
9295
9510
  end # end choice
9296
9511
 
@@ -9307,11 +9522,11 @@ class RDoc::Markdown
9307
9522
  self.pos = _save
9308
9523
  break
9309
9524
  end
9310
- _save12 = self.pos
9525
+ _save18 = self.pos
9311
9526
  _tmp = _Endline()
9312
9527
  unless _tmp
9313
9528
  _tmp = true
9314
- self.pos = _save12
9529
+ self.pos = _save18
9315
9530
  end
9316
9531
  unless _tmp
9317
9532
  self.pos = _save
@@ -9329,7 +9544,7 @@ class RDoc::Markdown
9329
9544
  return _tmp
9330
9545
  end
9331
9546
 
9332
- # Inline = (Str | @Endline | UlOrStarLine | @Space | Strong | Emph | Image | Link | NoteReference | InlineNote | Code | RawHtml | Entity | EscapedChar | Symbol)
9547
+ # Inline = (Str | @Endline | UlOrStarLine | @Space | Strong | Emph | Strike | Image | Link | NoteReference | InlineNote | Code | RawHtml | Entity | EscapedChar | Symbol)
9333
9548
  def _Inline
9334
9549
 
9335
9550
  _save = self.pos
@@ -9352,6 +9567,9 @@ class RDoc::Markdown
9352
9567
  _tmp = apply(:_Emph)
9353
9568
  break if _tmp
9354
9569
  self.pos = _save
9570
+ _tmp = apply(:_Strike)
9571
+ break if _tmp
9572
+ self.pos = _save
9355
9573
  _tmp = apply(:_Image)
9356
9574
  break if _tmp
9357
9575
  self.pos = _save
@@ -9678,7 +9896,7 @@ class RDoc::Markdown
9678
9896
  return _tmp
9679
9897
  end
9680
9898
 
9681
- # NormalEndline = @Sp @Newline !@BlankLine !">" !AtxStart !(Line /={3,}|-{3,}=/ @Newline) { "\n" }
9899
+ # NormalEndline = @Sp @Newline !@BlankLine !">" !AtxStart !(Line /={1,}|-{1,}/ @Newline) { "\n" }
9682
9900
  def _NormalEndline
9683
9901
 
9684
9902
  _save = self.pos
@@ -9726,7 +9944,7 @@ class RDoc::Markdown
9726
9944
  self.pos = _save5
9727
9945
  break
9728
9946
  end
9729
- _tmp = scan(/\A(?-mix:={3,}|-{3,}=)/)
9947
+ _tmp = scan(/\A(?-mix:={1,}|-{1,})/)
9730
9948
  unless _tmp
9731
9949
  self.pos = _save5
9732
9950
  break
@@ -10041,96 +10259,38 @@ class RDoc::Markdown
10041
10259
  return _tmp
10042
10260
  end
10043
10261
 
10044
- # OneStarOpen = !StarLine "*" !@Spacechar !@Newline
10045
- def _OneStarOpen
10262
+ # Whitespace = (@Spacechar | @Newline)
10263
+ def _Whitespace
10046
10264
 
10047
10265
  _save = self.pos
10048
- while true # sequence
10049
- _save1 = self.pos
10050
- _tmp = apply(:_StarLine)
10051
- _tmp = _tmp ? nil : true
10052
- self.pos = _save1
10053
- unless _tmp
10054
- self.pos = _save
10055
- break
10056
- end
10057
- _tmp = match_string("*")
10058
- unless _tmp
10059
- self.pos = _save
10060
- break
10061
- end
10062
- _save2 = self.pos
10266
+ while true # choice
10063
10267
  _tmp = _Spacechar()
10064
- _tmp = _tmp ? nil : true
10065
- self.pos = _save2
10066
- unless _tmp
10067
- self.pos = _save
10068
- break
10069
- end
10070
- _save3 = self.pos
10268
+ break if _tmp
10269
+ self.pos = _save
10071
10270
  _tmp = _Newline()
10072
- _tmp = _tmp ? nil : true
10073
- self.pos = _save3
10074
- unless _tmp
10075
- self.pos = _save
10076
- end
10271
+ break if _tmp
10272
+ self.pos = _save
10077
10273
  break
10078
- end # end sequence
10274
+ end # end choice
10079
10275
 
10080
- set_failed_rule :_OneStarOpen unless _tmp
10276
+ set_failed_rule :_Whitespace unless _tmp
10081
10277
  return _tmp
10082
10278
  end
10083
10279
 
10084
- # OneStarClose = !@Spacechar !@Newline Inline:a "*" { a }
10085
- def _OneStarClose
10280
+ # EmphStar = "*" !@Whitespace @StartList:a (!"*" Inline:b { a << b } | StrongStar:b { a << b })+ "*" { emphasis a.join }
10281
+ def _EmphStar
10086
10282
 
10087
10283
  _save = self.pos
10088
10284
  while true # sequence
10089
- _save1 = self.pos
10090
- _tmp = _Spacechar()
10091
- _tmp = _tmp ? nil : true
10092
- self.pos = _save1
10093
- unless _tmp
10094
- self.pos = _save
10095
- break
10096
- end
10097
- _save2 = self.pos
10098
- _tmp = _Newline()
10099
- _tmp = _tmp ? nil : true
10100
- self.pos = _save2
10101
- unless _tmp
10102
- self.pos = _save
10103
- break
10104
- end
10105
- _tmp = apply(:_Inline)
10106
- a = @result
10107
- unless _tmp
10108
- self.pos = _save
10109
- break
10110
- end
10111
10285
  _tmp = match_string("*")
10112
10286
  unless _tmp
10113
10287
  self.pos = _save
10114
10288
  break
10115
10289
  end
10116
- @result = begin; a ; end
10117
- _tmp = true
10118
- unless _tmp
10119
- self.pos = _save
10120
- end
10121
- break
10122
- end # end sequence
10123
-
10124
- set_failed_rule :_OneStarClose unless _tmp
10125
- return _tmp
10126
- end
10127
-
10128
- # EmphStar = OneStarOpen @StartList:a (!OneStarClose Inline:l { a << l })* OneStarClose:l { a << l } { emphasis a.join }
10129
- def _EmphStar
10130
-
10131
- _save = self.pos
10132
- while true # sequence
10133
- _tmp = apply(:_OneStarOpen)
10290
+ _save1 = self.pos
10291
+ _tmp = _Whitespace()
10292
+ _tmp = _tmp ? nil : true
10293
+ self.pos = _save1
10134
10294
  unless _tmp
10135
10295
  self.pos = _save
10136
10296
  break
@@ -10141,47 +10301,124 @@ class RDoc::Markdown
10141
10301
  self.pos = _save
10142
10302
  break
10143
10303
  end
10144
- while true
10304
+ _save2 = self.pos
10145
10305
 
10146
- _save2 = self.pos
10306
+ _save3 = self.pos
10307
+ while true # choice
10308
+
10309
+ _save4 = self.pos
10147
10310
  while true # sequence
10148
- _save3 = self.pos
10149
- _tmp = apply(:_OneStarClose)
10311
+ _save5 = self.pos
10312
+ _tmp = match_string("*")
10150
10313
  _tmp = _tmp ? nil : true
10151
- self.pos = _save3
10314
+ self.pos = _save5
10152
10315
  unless _tmp
10153
- self.pos = _save2
10316
+ self.pos = _save4
10154
10317
  break
10155
10318
  end
10156
10319
  _tmp = apply(:_Inline)
10157
- l = @result
10320
+ b = @result
10158
10321
  unless _tmp
10159
- self.pos = _save2
10322
+ self.pos = _save4
10160
10323
  break
10161
10324
  end
10162
- @result = begin; a << l ; end
10325
+ @result = begin; a << b ; end
10163
10326
  _tmp = true
10164
10327
  unless _tmp
10165
- self.pos = _save2
10328
+ self.pos = _save4
10166
10329
  end
10167
10330
  break
10168
10331
  end # end sequence
10169
10332
 
10170
- break unless _tmp
10171
- end
10172
- _tmp = true
10173
- unless _tmp
10174
- self.pos = _save
10333
+ break if _tmp
10334
+ self.pos = _save3
10335
+
10336
+ _save6 = self.pos
10337
+ while true # sequence
10338
+ _tmp = apply(:_StrongStar)
10339
+ b = @result
10340
+ unless _tmp
10341
+ self.pos = _save6
10342
+ break
10343
+ end
10344
+ @result = begin; a << b ; end
10345
+ _tmp = true
10346
+ unless _tmp
10347
+ self.pos = _save6
10348
+ end
10349
+ break
10350
+ end # end sequence
10351
+
10352
+ break if _tmp
10353
+ self.pos = _save3
10175
10354
  break
10355
+ end # end choice
10356
+
10357
+ if _tmp
10358
+ while true
10359
+
10360
+ _save7 = self.pos
10361
+ while true # choice
10362
+
10363
+ _save8 = self.pos
10364
+ while true # sequence
10365
+ _save9 = self.pos
10366
+ _tmp = match_string("*")
10367
+ _tmp = _tmp ? nil : true
10368
+ self.pos = _save9
10369
+ unless _tmp
10370
+ self.pos = _save8
10371
+ break
10372
+ end
10373
+ _tmp = apply(:_Inline)
10374
+ b = @result
10375
+ unless _tmp
10376
+ self.pos = _save8
10377
+ break
10378
+ end
10379
+ @result = begin; a << b ; end
10380
+ _tmp = true
10381
+ unless _tmp
10382
+ self.pos = _save8
10383
+ end
10384
+ break
10385
+ end # end sequence
10386
+
10387
+ break if _tmp
10388
+ self.pos = _save7
10389
+
10390
+ _save10 = self.pos
10391
+ while true # sequence
10392
+ _tmp = apply(:_StrongStar)
10393
+ b = @result
10394
+ unless _tmp
10395
+ self.pos = _save10
10396
+ break
10397
+ end
10398
+ @result = begin; a << b ; end
10399
+ _tmp = true
10400
+ unless _tmp
10401
+ self.pos = _save10
10402
+ end
10403
+ break
10404
+ end # end sequence
10405
+
10406
+ break if _tmp
10407
+ self.pos = _save7
10408
+ break
10409
+ end # end choice
10410
+
10411
+ break unless _tmp
10412
+ end
10413
+ _tmp = true
10414
+ else
10415
+ self.pos = _save2
10176
10416
  end
10177
- _tmp = apply(:_OneStarClose)
10178
- l = @result
10179
10417
  unless _tmp
10180
10418
  self.pos = _save
10181
10419
  break
10182
10420
  end
10183
- @result = begin; a << l ; end
10184
- _tmp = true
10421
+ _tmp = match_string("*")
10185
10422
  unless _tmp
10186
10423
  self.pos = _save
10187
10424
  break
@@ -10198,147 +10435,148 @@ class RDoc::Markdown
10198
10435
  return _tmp
10199
10436
  end
10200
10437
 
10201
- # OneUlOpen = !UlLine "_" !@Spacechar !@Newline
10202
- def _OneUlOpen
10438
+ # EmphUl = "_" !@Whitespace @StartList:a (!"_" Inline:b { a << b } | StrongUl:b { a << b })+ "_" { emphasis a.join }
10439
+ def _EmphUl
10203
10440
 
10204
10441
  _save = self.pos
10205
10442
  while true # sequence
10206
- _save1 = self.pos
10207
- _tmp = apply(:_UlLine)
10208
- _tmp = _tmp ? nil : true
10209
- self.pos = _save1
10210
- unless _tmp
10211
- self.pos = _save
10212
- break
10213
- end
10214
10443
  _tmp = match_string("_")
10215
10444
  unless _tmp
10216
10445
  self.pos = _save
10217
10446
  break
10218
10447
  end
10219
- _save2 = self.pos
10220
- _tmp = _Spacechar()
10221
- _tmp = _tmp ? nil : true
10222
- self.pos = _save2
10223
- unless _tmp
10224
- self.pos = _save
10225
- break
10226
- end
10227
- _save3 = self.pos
10228
- _tmp = _Newline()
10229
- _tmp = _tmp ? nil : true
10230
- self.pos = _save3
10231
- unless _tmp
10232
- self.pos = _save
10233
- end
10234
- break
10235
- end # end sequence
10236
-
10237
- set_failed_rule :_OneUlOpen unless _tmp
10238
- return _tmp
10239
- end
10240
-
10241
- # OneUlClose = !@Spacechar !@Newline Inline:a "_" { a }
10242
- def _OneUlClose
10243
-
10244
- _save = self.pos
10245
- while true # sequence
10246
10448
  _save1 = self.pos
10247
- _tmp = _Spacechar()
10449
+ _tmp = _Whitespace()
10248
10450
  _tmp = _tmp ? nil : true
10249
10451
  self.pos = _save1
10250
10452
  unless _tmp
10251
10453
  self.pos = _save
10252
10454
  break
10253
10455
  end
10254
- _save2 = self.pos
10255
- _tmp = _Newline()
10256
- _tmp = _tmp ? nil : true
10257
- self.pos = _save2
10258
- unless _tmp
10259
- self.pos = _save
10260
- break
10261
- end
10262
- _tmp = apply(:_Inline)
10456
+ _tmp = _StartList()
10263
10457
  a = @result
10264
10458
  unless _tmp
10265
10459
  self.pos = _save
10266
10460
  break
10267
10461
  end
10268
- _tmp = match_string("_")
10269
- unless _tmp
10270
- self.pos = _save
10271
- break
10272
- end
10273
- @result = begin; a ; end
10274
- _tmp = true
10275
- unless _tmp
10276
- self.pos = _save
10277
- end
10278
- break
10279
- end # end sequence
10280
-
10281
- set_failed_rule :_OneUlClose unless _tmp
10282
- return _tmp
10283
- end
10284
-
10285
- # EmphUl = OneUlOpen @StartList:a (!OneUlClose Inline:l { a << l })* OneUlClose:l { a << l } { emphasis a.join }
10286
- def _EmphUl
10462
+ _save2 = self.pos
10287
10463
 
10288
- _save = self.pos
10289
- while true # sequence
10290
- _tmp = apply(:_OneUlOpen)
10291
- unless _tmp
10292
- self.pos = _save
10293
- break
10294
- end
10295
- _tmp = _StartList()
10296
- a = @result
10297
- unless _tmp
10298
- self.pos = _save
10299
- break
10300
- end
10301
- while true
10464
+ _save3 = self.pos
10465
+ while true # choice
10302
10466
 
10303
- _save2 = self.pos
10467
+ _save4 = self.pos
10304
10468
  while true # sequence
10305
- _save3 = self.pos
10306
- _tmp = apply(:_OneUlClose)
10469
+ _save5 = self.pos
10470
+ _tmp = match_string("_")
10307
10471
  _tmp = _tmp ? nil : true
10308
- self.pos = _save3
10472
+ self.pos = _save5
10309
10473
  unless _tmp
10310
- self.pos = _save2
10474
+ self.pos = _save4
10311
10475
  break
10312
10476
  end
10313
10477
  _tmp = apply(:_Inline)
10314
- l = @result
10478
+ b = @result
10315
10479
  unless _tmp
10316
- self.pos = _save2
10480
+ self.pos = _save4
10317
10481
  break
10318
10482
  end
10319
- @result = begin; a << l ; end
10483
+ @result = begin; a << b ; end
10320
10484
  _tmp = true
10321
10485
  unless _tmp
10322
- self.pos = _save2
10486
+ self.pos = _save4
10323
10487
  end
10324
10488
  break
10325
10489
  end # end sequence
10326
10490
 
10327
- break unless _tmp
10328
- end
10329
- _tmp = true
10330
- unless _tmp
10331
- self.pos = _save
10491
+ break if _tmp
10492
+ self.pos = _save3
10493
+
10494
+ _save6 = self.pos
10495
+ while true # sequence
10496
+ _tmp = apply(:_StrongUl)
10497
+ b = @result
10498
+ unless _tmp
10499
+ self.pos = _save6
10500
+ break
10501
+ end
10502
+ @result = begin; a << b ; end
10503
+ _tmp = true
10504
+ unless _tmp
10505
+ self.pos = _save6
10506
+ end
10507
+ break
10508
+ end # end sequence
10509
+
10510
+ break if _tmp
10511
+ self.pos = _save3
10332
10512
  break
10513
+ end # end choice
10514
+
10515
+ if _tmp
10516
+ while true
10517
+
10518
+ _save7 = self.pos
10519
+ while true # choice
10520
+
10521
+ _save8 = self.pos
10522
+ while true # sequence
10523
+ _save9 = self.pos
10524
+ _tmp = match_string("_")
10525
+ _tmp = _tmp ? nil : true
10526
+ self.pos = _save9
10527
+ unless _tmp
10528
+ self.pos = _save8
10529
+ break
10530
+ end
10531
+ _tmp = apply(:_Inline)
10532
+ b = @result
10533
+ unless _tmp
10534
+ self.pos = _save8
10535
+ break
10536
+ end
10537
+ @result = begin; a << b ; end
10538
+ _tmp = true
10539
+ unless _tmp
10540
+ self.pos = _save8
10541
+ end
10542
+ break
10543
+ end # end sequence
10544
+
10545
+ break if _tmp
10546
+ self.pos = _save7
10547
+
10548
+ _save10 = self.pos
10549
+ while true # sequence
10550
+ _tmp = apply(:_StrongUl)
10551
+ b = @result
10552
+ unless _tmp
10553
+ self.pos = _save10
10554
+ break
10555
+ end
10556
+ @result = begin; a << b ; end
10557
+ _tmp = true
10558
+ unless _tmp
10559
+ self.pos = _save10
10560
+ end
10561
+ break
10562
+ end # end sequence
10563
+
10564
+ break if _tmp
10565
+ self.pos = _save7
10566
+ break
10567
+ end # end choice
10568
+
10569
+ break unless _tmp
10570
+ end
10571
+ _tmp = true
10572
+ else
10573
+ self.pos = _save2
10333
10574
  end
10334
- _tmp = apply(:_OneUlClose)
10335
- l = @result
10336
10575
  unless _tmp
10337
10576
  self.pos = _save
10338
10577
  break
10339
10578
  end
10340
- @result = begin; a << l ; end
10341
- _tmp = true
10579
+ _tmp = match_string("_")
10342
10580
  unless _tmp
10343
10581
  self.pos = _save
10344
10582
  break
@@ -10373,69 +10611,89 @@ class RDoc::Markdown
10373
10611
  return _tmp
10374
10612
  end
10375
10613
 
10376
- # TwoStarOpen = !StarLine "**" !@Spacechar !@Newline
10377
- def _TwoStarOpen
10614
+ # StrongStar = "**" !@Whitespace @StartList:a (!"**" Inline:b { a << b })+ "**" { strong a.join }
10615
+ def _StrongStar
10378
10616
 
10379
10617
  _save = self.pos
10380
10618
  while true # sequence
10381
- _save1 = self.pos
10382
- _tmp = apply(:_StarLine)
10383
- _tmp = _tmp ? nil : true
10384
- self.pos = _save1
10385
- unless _tmp
10386
- self.pos = _save
10387
- break
10388
- end
10389
10619
  _tmp = match_string("**")
10390
10620
  unless _tmp
10391
10621
  self.pos = _save
10392
10622
  break
10393
10623
  end
10394
- _save2 = self.pos
10395
- _tmp = _Spacechar()
10624
+ _save1 = self.pos
10625
+ _tmp = _Whitespace()
10396
10626
  _tmp = _tmp ? nil : true
10397
- self.pos = _save2
10627
+ self.pos = _save1
10398
10628
  unless _tmp
10399
10629
  self.pos = _save
10400
10630
  break
10401
10631
  end
10402
- _save3 = self.pos
10403
- _tmp = _Newline()
10404
- _tmp = _tmp ? nil : true
10405
- self.pos = _save3
10406
- unless _tmp
10407
- self.pos = _save
10408
- end
10409
- break
10410
- end # end sequence
10411
-
10412
- set_failed_rule :_TwoStarOpen unless _tmp
10413
- return _tmp
10414
- end
10415
-
10416
- # TwoStarClose = !@Spacechar !@Newline Inline:a "**" { a }
10417
- def _TwoStarClose
10418
-
10419
- _save = self.pos
10420
- while true # sequence
10421
- _save1 = self.pos
10422
- _tmp = _Spacechar()
10423
- _tmp = _tmp ? nil : true
10424
- self.pos = _save1
10632
+ _tmp = _StartList()
10633
+ a = @result
10425
10634
  unless _tmp
10426
10635
  self.pos = _save
10427
10636
  break
10428
10637
  end
10429
10638
  _save2 = self.pos
10430
- _tmp = _Newline()
10431
- _tmp = _tmp ? nil : true
10432
- self.pos = _save2
10433
- unless _tmp
10434
- self.pos = _save
10639
+
10640
+ _save3 = self.pos
10641
+ while true # sequence
10642
+ _save4 = self.pos
10643
+ _tmp = match_string("**")
10644
+ _tmp = _tmp ? nil : true
10645
+ self.pos = _save4
10646
+ unless _tmp
10647
+ self.pos = _save3
10648
+ break
10649
+ end
10650
+ _tmp = apply(:_Inline)
10651
+ b = @result
10652
+ unless _tmp
10653
+ self.pos = _save3
10654
+ break
10655
+ end
10656
+ @result = begin; a << b ; end
10657
+ _tmp = true
10658
+ unless _tmp
10659
+ self.pos = _save3
10660
+ end
10435
10661
  break
10662
+ end # end sequence
10663
+
10664
+ if _tmp
10665
+ while true
10666
+
10667
+ _save5 = self.pos
10668
+ while true # sequence
10669
+ _save6 = self.pos
10670
+ _tmp = match_string("**")
10671
+ _tmp = _tmp ? nil : true
10672
+ self.pos = _save6
10673
+ unless _tmp
10674
+ self.pos = _save5
10675
+ break
10676
+ end
10677
+ _tmp = apply(:_Inline)
10678
+ b = @result
10679
+ unless _tmp
10680
+ self.pos = _save5
10681
+ break
10682
+ end
10683
+ @result = begin; a << b ; end
10684
+ _tmp = true
10685
+ unless _tmp
10686
+ self.pos = _save5
10687
+ end
10688
+ break
10689
+ end # end sequence
10690
+
10691
+ break unless _tmp
10692
+ end
10693
+ _tmp = true
10694
+ else
10695
+ self.pos = _save2
10436
10696
  end
10437
- _tmp = apply(:_Inline)
10438
- a = @result
10439
10697
  unless _tmp
10440
10698
  self.pos = _save
10441
10699
  break
@@ -10445,7 +10703,7 @@ class RDoc::Markdown
10445
10703
  self.pos = _save
10446
10704
  break
10447
10705
  end
10448
- @result = begin; a ; end
10706
+ @result = begin; strong a.join ; end
10449
10707
  _tmp = true
10450
10708
  unless _tmp
10451
10709
  self.pos = _save
@@ -10453,16 +10711,24 @@ class RDoc::Markdown
10453
10711
  break
10454
10712
  end # end sequence
10455
10713
 
10456
- set_failed_rule :_TwoStarClose unless _tmp
10714
+ set_failed_rule :_StrongStar unless _tmp
10457
10715
  return _tmp
10458
10716
  end
10459
10717
 
10460
- # StrongStar = TwoStarOpen @StartList:a (!TwoStarClose Inline:l { a << l })* TwoStarClose:l { a << l } { strong a.join }
10461
- def _StrongStar
10718
+ # StrongUl = "__" !@Whitespace @StartList:a (!"__" Inline:b { a << b })+ "__" { strong a.join }
10719
+ def _StrongUl
10462
10720
 
10463
10721
  _save = self.pos
10464
10722
  while true # sequence
10465
- _tmp = apply(:_TwoStarOpen)
10723
+ _tmp = match_string("__")
10724
+ unless _tmp
10725
+ self.pos = _save
10726
+ break
10727
+ end
10728
+ _save1 = self.pos
10729
+ _tmp = _Whitespace()
10730
+ _tmp = _tmp ? nil : true
10731
+ self.pos = _save1
10466
10732
  unless _tmp
10467
10733
  self.pos = _save
10468
10734
  break
@@ -10473,47 +10739,70 @@ class RDoc::Markdown
10473
10739
  self.pos = _save
10474
10740
  break
10475
10741
  end
10476
- while true
10742
+ _save2 = self.pos
10477
10743
 
10478
- _save2 = self.pos
10479
- while true # sequence
10480
- _save3 = self.pos
10481
- _tmp = apply(:_TwoStarClose)
10482
- _tmp = _tmp ? nil : true
10744
+ _save3 = self.pos
10745
+ while true # sequence
10746
+ _save4 = self.pos
10747
+ _tmp = match_string("__")
10748
+ _tmp = _tmp ? nil : true
10749
+ self.pos = _save4
10750
+ unless _tmp
10483
10751
  self.pos = _save3
10484
- unless _tmp
10485
- self.pos = _save2
10486
- break
10487
- end
10488
- _tmp = apply(:_Inline)
10489
- l = @result
10490
- unless _tmp
10491
- self.pos = _save2
10492
- break
10493
- end
10494
- @result = begin; a << l ; end
10495
- _tmp = true
10496
- unless _tmp
10497
- self.pos = _save2
10498
- end
10499
10752
  break
10500
- end # end sequence
10501
-
10502
- break unless _tmp
10503
- end
10504
- _tmp = true
10505
- unless _tmp
10506
- self.pos = _save
10753
+ end
10754
+ _tmp = apply(:_Inline)
10755
+ b = @result
10756
+ unless _tmp
10757
+ self.pos = _save3
10758
+ break
10759
+ end
10760
+ @result = begin; a << b ; end
10761
+ _tmp = true
10762
+ unless _tmp
10763
+ self.pos = _save3
10764
+ end
10507
10765
  break
10766
+ end # end sequence
10767
+
10768
+ if _tmp
10769
+ while true
10770
+
10771
+ _save5 = self.pos
10772
+ while true # sequence
10773
+ _save6 = self.pos
10774
+ _tmp = match_string("__")
10775
+ _tmp = _tmp ? nil : true
10776
+ self.pos = _save6
10777
+ unless _tmp
10778
+ self.pos = _save5
10779
+ break
10780
+ end
10781
+ _tmp = apply(:_Inline)
10782
+ b = @result
10783
+ unless _tmp
10784
+ self.pos = _save5
10785
+ break
10786
+ end
10787
+ @result = begin; a << b ; end
10788
+ _tmp = true
10789
+ unless _tmp
10790
+ self.pos = _save5
10791
+ end
10792
+ break
10793
+ end # end sequence
10794
+
10795
+ break unless _tmp
10796
+ end
10797
+ _tmp = true
10798
+ else
10799
+ self.pos = _save2
10508
10800
  end
10509
- _tmp = apply(:_TwoStarClose)
10510
- l = @result
10511
10801
  unless _tmp
10512
10802
  self.pos = _save
10513
10803
  break
10514
10804
  end
10515
- @result = begin; a << l ; end
10516
- _tmp = true
10805
+ _tmp = match_string("__")
10517
10806
  unless _tmp
10518
10807
  self.pos = _save
10519
10808
  break
@@ -10526,156 +10815,110 @@ class RDoc::Markdown
10526
10815
  break
10527
10816
  end # end sequence
10528
10817
 
10529
- set_failed_rule :_StrongStar unless _tmp
10818
+ set_failed_rule :_StrongUl unless _tmp
10530
10819
  return _tmp
10531
10820
  end
10532
10821
 
10533
- # TwoUlOpen = !UlLine "__" !@Spacechar !@Newline
10534
- def _TwoUlOpen
10822
+ # Strike = &{ strike? } "~~" !@Whitespace @StartList:a (!"~~" Inline:b { a << b })+ "~~" { strike a.join }
10823
+ def _Strike
10535
10824
 
10536
10825
  _save = self.pos
10537
10826
  while true # sequence
10538
10827
  _save1 = self.pos
10539
- _tmp = apply(:_UlLine)
10540
- _tmp = _tmp ? nil : true
10828
+ _tmp = begin; strike? ; end
10541
10829
  self.pos = _save1
10542
10830
  unless _tmp
10543
10831
  self.pos = _save
10544
10832
  break
10545
10833
  end
10546
- _tmp = match_string("__")
10547
- unless _tmp
10548
- self.pos = _save
10549
- break
10550
- end
10551
- _save2 = self.pos
10552
- _tmp = _Spacechar()
10553
- _tmp = _tmp ? nil : true
10554
- self.pos = _save2
10555
- unless _tmp
10556
- self.pos = _save
10557
- break
10558
- end
10559
- _save3 = self.pos
10560
- _tmp = _Newline()
10561
- _tmp = _tmp ? nil : true
10562
- self.pos = _save3
10563
- unless _tmp
10564
- self.pos = _save
10565
- end
10566
- break
10567
- end # end sequence
10568
-
10569
- set_failed_rule :_TwoUlOpen unless _tmp
10570
- return _tmp
10571
- end
10572
-
10573
- # TwoUlClose = !@Spacechar !@Newline Inline:a "__" { a }
10574
- def _TwoUlClose
10575
-
10576
- _save = self.pos
10577
- while true # sequence
10578
- _save1 = self.pos
10579
- _tmp = _Spacechar()
10580
- _tmp = _tmp ? nil : true
10581
- self.pos = _save1
10834
+ _tmp = match_string("~~")
10582
10835
  unless _tmp
10583
10836
  self.pos = _save
10584
10837
  break
10585
10838
  end
10586
10839
  _save2 = self.pos
10587
- _tmp = _Newline()
10840
+ _tmp = _Whitespace()
10588
10841
  _tmp = _tmp ? nil : true
10589
10842
  self.pos = _save2
10590
10843
  unless _tmp
10591
10844
  self.pos = _save
10592
10845
  break
10593
10846
  end
10594
- _tmp = apply(:_Inline)
10847
+ _tmp = _StartList()
10595
10848
  a = @result
10596
10849
  unless _tmp
10597
10850
  self.pos = _save
10598
10851
  break
10599
10852
  end
10600
- _tmp = match_string("__")
10601
- unless _tmp
10602
- self.pos = _save
10603
- break
10604
- end
10605
- @result = begin; a ; end
10606
- _tmp = true
10607
- unless _tmp
10608
- self.pos = _save
10609
- end
10610
- break
10611
- end # end sequence
10612
-
10613
- set_failed_rule :_TwoUlClose unless _tmp
10614
- return _tmp
10615
- end
10616
-
10617
- # StrongUl = TwoUlOpen @StartList:a (!TwoUlClose Inline:i { a << i })* TwoUlClose:l { a << l } { strong a.join }
10618
- def _StrongUl
10853
+ _save3 = self.pos
10619
10854
 
10620
- _save = self.pos
10621
- while true # sequence
10622
- _tmp = apply(:_TwoUlOpen)
10623
- unless _tmp
10624
- self.pos = _save
10625
- break
10626
- end
10627
- _tmp = _StartList()
10628
- a = @result
10629
- unless _tmp
10630
- self.pos = _save
10855
+ _save4 = self.pos
10856
+ while true # sequence
10857
+ _save5 = self.pos
10858
+ _tmp = match_string("~~")
10859
+ _tmp = _tmp ? nil : true
10860
+ self.pos = _save5
10861
+ unless _tmp
10862
+ self.pos = _save4
10863
+ break
10864
+ end
10865
+ _tmp = apply(:_Inline)
10866
+ b = @result
10867
+ unless _tmp
10868
+ self.pos = _save4
10869
+ break
10870
+ end
10871
+ @result = begin; a << b ; end
10872
+ _tmp = true
10873
+ unless _tmp
10874
+ self.pos = _save4
10875
+ end
10631
10876
  break
10632
- end
10633
- while true
10877
+ end # end sequence
10634
10878
 
10635
- _save2 = self.pos
10636
- while true # sequence
10637
- _save3 = self.pos
10638
- _tmp = apply(:_TwoUlClose)
10639
- _tmp = _tmp ? nil : true
10640
- self.pos = _save3
10641
- unless _tmp
10642
- self.pos = _save2
10643
- break
10644
- end
10645
- _tmp = apply(:_Inline)
10646
- i = @result
10647
- unless _tmp
10648
- self.pos = _save2
10879
+ if _tmp
10880
+ while true
10881
+
10882
+ _save6 = self.pos
10883
+ while true # sequence
10884
+ _save7 = self.pos
10885
+ _tmp = match_string("~~")
10886
+ _tmp = _tmp ? nil : true
10887
+ self.pos = _save7
10888
+ unless _tmp
10889
+ self.pos = _save6
10890
+ break
10891
+ end
10892
+ _tmp = apply(:_Inline)
10893
+ b = @result
10894
+ unless _tmp
10895
+ self.pos = _save6
10896
+ break
10897
+ end
10898
+ @result = begin; a << b ; end
10899
+ _tmp = true
10900
+ unless _tmp
10901
+ self.pos = _save6
10902
+ end
10649
10903
  break
10650
- end
10651
- @result = begin; a << i ; end
10652
- _tmp = true
10653
- unless _tmp
10654
- self.pos = _save2
10655
- end
10656
- break
10657
- end # end sequence
10904
+ end # end sequence
10658
10905
 
10659
- break unless _tmp
10660
- end
10661
- _tmp = true
10662
- unless _tmp
10663
- self.pos = _save
10664
- break
10906
+ break unless _tmp
10907
+ end
10908
+ _tmp = true
10909
+ else
10910
+ self.pos = _save3
10665
10911
  end
10666
- _tmp = apply(:_TwoUlClose)
10667
- l = @result
10668
10912
  unless _tmp
10669
10913
  self.pos = _save
10670
10914
  break
10671
10915
  end
10672
- @result = begin; a << l ; end
10673
- _tmp = true
10916
+ _tmp = match_string("~~")
10674
10917
  unless _tmp
10675
10918
  self.pos = _save
10676
10919
  break
10677
10920
  end
10678
- @result = begin; strong a.join ; end
10921
+ @result = begin; strike a.join ; end
10679
10922
  _tmp = true
10680
10923
  unless _tmp
10681
10924
  self.pos = _save
@@ -10683,7 +10926,7 @@ class RDoc::Markdown
10683
10926
  break
10684
10927
  end # end sequence
10685
10928
 
10686
- set_failed_rule :_StrongUl unless _tmp
10929
+ set_failed_rule :_Strike unless _tmp
10687
10930
  return _tmp
10688
10931
  end
10689
10932
 
@@ -10862,7 +11105,7 @@ class RDoc::Markdown
10862
11105
  return _tmp
10863
11106
  end
10864
11107
 
10865
- # ExplicitLink = Label:l Spnl "(" @Sp Source:s Spnl Title @Sp ")" { "{#{l}}[#{s}]" }
11108
+ # ExplicitLink = Label:l "(" @Sp Source:s Spnl Title @Sp ")" { "{#{l}}[#{s}]" }
10866
11109
  def _ExplicitLink
10867
11110
 
10868
11111
  _save = self.pos
@@ -10873,11 +11116,6 @@ class RDoc::Markdown
10873
11116
  self.pos = _save
10874
11117
  break
10875
11118
  end
10876
- _tmp = apply(:_Spnl)
10877
- unless _tmp
10878
- self.pos = _save
10879
- break
10880
- end
10881
11119
  _tmp = match_string("(")
10882
11120
  unless _tmp
10883
11121
  self.pos = _save
@@ -10986,130 +11224,119 @@ class RDoc::Markdown
10986
11224
  return _tmp
10987
11225
  end
10988
11226
 
10989
- # SourceContents = (((!"(" !")" !">" Nonspacechar)+ | "(" SourceContents ")")* | "")
11227
+ # SourceContents = ((!"(" !")" !">" Nonspacechar)+ | "(" SourceContents ")")*
10990
11228
  def _SourceContents
11229
+ while true
10991
11230
 
10992
- _save = self.pos
10993
- while true # choice
10994
- while true
10995
-
11231
+ _save1 = self.pos
11232
+ while true # choice
10996
11233
  _save2 = self.pos
10997
- while true # choice
10998
- _save3 = self.pos
10999
11234
 
11235
+ _save3 = self.pos
11236
+ while true # sequence
11000
11237
  _save4 = self.pos
11001
- while true # sequence
11002
- _save5 = self.pos
11003
- _tmp = match_string("(")
11004
- _tmp = _tmp ? nil : true
11005
- self.pos = _save5
11006
- unless _tmp
11007
- self.pos = _save4
11008
- break
11009
- end
11010
- _save6 = self.pos
11011
- _tmp = match_string(")")
11012
- _tmp = _tmp ? nil : true
11013
- self.pos = _save6
11014
- unless _tmp
11015
- self.pos = _save4
11016
- break
11017
- end
11018
- _save7 = self.pos
11019
- _tmp = match_string(">")
11020
- _tmp = _tmp ? nil : true
11021
- self.pos = _save7
11022
- unless _tmp
11023
- self.pos = _save4
11024
- break
11025
- end
11026
- _tmp = apply(:_Nonspacechar)
11027
- unless _tmp
11028
- self.pos = _save4
11029
- end
11238
+ _tmp = match_string("(")
11239
+ _tmp = _tmp ? nil : true
11240
+ self.pos = _save4
11241
+ unless _tmp
11242
+ self.pos = _save3
11030
11243
  break
11031
- end # end sequence
11244
+ end
11245
+ _save5 = self.pos
11246
+ _tmp = match_string(")")
11247
+ _tmp = _tmp ? nil : true
11248
+ self.pos = _save5
11249
+ unless _tmp
11250
+ self.pos = _save3
11251
+ break
11252
+ end
11253
+ _save6 = self.pos
11254
+ _tmp = match_string(">")
11255
+ _tmp = _tmp ? nil : true
11256
+ self.pos = _save6
11257
+ unless _tmp
11258
+ self.pos = _save3
11259
+ break
11260
+ end
11261
+ _tmp = apply(:_Nonspacechar)
11262
+ unless _tmp
11263
+ self.pos = _save3
11264
+ end
11265
+ break
11266
+ end # end sequence
11032
11267
 
11033
- if _tmp
11034
- while true
11268
+ if _tmp
11269
+ while true
11035
11270
 
11271
+ _save7 = self.pos
11272
+ while true # sequence
11036
11273
  _save8 = self.pos
11037
- while true # sequence
11038
- _save9 = self.pos
11039
- _tmp = match_string("(")
11040
- _tmp = _tmp ? nil : true
11041
- self.pos = _save9
11042
- unless _tmp
11043
- self.pos = _save8
11044
- break
11045
- end
11046
- _save10 = self.pos
11047
- _tmp = match_string(")")
11048
- _tmp = _tmp ? nil : true
11049
- self.pos = _save10
11050
- unless _tmp
11051
- self.pos = _save8
11052
- break
11053
- end
11054
- _save11 = self.pos
11055
- _tmp = match_string(">")
11056
- _tmp = _tmp ? nil : true
11057
- self.pos = _save11
11058
- unless _tmp
11059
- self.pos = _save8
11060
- break
11061
- end
11062
- _tmp = apply(:_Nonspacechar)
11063
- unless _tmp
11064
- self.pos = _save8
11065
- end
11274
+ _tmp = match_string("(")
11275
+ _tmp = _tmp ? nil : true
11276
+ self.pos = _save8
11277
+ unless _tmp
11278
+ self.pos = _save7
11066
11279
  break
11067
- end # end sequence
11280
+ end
11281
+ _save9 = self.pos
11282
+ _tmp = match_string(")")
11283
+ _tmp = _tmp ? nil : true
11284
+ self.pos = _save9
11285
+ unless _tmp
11286
+ self.pos = _save7
11287
+ break
11288
+ end
11289
+ _save10 = self.pos
11290
+ _tmp = match_string(">")
11291
+ _tmp = _tmp ? nil : true
11292
+ self.pos = _save10
11293
+ unless _tmp
11294
+ self.pos = _save7
11295
+ break
11296
+ end
11297
+ _tmp = apply(:_Nonspacechar)
11298
+ unless _tmp
11299
+ self.pos = _save7
11300
+ end
11301
+ break
11302
+ end # end sequence
11068
11303
 
11069
- break unless _tmp
11070
- end
11071
- _tmp = true
11072
- else
11073
- self.pos = _save3
11304
+ break unless _tmp
11074
11305
  end
11075
- break if _tmp
11306
+ _tmp = true
11307
+ else
11076
11308
  self.pos = _save2
11309
+ end
11310
+ break if _tmp
11311
+ self.pos = _save1
11077
11312
 
11078
- _save12 = self.pos
11079
- while true # sequence
11080
- _tmp = match_string("(")
11081
- unless _tmp
11082
- self.pos = _save12
11083
- break
11084
- end
11085
- _tmp = apply(:_SourceContents)
11086
- unless _tmp
11087
- self.pos = _save12
11088
- break
11089
- end
11090
- _tmp = match_string(")")
11091
- unless _tmp
11092
- self.pos = _save12
11093
- end
11313
+ _save11 = self.pos
11314
+ while true # sequence
11315
+ _tmp = match_string("(")
11316
+ unless _tmp
11317
+ self.pos = _save11
11094
11318
  break
11095
- end # end sequence
11096
-
11097
- break if _tmp
11098
- self.pos = _save2
11319
+ end
11320
+ _tmp = apply(:_SourceContents)
11321
+ unless _tmp
11322
+ self.pos = _save11
11323
+ break
11324
+ end
11325
+ _tmp = match_string(")")
11326
+ unless _tmp
11327
+ self.pos = _save11
11328
+ end
11099
11329
  break
11100
- end # end choice
11330
+ end # end sequence
11101
11331
 
11102
- break unless _tmp
11103
- end
11104
- _tmp = true
11105
- break if _tmp
11106
- self.pos = _save
11107
- _tmp = match_string("")
11108
- break if _tmp
11109
- self.pos = _save
11110
- break
11111
- end # end choice
11332
+ break if _tmp
11333
+ self.pos = _save1
11334
+ break
11335
+ end # end choice
11112
11336
 
11337
+ break unless _tmp
11338
+ end
11339
+ _tmp = true
11113
11340
  set_failed_rule :_SourceContents unless _tmp
11114
11341
  return _tmp
11115
11342
  end
@@ -14366,12 +14593,12 @@ class RDoc::Markdown
14366
14593
  return _tmp
14367
14594
  end
14368
14595
 
14369
- # SpecialChar = (/[*_`&\[\]()<!#\\'"]/ | @ExtendedSpecialChar)
14596
+ # SpecialChar = (/[~*_`&\[\]()<!#\\'"]/ | @ExtendedSpecialChar)
14370
14597
  def _SpecialChar
14371
14598
 
14372
14599
  _save = self.pos
14373
14600
  while true # choice
14374
- _tmp = scan(/\A(?-mix:[*_`&\[\]()<!#\\'"])/)
14601
+ _tmp = scan(/\A(?-mix:[~*_`&\[\]()<!#\\'"])/)
14375
14602
  break if _tmp
14376
14603
  self.pos = _save
14377
14604
  _tmp = _ExtendedSpecialChar()
@@ -14464,13 +14691,6 @@ class RDoc::Markdown
14464
14691
  return _tmp
14465
14692
  end
14466
14693
 
14467
- # NonAlphanumeric = %literals.NonAlphanumeric
14468
- def _NonAlphanumeric
14469
- _tmp = @_grammar_literals.external_invoke(self, :_NonAlphanumeric)
14470
- set_failed_rule :_NonAlphanumeric unless _tmp
14471
- return _tmp
14472
- end
14473
-
14474
14694
  # Spacechar = %literals.Spacechar
14475
14695
  def _Spacechar
14476
14696
  _tmp = @_grammar_literals.external_invoke(self, :_Spacechar)
@@ -15198,7 +15418,7 @@ class RDoc::Markdown
15198
15418
  return _tmp
15199
15419
  end
15200
15420
 
15201
- # InlineNote = &{ notes? } "^[" @StartList:a (!"]" Inline:l { a << l })+ "]" { ref = [:inline, @note_order.length] @footnotes[ref] = paragraph a note_for ref }
15421
+ # InlineNote = &{ notes? } "^[" @StartList:a (!"]" Inline:l { a << l })+ "]" { ref = [:inline, @note_order.length] @footnotes[ref] = paragraph a note_for ref }
15202
15422
  def _InlineNote
15203
15423
 
15204
15424
  _save = self.pos
@@ -15289,8 +15509,7 @@ class RDoc::Markdown
15289
15509
  self.pos = _save
15290
15510
  break
15291
15511
  end
15292
- @result = begin;
15293
- ref = [:inline, @note_order.length]
15512
+ @result = begin; ref = [:inline, @note_order.length]
15294
15513
  @footnotes[ref] = paragraph a
15295
15514
 
15296
15515
  note_for ref
@@ -15433,7 +15652,7 @@ class RDoc::Markdown
15433
15652
  return _tmp
15434
15653
  end
15435
15654
 
15436
- # 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 verbatim }
15655
+ # 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 }
15437
15656
  def _CodeFence
15438
15657
 
15439
15658
  _save = self.pos
@@ -15675,7 +15894,7 @@ class RDoc::Markdown
15675
15894
  break
15676
15895
  end
15677
15896
  @result = begin; verbatim = RDoc::Markup::Verbatim.new text
15678
- verbatim.format = format.intern if format
15897
+ verbatim.format = format.intern if format.instance_of?(String)
15679
15898
  verbatim
15680
15899
  ; end
15681
15900
  _tmp = true
@@ -15689,6 +15908,338 @@ class RDoc::Markdown
15689
15908
  return _tmp
15690
15909
  end
15691
15910
 
15911
+ # Table = &{ github? } TableRow:header TableLine:line TableRow+:body { table = RDoc::Markup::Table.new(header, line, body) }
15912
+ def _Table
15913
+
15914
+ _save = self.pos
15915
+ while true # sequence
15916
+ _save1 = self.pos
15917
+ _tmp = begin; github? ; end
15918
+ self.pos = _save1
15919
+ unless _tmp
15920
+ self.pos = _save
15921
+ break
15922
+ end
15923
+ _tmp = apply(:_TableRow)
15924
+ header = @result
15925
+ unless _tmp
15926
+ self.pos = _save
15927
+ break
15928
+ end
15929
+ _tmp = apply(:_TableLine)
15930
+ line = @result
15931
+ unless _tmp
15932
+ self.pos = _save
15933
+ break
15934
+ end
15935
+ _save2 = self.pos
15936
+ _ary = []
15937
+ _tmp = apply(:_TableRow)
15938
+ if _tmp
15939
+ _ary << @result
15940
+ while true
15941
+ _tmp = apply(:_TableRow)
15942
+ _ary << @result if _tmp
15943
+ break unless _tmp
15944
+ end
15945
+ _tmp = true
15946
+ @result = _ary
15947
+ else
15948
+ self.pos = _save2
15949
+ end
15950
+ body = @result
15951
+ unless _tmp
15952
+ self.pos = _save
15953
+ break
15954
+ end
15955
+ @result = begin; table = RDoc::Markup::Table.new(header, line, body) ; end
15956
+ _tmp = true
15957
+ unless _tmp
15958
+ self.pos = _save
15959
+ end
15960
+ break
15961
+ end # end sequence
15962
+
15963
+ set_failed_rule :_Table unless _tmp
15964
+ return _tmp
15965
+ end
15966
+
15967
+ # TableRow = TableItem+:row "|" @Newline { row }
15968
+ def _TableRow
15969
+
15970
+ _save = self.pos
15971
+ while true # sequence
15972
+ _save1 = self.pos
15973
+ _ary = []
15974
+ _tmp = apply(:_TableItem)
15975
+ if _tmp
15976
+ _ary << @result
15977
+ while true
15978
+ _tmp = apply(:_TableItem)
15979
+ _ary << @result if _tmp
15980
+ break unless _tmp
15981
+ end
15982
+ _tmp = true
15983
+ @result = _ary
15984
+ else
15985
+ self.pos = _save1
15986
+ end
15987
+ row = @result
15988
+ unless _tmp
15989
+ self.pos = _save
15990
+ break
15991
+ end
15992
+ _tmp = match_string("|")
15993
+ unless _tmp
15994
+ self.pos = _save
15995
+ break
15996
+ end
15997
+ _tmp = _Newline()
15998
+ unless _tmp
15999
+ self.pos = _save
16000
+ break
16001
+ end
16002
+ @result = begin; row ; end
16003
+ _tmp = true
16004
+ unless _tmp
16005
+ self.pos = _save
16006
+ end
16007
+ break
16008
+ end # end sequence
16009
+
16010
+ set_failed_rule :_TableRow unless _tmp
16011
+ return _tmp
16012
+ end
16013
+
16014
+ # TableItem = "|" < (!"|" !@Newline .)+ > { text.strip }
16015
+ def _TableItem
16016
+
16017
+ _save = self.pos
16018
+ while true # sequence
16019
+ _tmp = match_string("|")
16020
+ unless _tmp
16021
+ self.pos = _save
16022
+ break
16023
+ end
16024
+ _text_start = self.pos
16025
+ _save1 = self.pos
16026
+
16027
+ _save2 = self.pos
16028
+ while true # sequence
16029
+ _save3 = self.pos
16030
+ _tmp = match_string("|")
16031
+ _tmp = _tmp ? nil : true
16032
+ self.pos = _save3
16033
+ unless _tmp
16034
+ self.pos = _save2
16035
+ break
16036
+ end
16037
+ _save4 = self.pos
16038
+ _tmp = _Newline()
16039
+ _tmp = _tmp ? nil : true
16040
+ self.pos = _save4
16041
+ unless _tmp
16042
+ self.pos = _save2
16043
+ break
16044
+ end
16045
+ _tmp = get_byte
16046
+ unless _tmp
16047
+ self.pos = _save2
16048
+ end
16049
+ break
16050
+ end # end sequence
16051
+
16052
+ if _tmp
16053
+ while true
16054
+
16055
+ _save5 = self.pos
16056
+ while true # sequence
16057
+ _save6 = self.pos
16058
+ _tmp = match_string("|")
16059
+ _tmp = _tmp ? nil : true
16060
+ self.pos = _save6
16061
+ unless _tmp
16062
+ self.pos = _save5
16063
+ break
16064
+ end
16065
+ _save7 = self.pos
16066
+ _tmp = _Newline()
16067
+ _tmp = _tmp ? nil : true
16068
+ self.pos = _save7
16069
+ unless _tmp
16070
+ self.pos = _save5
16071
+ break
16072
+ end
16073
+ _tmp = get_byte
16074
+ unless _tmp
16075
+ self.pos = _save5
16076
+ end
16077
+ break
16078
+ end # end sequence
16079
+
16080
+ break unless _tmp
16081
+ end
16082
+ _tmp = true
16083
+ else
16084
+ self.pos = _save1
16085
+ end
16086
+ if _tmp
16087
+ text = get_text(_text_start)
16088
+ end
16089
+ unless _tmp
16090
+ self.pos = _save
16091
+ break
16092
+ end
16093
+ @result = begin; text.strip ; end
16094
+ _tmp = true
16095
+ unless _tmp
16096
+ self.pos = _save
16097
+ end
16098
+ break
16099
+ end # end sequence
16100
+
16101
+ set_failed_rule :_TableItem unless _tmp
16102
+ return _tmp
16103
+ end
16104
+
16105
+ # TableLine = TableColumn+:line "|" @Newline { line }
16106
+ def _TableLine
16107
+
16108
+ _save = self.pos
16109
+ while true # sequence
16110
+ _save1 = self.pos
16111
+ _ary = []
16112
+ _tmp = apply(:_TableColumn)
16113
+ if _tmp
16114
+ _ary << @result
16115
+ while true
16116
+ _tmp = apply(:_TableColumn)
16117
+ _ary << @result if _tmp
16118
+ break unless _tmp
16119
+ end
16120
+ _tmp = true
16121
+ @result = _ary
16122
+ else
16123
+ self.pos = _save1
16124
+ end
16125
+ line = @result
16126
+ unless _tmp
16127
+ self.pos = _save
16128
+ break
16129
+ end
16130
+ _tmp = match_string("|")
16131
+ unless _tmp
16132
+ self.pos = _save
16133
+ break
16134
+ end
16135
+ _tmp = _Newline()
16136
+ unless _tmp
16137
+ self.pos = _save
16138
+ break
16139
+ end
16140
+ @result = begin; line ; end
16141
+ _tmp = true
16142
+ unless _tmp
16143
+ self.pos = _save
16144
+ end
16145
+ break
16146
+ end # end sequence
16147
+
16148
+ set_failed_rule :_TableLine unless _tmp
16149
+ return _tmp
16150
+ end
16151
+
16152
+ # TableColumn = "|" < ("-"+ ":"? | ":" "-"*) > { text.start_with?(":") ? :left : text.end_with?(":") ? :right : nil }
16153
+ def _TableColumn
16154
+
16155
+ _save = self.pos
16156
+ while true # sequence
16157
+ _tmp = match_string("|")
16158
+ unless _tmp
16159
+ self.pos = _save
16160
+ break
16161
+ end
16162
+ _text_start = self.pos
16163
+
16164
+ _save1 = self.pos
16165
+ while true # choice
16166
+
16167
+ _save2 = self.pos
16168
+ while true # sequence
16169
+ _save3 = self.pos
16170
+ _tmp = match_string("-")
16171
+ if _tmp
16172
+ while true
16173
+ _tmp = match_string("-")
16174
+ break unless _tmp
16175
+ end
16176
+ _tmp = true
16177
+ else
16178
+ self.pos = _save3
16179
+ end
16180
+ unless _tmp
16181
+ self.pos = _save2
16182
+ break
16183
+ end
16184
+ _save4 = self.pos
16185
+ _tmp = match_string(":")
16186
+ unless _tmp
16187
+ _tmp = true
16188
+ self.pos = _save4
16189
+ end
16190
+ unless _tmp
16191
+ self.pos = _save2
16192
+ end
16193
+ break
16194
+ end # end sequence
16195
+
16196
+ break if _tmp
16197
+ self.pos = _save1
16198
+
16199
+ _save5 = self.pos
16200
+ while true # sequence
16201
+ _tmp = match_string(":")
16202
+ unless _tmp
16203
+ self.pos = _save5
16204
+ break
16205
+ end
16206
+ while true
16207
+ _tmp = match_string("-")
16208
+ break unless _tmp
16209
+ end
16210
+ _tmp = true
16211
+ unless _tmp
16212
+ self.pos = _save5
16213
+ end
16214
+ break
16215
+ end # end sequence
16216
+
16217
+ break if _tmp
16218
+ self.pos = _save1
16219
+ break
16220
+ end # end choice
16221
+
16222
+ if _tmp
16223
+ text = get_text(_text_start)
16224
+ end
16225
+ unless _tmp
16226
+ self.pos = _save
16227
+ break
16228
+ end
16229
+ @result = begin; text.start_with?(":") ? :left :
16230
+ text.end_with?(":") ? :right : nil
16231
+ ; end
16232
+ _tmp = true
16233
+ unless _tmp
16234
+ self.pos = _save
16235
+ end
16236
+ break
16237
+ end # end sequence
16238
+
16239
+ set_failed_rule :_TableColumn unless _tmp
16240
+ return _tmp
16241
+ end
16242
+
15692
16243
  # DefinitionList = &{ definition_lists? } DefinitionListItem+:list { RDoc::Markup::List.new :NOTE, *list.flatten }
15693
16244
  def _DefinitionList
15694
16245
 
@@ -15888,17 +16439,17 @@ class RDoc::Markdown
15888
16439
  Rules = {}
15889
16440
  Rules[:_root] = rule_info("root", "Doc")
15890
16441
  Rules[:_Doc] = rule_info("Doc", "BOM? Block*:a { RDoc::Markup::Document.new(*a.compact) }")
15891
- Rules[:_Block] = rule_info("Block", "@BlankLine* (BlockQuote | Verbatim | CodeFence | Note | Reference | HorizontalRule | Heading | OrderedList | BulletList | DefinitionList | HtmlBlock | StyleBlock | Para | Plain)")
16442
+ Rules[:_Block] = rule_info("Block", "@BlankLine* (BlockQuote | Verbatim | CodeFence | Table | Note | Reference | HorizontalRule | Heading | OrderedList | BulletList | DefinitionList | HtmlBlock | StyleBlock | Para | Plain)")
15892
16443
  Rules[:_Para] = rule_info("Para", "@NonindentSpace Inlines:a @BlankLine+ { paragraph a }")
15893
16444
  Rules[:_Plain] = rule_info("Plain", "Inlines:a { paragraph a }")
15894
- Rules[:_AtxInline] = rule_info("AtxInline", "!@Newline !(@Sp? /\#*/ @Sp @Newline) Inline")
16445
+ Rules[:_AtxInline] = rule_info("AtxInline", "!@Newline !(@Sp /\#*/ @Sp @Newline) Inline")
15895
16446
  Rules[:_AtxStart] = rule_info("AtxStart", "< /\\\#{1,6}/ > { text.length }")
15896
- Rules[:_AtxHeading] = rule_info("AtxHeading", "AtxStart:s @Sp? AtxInline+:a (@Sp? /\#*/ @Sp)? @Newline { RDoc::Markup::Heading.new(s, a.join) }")
16447
+ Rules[:_AtxHeading] = rule_info("AtxHeading", "AtxStart:s @Sp AtxInline+:a (@Sp /\#*/ @Sp)? @Newline { RDoc::Markup::Heading.new(s, a.join) }")
15897
16448
  Rules[:_SetextHeading] = rule_info("SetextHeading", "(SetextHeading1 | SetextHeading2)")
15898
- Rules[:_SetextBottom1] = rule_info("SetextBottom1", "/={3,}/ @Newline")
15899
- Rules[:_SetextBottom2] = rule_info("SetextBottom2", "/-{3,}/ @Newline")
15900
- Rules[:_SetextHeading1] = rule_info("SetextHeading1", "&(@RawLine SetextBottom1) @StartList:a (!@Endline Inline:b { a << b })+ @Sp? @Newline SetextBottom1 { RDoc::Markup::Heading.new(1, a.join) }")
15901
- Rules[:_SetextHeading2] = rule_info("SetextHeading2", "&(@RawLine SetextBottom2) @StartList:a (!@Endline Inline:b { a << b })+ @Sp? @Newline SetextBottom2 { RDoc::Markup::Heading.new(2, a.join) }")
16449
+ Rules[:_SetextBottom1] = rule_info("SetextBottom1", "/={1,}/ @Newline")
16450
+ Rules[:_SetextBottom2] = rule_info("SetextBottom2", "/-{1,}/ @Newline")
16451
+ Rules[:_SetextHeading1] = rule_info("SetextHeading1", "&(@RawLine SetextBottom1) @StartList:a (!@Endline Inline:b { a << b })+ @Sp @Newline SetextBottom1 { RDoc::Markup::Heading.new(1, a.join) }")
16452
+ Rules[:_SetextHeading2] = rule_info("SetextHeading2", "&(@RawLine SetextBottom2) @StartList:a (!@Endline Inline:b { a << b })+ @Sp @Newline SetextBottom2 { RDoc::Markup::Heading.new(2, a.join) }")
15902
16453
  Rules[:_Heading] = rule_info("Heading", "(SetextHeading | AtxHeading)")
15903
16454
  Rules[:_BlockQuote] = rule_info("BlockQuote", "BlockQuoteRaw:a { RDoc::Markup::BlockQuote.new(*a) }")
15904
16455
  Rules[:_BlockQuoteRaw] = rule_info("BlockQuoteRaw", "@StartList:a (\">\" \" \"? Line:l { a << l } (!\">\" !@BlankLine Line:c { a << c })* (@BlankLine:n { a << n })*)+ { inner_parse a.join }")
@@ -16019,7 +16570,10 @@ class RDoc::Markdown
16019
16570
  Rules[:_HtmlBlockOpenScript] = rule_info("HtmlBlockOpenScript", "\"<\" Spnl (\"script\" | \"SCRIPT\") Spnl HtmlAttribute* \">\"")
16020
16571
  Rules[:_HtmlBlockCloseScript] = rule_info("HtmlBlockCloseScript", "\"<\" Spnl \"/\" (\"script\" | \"SCRIPT\") Spnl \">\"")
16021
16572
  Rules[:_HtmlBlockScript] = rule_info("HtmlBlockScript", "HtmlBlockOpenScript (!HtmlBlockCloseScript .)* HtmlBlockCloseScript")
16022
- Rules[:_HtmlBlockInTags] = rule_info("HtmlBlockInTags", "(HtmlAnchor | HtmlBlockAddress | HtmlBlockBlockquote | HtmlBlockCenter | HtmlBlockDir | HtmlBlockDiv | HtmlBlockDl | HtmlBlockFieldset | HtmlBlockForm | HtmlBlockH1 | HtmlBlockH2 | HtmlBlockH3 | HtmlBlockH4 | HtmlBlockH5 | HtmlBlockH6 | HtmlBlockMenu | HtmlBlockNoframes | HtmlBlockNoscript | HtmlBlockOl | HtmlBlockP | HtmlBlockPre | HtmlBlockTable | HtmlBlockUl | HtmlBlockDd | HtmlBlockDt | HtmlBlockFrameset | HtmlBlockLi | HtmlBlockTbody | HtmlBlockTd | HtmlBlockTfoot | HtmlBlockTh | HtmlBlockThead | HtmlBlockTr | HtmlBlockScript)")
16573
+ Rules[:_HtmlBlockOpenHead] = rule_info("HtmlBlockOpenHead", "\"<\" Spnl (\"head\" | \"HEAD\") Spnl HtmlAttribute* \">\"")
16574
+ Rules[:_HtmlBlockCloseHead] = rule_info("HtmlBlockCloseHead", "\"<\" Spnl \"/\" (\"head\" | \"HEAD\") Spnl \">\"")
16575
+ Rules[:_HtmlBlockHead] = rule_info("HtmlBlockHead", "HtmlBlockOpenHead (!HtmlBlockCloseHead .)* HtmlBlockCloseHead")
16576
+ Rules[:_HtmlBlockInTags] = rule_info("HtmlBlockInTags", "(HtmlAnchor | HtmlBlockAddress | HtmlBlockBlockquote | HtmlBlockCenter | HtmlBlockDir | HtmlBlockDiv | HtmlBlockDl | HtmlBlockFieldset | HtmlBlockForm | HtmlBlockH1 | HtmlBlockH2 | HtmlBlockH3 | HtmlBlockH4 | HtmlBlockH5 | HtmlBlockH6 | HtmlBlockMenu | HtmlBlockNoframes | HtmlBlockNoscript | HtmlBlockOl | HtmlBlockP | HtmlBlockPre | HtmlBlockTable | HtmlBlockUl | HtmlBlockDd | HtmlBlockDt | HtmlBlockFrameset | HtmlBlockLi | HtmlBlockTbody | HtmlBlockTd | HtmlBlockTfoot | HtmlBlockTh | HtmlBlockThead | HtmlBlockTr | HtmlBlockScript | HtmlBlockHead)")
16023
16577
  Rules[:_HtmlBlock] = rule_info("HtmlBlock", "< (HtmlBlockInTags | HtmlComment | HtmlBlockSelfClosing | HtmlUnclosed) > @BlankLine+ { if html? then RDoc::Markup::Raw.new text end }")
16024
16578
  Rules[:_HtmlUnclosed] = rule_info("HtmlUnclosed", "\"<\" Spnl HtmlUnclosedType Spnl HtmlAttribute* Spnl \">\"")
16025
16579
  Rules[:_HtmlUnclosedType] = rule_info("HtmlUnclosedType", "(\"HR\" | \"hr\")")
@@ -16029,15 +16583,15 @@ class RDoc::Markdown
16029
16583
  Rules[:_StyleClose] = rule_info("StyleClose", "\"<\" Spnl \"/\" (\"style\" | \"STYLE\") Spnl \">\"")
16030
16584
  Rules[:_InStyleTags] = rule_info("InStyleTags", "StyleOpen (!StyleClose .)* StyleClose")
16031
16585
  Rules[:_StyleBlock] = rule_info("StyleBlock", "< InStyleTags > @BlankLine* { if css? then RDoc::Markup::Raw.new text end }")
16032
- Rules[:_Inlines] = rule_info("Inlines", "(!@Endline Inline:i { i } | @Endline:c &Inline { c })+:chunks @Endline? { chunks }")
16033
- Rules[:_Inline] = rule_info("Inline", "(Str | @Endline | UlOrStarLine | @Space | Strong | Emph | Image | Link | NoteReference | InlineNote | Code | RawHtml | Entity | EscapedChar | Symbol)")
16586
+ Rules[:_Inlines] = rule_info("Inlines", "(!@Endline Inline:i { i } | @Endline:c !(&{ github? } Ticks3 /[^`\\n]*$/) &Inline { c })+:chunks @Endline? { chunks }")
16587
+ Rules[:_Inline] = rule_info("Inline", "(Str | @Endline | UlOrStarLine | @Space | Strong | Emph | Strike | Image | Link | NoteReference | InlineNote | Code | RawHtml | Entity | EscapedChar | Symbol)")
16034
16588
  Rules[:_Space] = rule_info("Space", "@Spacechar+ { \" \" }")
16035
16589
  Rules[:_Str] = rule_info("Str", "@StartList:a < @NormalChar+ > { a = text } (StrChunk:c { a << c })* { a }")
16036
16590
  Rules[:_StrChunk] = rule_info("StrChunk", "< (@NormalChar | /_+/ &Alphanumeric)+ > { text }")
16037
16591
  Rules[:_EscapedChar] = rule_info("EscapedChar", "\"\\\\\" !@Newline < /[:\\\\`|*_{}\\[\\]()\#+.!><-]/ > { text }")
16038
16592
  Rules[:_Entity] = rule_info("Entity", "(HexEntity | DecEntity | CharEntity):a { a }")
16039
16593
  Rules[:_Endline] = rule_info("Endline", "(@LineBreak | @TerminalEndline | @NormalEndline)")
16040
- Rules[:_NormalEndline] = rule_info("NormalEndline", "@Sp @Newline !@BlankLine !\">\" !AtxStart !(Line /={3,}|-{3,}=/ @Newline) { \"\\n\" }")
16594
+ Rules[:_NormalEndline] = rule_info("NormalEndline", "@Sp @Newline !@BlankLine !\">\" !AtxStart !(Line /={1,}|-{1,}/ @Newline) { \"\\n\" }")
16041
16595
  Rules[:_TerminalEndline] = rule_info("TerminalEndline", "@Sp @Newline @Eof")
16042
16596
  Rules[:_LineBreak] = rule_info("LineBreak", "\" \" @NormalEndline { RDoc::Markup::HardBreak.new }")
16043
16597
  Rules[:_Symbol] = rule_info("Symbol", "< @SpecialChar > { text }")
@@ -16045,27 +16599,21 @@ class RDoc::Markdown
16045
16599
  Rules[:_StarLine] = rule_info("StarLine", "(< /\\*{4,}/ > { text } | < @Spacechar /\\*+/ &@Spacechar > { text })")
16046
16600
  Rules[:_UlLine] = rule_info("UlLine", "(< /_{4,}/ > { text } | < @Spacechar /_+/ &@Spacechar > { text })")
16047
16601
  Rules[:_Emph] = rule_info("Emph", "(EmphStar | EmphUl)")
16048
- Rules[:_OneStarOpen] = rule_info("OneStarOpen", "!StarLine \"*\" !@Spacechar !@Newline")
16049
- Rules[:_OneStarClose] = rule_info("OneStarClose", "!@Spacechar !@Newline Inline:a \"*\" { a }")
16050
- Rules[:_EmphStar] = rule_info("EmphStar", "OneStarOpen @StartList:a (!OneStarClose Inline:l { a << l })* OneStarClose:l { a << l } { emphasis a.join }")
16051
- Rules[:_OneUlOpen] = rule_info("OneUlOpen", "!UlLine \"_\" !@Spacechar !@Newline")
16052
- Rules[:_OneUlClose] = rule_info("OneUlClose", "!@Spacechar !@Newline Inline:a \"_\" { a }")
16053
- Rules[:_EmphUl] = rule_info("EmphUl", "OneUlOpen @StartList:a (!OneUlClose Inline:l { a << l })* OneUlClose:l { a << l } { emphasis a.join }")
16602
+ Rules[:_Whitespace] = rule_info("Whitespace", "(@Spacechar | @Newline)")
16603
+ Rules[:_EmphStar] = rule_info("EmphStar", "\"*\" !@Whitespace @StartList:a (!\"*\" Inline:b { a << b } | StrongStar:b { a << b })+ \"*\" { emphasis a.join }")
16604
+ Rules[:_EmphUl] = rule_info("EmphUl", "\"_\" !@Whitespace @StartList:a (!\"_\" Inline:b { a << b } | StrongUl:b { a << b })+ \"_\" { emphasis a.join }")
16054
16605
  Rules[:_Strong] = rule_info("Strong", "(StrongStar | StrongUl)")
16055
- Rules[:_TwoStarOpen] = rule_info("TwoStarOpen", "!StarLine \"**\" !@Spacechar !@Newline")
16056
- Rules[:_TwoStarClose] = rule_info("TwoStarClose", "!@Spacechar !@Newline Inline:a \"**\" { a }")
16057
- Rules[:_StrongStar] = rule_info("StrongStar", "TwoStarOpen @StartList:a (!TwoStarClose Inline:l { a << l })* TwoStarClose:l { a << l } { strong a.join }")
16058
- Rules[:_TwoUlOpen] = rule_info("TwoUlOpen", "!UlLine \"__\" !@Spacechar !@Newline")
16059
- Rules[:_TwoUlClose] = rule_info("TwoUlClose", "!@Spacechar !@Newline Inline:a \"__\" { a }")
16060
- Rules[:_StrongUl] = rule_info("StrongUl", "TwoUlOpen @StartList:a (!TwoUlClose Inline:i { a << i })* TwoUlClose:l { a << l } { strong a.join }")
16606
+ Rules[:_StrongStar] = rule_info("StrongStar", "\"**\" !@Whitespace @StartList:a (!\"**\" Inline:b { a << b })+ \"**\" { strong a.join }")
16607
+ Rules[:_StrongUl] = rule_info("StrongUl", "\"__\" !@Whitespace @StartList:a (!\"__\" Inline:b { a << b })+ \"__\" { strong a.join }")
16608
+ Rules[:_Strike] = rule_info("Strike", "&{ strike? } \"~~\" !@Whitespace @StartList:a (!\"~~\" Inline:b { a << b })+ \"~~\" { strike a.join }")
16061
16609
  Rules[:_Image] = rule_info("Image", "\"!\" (ExplicitLink | ReferenceLink):a { \"rdoc-image:\#{a[/\\[(.*)\\]/, 1]}\" }")
16062
16610
  Rules[:_Link] = rule_info("Link", "(ExplicitLink | ReferenceLink | AutoLink)")
16063
16611
  Rules[:_ReferenceLink] = rule_info("ReferenceLink", "(ReferenceLinkDouble | ReferenceLinkSingle)")
16064
16612
  Rules[:_ReferenceLinkDouble] = rule_info("ReferenceLinkDouble", "Label:content < Spnl > !\"[]\" Label:label { link_to content, label, text }")
16065
16613
  Rules[:_ReferenceLinkSingle] = rule_info("ReferenceLinkSingle", "Label:content < (Spnl \"[]\")? > { link_to content, content, text }")
16066
- Rules[:_ExplicitLink] = rule_info("ExplicitLink", "Label:l Spnl \"(\" @Sp Source:s Spnl Title @Sp \")\" { \"{\#{l}}[\#{s}]\" }")
16614
+ Rules[:_ExplicitLink] = rule_info("ExplicitLink", "Label:l \"(\" @Sp Source:s Spnl Title @Sp \")\" { \"{\#{l}}[\#{s}]\" }")
16067
16615
  Rules[:_Source] = rule_info("Source", "(\"<\" < SourceContents > \">\" | < SourceContents >) { text }")
16068
- Rules[:_SourceContents] = rule_info("SourceContents", "(((!\"(\" !\")\" !\">\" Nonspacechar)+ | \"(\" SourceContents \")\")* | \"\")")
16616
+ Rules[:_SourceContents] = rule_info("SourceContents", "((!\"(\" !\")\" !\">\" Nonspacechar)+ | \"(\" SourceContents \")\")*")
16069
16617
  Rules[:_Title] = rule_info("Title", "(TitleSingle | TitleDouble | \"\"):a { a }")
16070
16618
  Rules[:_TitleSingle] = rule_info("TitleSingle", "\"'\" (!(\"'\" @Sp (\")\" | @Newline)) .)* \"'\"")
16071
16619
  Rules[:_TitleDouble] = rule_info("TitleDouble", "\"\\\"\" (!(\"\\\"\" @Sp (\")\" | @Newline)) .)* \"\\\"\"")
@@ -16097,14 +16645,13 @@ class RDoc::Markdown
16097
16645
  Rules[:_Nonspacechar] = rule_info("Nonspacechar", "!@Spacechar !@Newline .")
16098
16646
  Rules[:_Sp] = rule_info("Sp", "@Spacechar*")
16099
16647
  Rules[:_Spnl] = rule_info("Spnl", "@Sp (@Newline @Sp)?")
16100
- Rules[:_SpecialChar] = rule_info("SpecialChar", "(/[*_`&\\[\\]()<!\#\\\\'\"]/ | @ExtendedSpecialChar)")
16648
+ Rules[:_SpecialChar] = rule_info("SpecialChar", "(/[~*_`&\\[\\]()<!\#\\\\'\"]/ | @ExtendedSpecialChar)")
16101
16649
  Rules[:_NormalChar] = rule_info("NormalChar", "!(@SpecialChar | @Spacechar | @Newline) .")
16102
16650
  Rules[:_Digit] = rule_info("Digit", "[0-9]")
16103
16651
  Rules[:_Alphanumeric] = rule_info("Alphanumeric", "%literals.Alphanumeric")
16104
16652
  Rules[:_AlphanumericAscii] = rule_info("AlphanumericAscii", "%literals.AlphanumericAscii")
16105
16653
  Rules[:_BOM] = rule_info("BOM", "%literals.BOM")
16106
16654
  Rules[:_Newline] = rule_info("Newline", "%literals.Newline")
16107
- Rules[:_NonAlphanumeric] = rule_info("NonAlphanumeric", "%literals.NonAlphanumeric")
16108
16655
  Rules[:_Spacechar] = rule_info("Spacechar", "%literals.Spacechar")
16109
16656
  Rules[:_HexEntity] = rule_info("HexEntity", "/&\#x/i < /[0-9a-fA-F]+/ > \";\" { [text.to_i(16)].pack 'U' }")
16110
16657
  Rules[:_DecEntity] = rule_info("DecEntity", "\"&\#\" < /[0-9]+/ > \";\" { [text.to_i].pack 'U' }")
@@ -16121,10 +16668,15 @@ class RDoc::Markdown
16121
16668
  Rules[:_NoteReference] = rule_info("NoteReference", "&{ notes? } RawNoteReference:ref { note_for ref }")
16122
16669
  Rules[:_RawNoteReference] = rule_info("RawNoteReference", "\"[^\" < (!@Newline !\"]\" .)+ > \"]\" { text }")
16123
16670
  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 }")
16124
- Rules[:_InlineNote] = rule_info("InlineNote", "&{ notes? } \"^[\" @StartList:a (!\"]\" Inline:l { a << l })+ \"]\" { ref = [:inline, @note_order.length] @footnotes[ref] = paragraph a note_for ref }")
16671
+ Rules[:_InlineNote] = rule_info("InlineNote", "&{ notes? } \"^[\" @StartList:a (!\"]\" Inline:l { a << l })+ \"]\" { ref = [:inline, @note_order.length] @footnotes[ref] = paragraph a note_for ref }")
16125
16672
  Rules[:_Notes] = rule_info("Notes", "(Note | SkipBlock)*")
16126
16673
  Rules[:_RawNoteBlock] = rule_info("RawNoteBlock", "@StartList:a (!@BlankLine OptionallyIndentedLine:l { a << l })+ < @BlankLine* > { a << text } { a }")
16127
- 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 verbatim }")
16674
+ 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 }")
16675
+ Rules[:_Table] = rule_info("Table", "&{ github? } TableRow:header TableLine:line TableRow+:body { table = RDoc::Markup::Table.new(header, line, body) }")
16676
+ Rules[:_TableRow] = rule_info("TableRow", "TableItem+:row \"|\" @Newline { row }")
16677
+ Rules[:_TableItem] = rule_info("TableItem", "\"|\" < (!\"|\" !@Newline .)+ > { text.strip }")
16678
+ Rules[:_TableLine] = rule_info("TableLine", "TableColumn+:line \"|\" @Newline { line }")
16679
+ Rules[:_TableColumn] = rule_info("TableColumn", "\"|\" < (\"-\"+ \":\"? | \":\" \"-\"*) > { text.start_with?(\":\") ? :left : text.end_with?(\":\") ? :right : nil }")
16128
16680
  Rules[:_DefinitionList] = rule_info("DefinitionList", "&{ definition_lists? } DefinitionListItem+:list { RDoc::Markup::List.new :NOTE, *list.flatten }")
16129
16681
  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 }")
16130
16682
  Rules[:_DefinitionListLabel] = rule_info("DefinitionListLabel", "StrChunk:label @Sp @Newline { label }")