Given the following parser table, state of the stack, and input string, if you were to read in the next symbol, what action would you take?
Tip: Recall that when representing how much of an input string we've read, everything BEFORE the . represents what we have already read in, and everything AFTER the . represents what we haven't seen yet.
https://auburn.instructure.com/users/3217732/files/145874087/preview?verifier=2Y542Vg2veIbYha0R5e85aYxF2A4gAeOrFnR0AfG
input: . id + id $
Stack: 0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(A) add id to the stack,
add 1 to the stack,
advance the input string so that the . is after the first id symbol,
transition to state 1,
reduce by rule 3,
and pop one pair of symbols off the stack.
(B) add id to the stack
advance the input string so that the . is after the first id symbol,
and reduce by rule 3.
(C) add id to the stack,
advance the input string so that the . is after the first id symbol,
reduce by rule 3,
and pop one pair of symbols off the stack.
(D) add id to the stack,
advance the input string so that the . is after the first id symbol,
transition to state 1,
and print 3 for your parse trace.