def parse_nl
      s0 = @current_pos
      s1 = match_str("\r")
      s1 = nil if s1 == :failed
      s2 = match_str("\n")
      if s2 != :failed
        s0 = [s1, s2]
      else
        @current_pos = s0
        s0 = :failed
      end
      if s0 == :failed
        s0 = @current_pos
        s1 = match_spaces
        s2 = match_str(",")
        if s2 != :failed
          s0 = [s1, s2]
        else
          @current_pos = s0
          s0 = :failed
        end
      end
      s0
    end
def parse_nl
      s0 = @current_pos
      s1 = match_str("\r")
      s1 = nil if s1 == :failed
      s2 = match_str("\n")
      if s2 != :failed
        s0 = [s1, s2]
      else
        @current_pos = s0
        s0 = :failed
      end
      if s0 == :failed
        s0 = @current_pos
        s1 = match_spaces
        s2 = match_str(",")
        if s2 != :failed
          s0 = [s1, s2]
        else
          @current_pos = s0
          s0 = :failed
        end
      end
      s0
    end
nl : ("\r"? "\n") | " "* ","