docs: def placeholder_symbol_table(name, version, max_id):
      """Constructs a shared symbol table that consists symbols that all have no known text.
  
      This is generally used for cases where a shared symbol table is not available by the
      application.
  
      Args:
          name (unicode): The name of the shared symbol table.
          version (int): The version of the shared symbol table.
          max_id (int): The maximum ID allocated by this symbol table, must be ``>= 0``
  
      Returns:
          SymbolTable: The synthesized table.
      """
      if version <= 0:
          raise ValueError('Version must be grater than or equal to 1: %s' % version)
      if max_id < 0:
          raise ValueError('Max ID must be zero or positive: %s' % max_id)
  
      return SymbolTable(
          table_type=SHARED_TABLE_TYPE,
          symbols=repeat(None, max_id),
          name=name,
          version=version,
          is_substitute=True
      )