Machine-translated by Google. Questions are authored in English.
Top

Discussion

Grouping several phases into one pass is done chiefly to

  • A.reduce the input and output cost of writing intermediate forms
  • B.guarantee that no errors will escape detection by the compiler
  • C.allow each phase to be written in a different programming language
  • D.make it possible to compile programs of unlimited size

Answer: A

Correct answer: reduce the input and output cost of writing intermediate forms

Each pass boundary means writing a representation out and reading it back, which historically dominated compilation time on machines with little memory.

Folding phases together lets one phase's output be handed directly to the next, often a token or a tree node at a time. The constraint is the language: a single pass requires that everything needed be known when it is first encountered, which is why declaration-before-use rules make single-pass compilation feasible.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.