At 12:46 -0800 2005/02/28, Soumitra Kumar wrote: >Following is a sample grammar. There is one r/r >conflict. > >% cat test.y >%token YYID YYDOT >%% >identifier : hier_id > ; >hier_id : simple_id > | hier_id opt_select YYDOT simple_id > ; >opt_select : > | opt_select '[' expr ']' > ; > >simple_id : YYID ; >expr : hier_id > | function_call > ; >function_call : expr YYDOT YYID > ; >% bison -r all -v test.y -g >test.y: conflicts: 1 reduce/reduce > >>From test.output: >state 10 > > 3 hier_id: hier_id . opt_select YYDOT simple_id > 4 opt_select: . [YYDOT, '['] > 5 | . opt_select '[' expr ']' > 7 expr: hier_id . [YYDOT, ']'] > > YYDOT reduce using rule 4 (opt_select) > YYDOT [reduce using rule 7 (expr)] > >YYDOT is in the lookahead set of rule 7 (expr: >hier_id) because of rule 9 (function_call: expr YYDOT >YYID). > >If nonterminal expr is used is many rules, it gets >difficult to find out which usage is causing problem. > >Basically I want to annotate the rules responsible for >a lookahead token as follows. > >state 10 > > 3 hier_id: hier_id . opt_select YYDOT simple_id > 4 opt_select: . [YYDOT (3), '[' (5)] > 5 | . opt_select '[' expr ']' > 7 expr: hier_id . [YYDOT (9), ']' (5)] > > YYDOT reduce using rule 4 (opt_select) > YYDOT [reduce using rule 7 (expr)] > >I was wondering if there is a way to get this >information out of bison.
The problem is how to extract the information from the LALR(1) algorithm, if possible. Do you have any suggestion? (I may think a bit more on the question.) It is otherwise not a help-bison issue, but a "featuritis" issue, which normally should be posted in the bug-bison list. Hans Aberg _______________________________________________ Help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison