docs: def numeric(columns, name=None):
      """
      Creates the grammar for a Numeric (N) field, accepting only the specified
      number of characters.
  
      This version only allows integers.
  
      :param columns: number of columns for this field
      :param name: name for the field
      :return: grammar for the integer numeric field
      """
  
      if name is None:
          name = 'Numeric Field'
  
      if columns <= 0:
          # Can't be empty or have negative size
          raise BaseException()
  
      # Only numbers are accepted
      field = pp.Regex('[0-9]{' + str(columns) + '}')
  
      # Parse action
      field.setParseAction(_to_int)
      field.leaveWhitespace()
  
      # Name
      field.setName(name)
  
      return field