help-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How do lexical tie-ins work?


From: Martin Alexander David Neumann
Subject: Re: How do lexical tie-ins work?
Date: Fri, 23 Apr 2010 21:28:06 +0200
User-agent: Thunderbird 2.0.0.23 (X11/20091214)

Hi Zach,

please correct me if I am wrong, but I think that a parser generated by
bison does not use the look-ahead symbol to decide when to reduce. I
suppose, that when the right-hand side of a production has been pushed
onto the stack, the parser recognizes this and reduces. (If there would
be a look-ahead in this situation that could be shifted instead of
reduced, there is a shift/reduce conflict present.)

I am also unsure what you mean by that the parser checks the lookahead
and than may shift a different token. I guess the parser calls the
scanner only once for each token and in this moment the scanner may look
at a variable set by the parser and decide which token to return.

In case of [1]: I suppose that bison pushes for example HEX ( onto the
stack and recognizes that it is time to reduce. Now the semantic action
sets the variable and the new context for the next scanner-call is well
defined.

Cheers, Alex

Zachary Carter wrote:
> I'm curious on how Bison's algorithm works wrt lexical tie-ins[1]. The
> situation appears to me as a bit of a catch-22. The parser checks the
> lookahead token to decide when to reduce (right?) but the semantic action
> may alter the scanner so that the next token shifted is actually different
> than what the lookahead token had been. It seems counter intuitive, but is
> that really how it works?
> 
> [1]: http://www.gnu.org/software/bison/manual/bison.html#Lexical-Tie_002dins




reply via email to

[Prev in Thread] Current Thread [Next in Thread]