Interpreter characteristics: Which statement is NOT true about an interpreter when compared with a compiler?
-
AInterpreter generates an object program from the source program
-
BInterpreter is a kind of translator
-
CInterpreter analyses each source statement every time it is to be executed
-
DAll of the above
-
ENone of the above
Answer
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:
- An interpreter executes source statements directly or via a transient internal form.
- A compiler emits a separate object or executable file before execution.
- We seek the statement that is not true for interpreters.
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