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

Discussion

Backpatching in a syntax directed translation is used because

  • A.the parser must be able to reduce without consulting the lookahead
  • B.the destination of a jump is not known when the jump is emitted
  • C.the semantic rules are evaluated in an unpredictable order
  • D.the grammar cannot be made unambiguous by any transformation

Answer: B

Correct answer: the destination of a jump is not known when the jump is emitted

Translating a conditional or a loop in one pass means emitting the jump before the code it jumps over has been generated, so the destination cannot yet be known. The jump is emitted with the field blank, its position is recorded on a list, and the list is patched when the label is finally reached.

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

Post your comment

Please log in or register to post a comment.