Difficulty: Easy
Correct Answer: Interpreter generates an object program from the source program
Explanation:
Introduction / Context:
Programming language translators come in two classic forms: compilers and interpreters. Distinguishing their behaviors helps developers anticipate performance, deployment, and debugging workflows.
Given Data / Assumptions:
Concept / Approach:
Interpreters are translators that process statements at runtime. They typically do not produce standalone object modules. Instead, they analyze (parse) and execute each statement when needed, often re-analyzing on each run unless caching is used. Therefore, the claim that an interpreter “generates an object program” is false for a pure interpreter.
Step-by-Step Solution:
Verification / Alternative check:
Language docs (e.g., Python, Ruby) confirm that typical workflows run source directly via an interpreter; compiled languages (C/C++) produce .o/.obj files then link.
Why Other Options Are Wrong:
Interpreter is a translator: true. Analyzes each statement for execution: characterization of interpretation. All of the above: cannot be true because option A is false.
Common Pitfalls:
Confusing bytecode-producing interpreters with compilers; even then, a separate linkable object program is not typically produced.
Final Answer:
Interpreter generates an object program from the source program
Discussion & Comments