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:
List interpreter features: immediate execution; no permanent object file.Compare with compiler features: ahead-of-time object/executable generation.Identify the mismatched statement: generating an object program.Select option that is therefore not true for interpreters.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