Hans,

>At 20:41 +0000 2005/03/03, Derek M Jones wrote:
>>The statement (y)+z can be parsed as casting
>>+z to the type y, or as adding y to z.  A couple of
>>%dprecs solve this problem (I think the cast is the
>>common case for - and a binary expression for +).
>
>The normal way to resolve this would be to let the lexer check the lookup
>table to see what y is: a type or a number identifier, and then return that
>type. WHy does this not work for you.

Because I don't have a symbol table to look things up in.
Perhaps I should have pointed this out (it also answers
Frank Heckenbach's question).  When parsing the visible
source (ie not doing any preprocessing; well apart from
ignoring the directives) a statement/declaration at a time
the content of a symbol table are likely to be very incomplete.

>The commands %left and %right handles left and right associativity.

Good alternative suggestion.  But this still requires tree rewriting
after the expression has been parsed.  My %gooa option proposal
avoids this grammar violence.

derek

--
Derek M Jones                                     tel: +44 (0) 1252 520 667
Knowledge Software Ltd                         mailto:[EMAIL PROTECTED]
Applications Standards Conformance Testing   http://www.knosof.co.uk




_______________________________________________
Help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison

Reply via email to