Language translators in software engineering A program that reads an entire source file written in a high-level language and produces machine code is called a:

Difficulty: Easy

Correct Answer: compiler

Explanation:


Introduction / Context:
Understanding how source code becomes executable is foundational for both software and IT professionals. Translators include assemblers, compilers, and interpreters, each with distinct roles and workflows.



Given Data / Assumptions:

  • Source language is a high-level language (e.g., C, C++, Pascal, Rust).
  • Output is machine code (object files or an executable binary).
  • The process consumes the entire program rather than executing line-by-line.


Concept / Approach:

A compiler translates high-level source code into machine code, often generating intermediate representation and object files which are then linked. Assemblers convert assembly language (low-level mnemonic form) into machine code. Interpreters execute high-level code statements directly without producing a standalone machine binary.



Step-by-Step Solution:

Identify the input: high-level language source.Identify the output: machine language program.Match to the translator type: compiler.


Verification / Alternative check:

Toolchains like GCC/Clang (compilers) read the entire translation unit, emit object code, and link to produce executables, matching the definition.



Why Other Options Are Wrong:

Assembler works from assembly, not high-level languages. “Translator” is too generic and not a specific tool class. “System software” is a category (OS, drivers), not a translator.



Common Pitfalls:

Mixing up compiler vs interpreter; overlooking JIT compilers that compile at runtime but still compile rather than interpret line-by-line semantics.



Final Answer:

compiler.

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion