Difficulty: Medium
Correct Answer: a permanent table which lists all key words and special symbols of the language in symbolic form.
Explanation:
Introduction / Context:
Language translators use several auxiliary tables to manage symbols and grammar elements. Knowing the purpose of each—terminal, identifier, and literal tables—clarifies how compilers parse and analyze source code.
Given Data / Assumptions:
Concept / Approach:
The Terminal Table is a permanent catalog of the language’s terminal symbols—keywords and special symbols—typically fixed for a language definition. In contrast, a Literal Table stores constants encountered in a program, and an Identifier Table lists user-defined names. Parsing tables (decision tables) are separate automaton artifacts used during syntax analysis.
Step-by-Step Solution:
Verification / Alternative check:
Compiler design texts separate terminal/identifier/literal tables clearly; lexer uses the terminal table to recognize keywords and operators.
Why Other Options Are Wrong:
Constants only: describes a literal table. Decision rules/patterns: describes parsing tables, not terminals. Token list as they appear: describes a token stream or symbol table for a specific program.
Common Pitfalls:
Confusing the general language dictionary (terminals) with a program’s symbol inventory (identifiers and literals).
Final Answer:
a permanent table which lists all key words and special symbols of the language in symbolic form.
Discussion & Comments