(D) A Symbol Table in programming is used for:
Checking Type Compatibility: The symbol table stores the data type of identifiers, which is used during semantic analysis to check if the expressions and assignments are semantically correct.
Suppressing Duplication of Error Messages: Symbol tables can help in managing errors. For instance, if a variable is declared twice, the symbol table can help detect this error and suppress duplicate error messages.
Storage Allocation: The symbol table can store information about the memory locations of identifiers, which can be used for storage allocation