[前][次][番号順一覧][スレッド一覧]

ruby-changes:73878

From: Nobuyoshi <ko1@a...>
Date: Thu, 6 Oct 2022 23:23:33 +0900 (JST)
Subject: [ruby-changes:73878] f6c916c7ef (master): [ruby/rdoc] Allow leading pipes to be ommitted

https://git.ruby-lang.org/ruby.git/commit/?id=f6c916c7ef

From f6c916c7ef546b5ed59ac5ca5f5a0a547accdf3c Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
Date: Thu, 6 Oct 2022 17:12:09 +0900
Subject: [ruby/rdoc] Allow leading pipes to be ommitted

https://github.com/ruby/rdoc/commit/d263a2c9c4
---
 lib/rdoc/markdown.rb            | 291 +++++++++++++++++++++++++++-------------
 test/rdoc/test_rdoc_markdown.rb |   6 +-
 2 files changed, 204 insertions(+), 93 deletions(-)

diff --git a/lib/rdoc/markdown.rb b/lib/rdoc/markdown.rb
index 1149359927..aa7b1b800c 100644
--- a/lib/rdoc/markdown.rb
+++ b/lib/rdoc/markdown.rb
@@ -15910,7 +15910,7 @@ class RDoc::Markdown https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markdown.rb#L15910
     return _tmp
   end
 
-  # Table = &{ github? } TableRow:header TableLine:line TableRow+:body { table = RDoc::Markup::Table.new(header, line, body) }
+  # Table = &{ github? } TableHead:header TableLine:line TableRow+:body { table = RDoc::Markup::Table.new(header, line, body) }
   def _Table
 
     _save = self.pos
@@ -15922,7 +15922,7 @@ class RDoc::Markdown https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markdown.rb#L15922
         self.pos = _save
         break
       end
-      _tmp = apply(:_TableRow)
+      _tmp = apply(:_TableHead)
       header = @result
       unless _tmp
         self.pos = _save
@@ -15966,18 +15966,18 @@ class RDoc::Markdown https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markdown.rb#L15966
     return _tmp
   end
 
-  # TableRow = TableItem+:row "|"? @Newline { row }
-  def _TableRow
+  # TableHead = TableItem2+:items "|"? @Newline { items }
+  def _TableHead
 
     _save = self.pos
     while true # sequence
       _save1 = self.pos
       _ary = []
-      _tmp = apply(:_TableItem)
+      _tmp = apply(:_TableItem2)
       if _tmp
         _ary << @result
         while true
-          _tmp = apply(:_TableItem)
+          _tmp = apply(:_TableItem2)
           _ary << @result if _tmp
           break unless _tmp
         end
@@ -15986,7 +15986,7 @@ class RDoc::Markdown https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markdown.rb#L15986
       else
         self.pos = _save1
       end
-      row = @result
+      items = @result
       unless _tmp
         self.pos = _save
         break
@@ -16006,6 +16006,99 @@ class RDoc::Markdown https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markdown.rb#L16006
         self.pos = _save
         break
       end
+      @result = begin;  items ; end
+      _tmp = true
+      unless _tmp
+        self.pos = _save
+      end
+      break
+    end # end sequence
+
+    set_failed_rule :_TableHead unless _tmp
+    return _tmp
+  end
+
+  # TableRow = ((TableItem:item1 TableItem2*:items { [item1, *items] }):row | TableItem2+:row) "|"? @Newline { row }
+  def _TableRow
+
+    _save = self.pos
+    while true # sequence
+
+      _save1 = self.pos
+      while true # choice
+
+        _save2 = self.pos
+        while true # sequence
+          _tmp = apply(:_TableItem)
+          item1 = @result
+          unless _tmp
+            self.pos = _save2
+            break
+          end
+          _ary = []
+          while true
+            _tmp = apply(:_TableItem2)
+            _ary << @result if _tmp
+            break unless _tmp
+          end
+          _tmp = true
+          @result = _ary
+          items = @result
+          unless _tmp
+            self.pos = _save2
+            break
+          end
+          @result = begin;  [item1, *items] ; end
+          _tmp = true
+          unless _tmp
+            self.pos = _save2
+          end
+          break
+        end # end sequence
+
+        row = @result
+        break if _tmp
+        self.pos = _save1
+        _save4 = self.pos
+        _ary = []
+        _tmp = apply(:_TableItem2)
+        if _tmp
+          _ary << @result
+          while true
+            _tmp = apply(:_TableItem2)
+            _ary << @result if _tmp
+            break unless _tmp
+          end
+          _tmp = true
+          @result = _ary
+        else
+          self.pos = _save4
+        end
+        row = @result
+        break if _tmp
+        self.pos = _save1
+        break
+      end # end choice
+
+      unless _tmp
+        self.pos = _save
+        break
+      end
+      _save5 = self.pos
+      _tmp = match_string("|")
+      unless _tmp
+        _tmp = true
+        self.pos = _save5
+      end
+      unless _tmp
+        self.pos = _save
+        break
+      end
+      _tmp = _Newline()
+      unless _tmp
+        self.pos = _save
+        break
+      end
       @result = begin;  row ; end
       _tmp = true
       unless _tmp
@@ -16018,8 +16111,8 @@ class RDoc::Markdown https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markdown.rb#L16111
     return _tmp
   end
 
