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

Discussion

The default resolution a parser generator applies to a shift-reduce conflict is

  • A.to shift, which realises the nearest if rule for the dangling else
  • B.to reduce, which always yields the smaller parse tree
  • C.to use whichever of the productions appears first in the grammar file
  • D.to refuse to generate a parser until the conflict is removed

Answer: A

Correct answer: to shift, which realises the nearest if rule for the dangling else

Generators resolve shift-reduce conflicts in favour of shifting and usually report the count without stopping. For the dangling else this gives exactly the conventional interpretation, binding each else to the nearest unmatched if - which is why languages with this ambiguity are parsed successfully by generated parsers every day.

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

Post your comment

Please log in or register to post a comment.