class RDoc::Markdown

def _TableLine

TableLine = ((TableAlign:align1 TableAlign2*:aligns {[align1, *aligns] }):line | TableAlign2+:line) "|"? @Newline { line }
def _TableLine
  _save = self.pos
  while true # sequence
    _save1 = self.pos
    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
      line = @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;  line ; end
    _tmp = true
    unless _tmp
      self.pos = _save
    end
    break
  end # end sequence
  set_failed_rule :_TableLine unless _tmp
  return _tmp
end