-  # TableItem = "|" < (!"|" !@Newline .)+ > { text.strip }
-  def _TableItem
+  # TableItem2 = "|" TableItem
+  def _TableItem2
 
     _save = self.pos
     while true # sequence
@@ -16028,6 +16121,22 @@ class RDoc::Markdown https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markdown.rb#L16121
         self.pos = _save
         break
       end
+      _tmp = apply(:_TableItem)
+      unless _tmp
+        self.pos = _save
+      end
+      break
+    end # end sequence
+
+    set_failed_rule :_TableItem2 unless _tmp
+    return _tmp
+  end
+
+  # TableItem = < (!"|" !@Newline .)+ > { text.strip }
+  def _TableItem
+
+    _save = self.pos
+    while true # sequence
       _text_start = self.pos
       _save1 = self.pos
 
@@ -16109,36 +16218,77 @@ class RDoc::Markdown https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markdown.rb#L16218
     return _tmp
   end
 
-  # TableLine = TableColumn+:line "|"? @Newline { line }
+  # TableLine = ((TableAlign:align1 TableAlign2*:aligns {[align1, *aligns] }):line | TableAlign2+:line) "|"? @Newline { line }
   def _TableLine
 
     _save = self.pos
     while true # sequence
+
       _save1 = self.pos
-      _ary = []
-      _tmp = apply(:_TableColumn)
-      if _tmp
-        _ary << @result
-        while true
-          _tmp = apply(:_TableColumn)
-          _ary << @result if _tmp
-          break unless _tmp
+      while true # choice
+
+        _save2 = self.pos
+        while true # sequence
+          _tmp = apply(:_TableAlign)
+          align1 = @result
+          unless _tmp
+            self.pos = _save2
+            break
+          end
+          _ary = []
+          while true
+            _tmp = apply(:_TableAlign2)
+            _ary << @result if _tmp
+            break unless _tmp
+          end
+          _tmp = true
+          @result = _ary
+          aligns = @result
+          unless _tmp
+            self.pos = _save2
+            break
+          end
+          @result = begin; [align1, *aligns] ; end
+          _tmp = true
+          unless _tmp
+            self.pos = _save2
+          end
+          break
+        end # end sequence
+
+        line = @result
+        break if _tmp
+        self.pos = _save1
+        _save4 = self.pos
+        _ary = []
+        _tmp = apply(:_TableAlign2)
+        if _tmp
+          _ary << @result
+          while true
+            _tmp = apply(:_TableAlign2)
+            _ary << @result if _tmp
+            break unless _tmp
+          end
+          _tmp = true
+          @result = _ary
+        else
+          self.pos = _save4
         end
-        _tmp = true
-        @result = _ary
-      else
+        line = @result
+        break if _tmp
         self.pos = _save1
-      end
-      line = @result
+        break
+      end # end choice
+
       unless _tmp
         self.pos = _save
         break
       end
-      _save2 = self.pos
+      _save5 = self.pos
       _tmp = match_string("|")
       unless _tmp
         _tmp = true
-        self.pos = _save2
+        self.pos = _save5
       end
       unless _tmp
         self.pos = _save
@@ -16161,8 +16311,8 @@ class RDoc::Markdown https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markdown.rb#L16311
     return _tmp
   end
 
-  # TableColumn = "|" < ("-"+ ":"? | ":" "-"*) > { text.start_with?(":") ? :left :                 text.end_with?(":") ? :right : nil               }
-  def _TableColumn
+  # TableAlign2 = "|" TableAlign
+  def _TableAlign2
 
     _save = self.pos
     while true # sequence
@@ -16171,66 +16321,24 @@ class RDoc::Markdown https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markdown.rb#L16321
         self.pos = _save
         break
       end
-      _text_start = self.pos
-
-      _save1 = self.pos
-      while true # choice
-
-        _save2 = self.pos
-        while true # sequence
-          _save3 = self.pos
-          _tmp = match_string("-")
-          if _tmp
-            while true
-              _tmp = match_string("-")
-              break unless _tmp
-            end
-            _tmp = true
-          else
-            self.pos = _save3
-          end
-          unless _tmp
-            self.pos = _save2
-            break
-          end
-          _save4 = self.pos
-          _tmp = match_string(":")
-          unless _tmp
-            _tmp = true
-            self.pos = _save4
-          end
-          unless _tmp
-            self.pos = _save2
-          end
-          break
-        end # end sequence
-
-        break if _tmp
-        self.pos = _save1
+      _tmp = apply(:_TableAlign)
+      unless _tmp
+        self.pos = _save
+      end
+      break
+    end # end sequence
 
-        _save5 = self.pos
-        while true # sequence
-          _tmp = match_string(":")
-          unless _tmp
-            self.pos = _save5
-            break
-          end
-          while true
-            _tmp = match_string("-")
-            break unless _tmp
-          end
-          _tmp = true
-          unless _tmp
-            self.pos = _save5
-          end
-          break
-        end # end sequence
+    set_failed_rule :_TableAlign2 unless _tmp
+    return _tmp
+  end
 
-        break if _tmp
-        self.pos = _save1
-        break
-      end # end choice
+  # TableAlign = < (... truncated)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]