module Cucumber::Parser::Table

def _nt_table

def _nt_table
  start_index = index
  if node_cache[:table].has_key?(index)
    cached = node_cache[:table][index]
    if cached
      cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
      @index = cached.interval.end
    end
    return cached
  end
  s0, i0 = [], index
  loop do
    r1 = _nt_table_row
    if r1
      s0 << r1
    else
      break
    end
  end
  if s0.empty?
    @index = i0
    r0 = nil
  else
    r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
    r0.extend(Table0)
  end
  node_cache[:table][start_index] = r0
  r0
end