Thanks for your reply.
I knew what the error messages meant, i.e., I know what
shift/reduce conflicts mean, but I didn't know how to find
out which non-terminals were the culprit.
(setq wisent-verbose-flag t) is what I needed to know.
>>>>> "DP" == David Ponce <david.ponce@...> writes:
DP> Hi Richard,
>> I noticed the following lines in my *Messages* buffer:
>> Grammar in wisent-python.el contains 1 useless nonterminals and 1
DP> useless rules
>> Grammar in wisent-python.el contains 2 shift/reduce conflicts
DP> The first message indicates unused rules that can probably be safely
DP> removed from the grammar.
DP> The second message indicates that certain states of the automaton
DP> result in two different actions (shift or reduce, reduce or reduce)
DP> that conflict. Normally an LALR automaton must be fully deterministic
DP> (1 state -> 1 action). I encourage you to read the bison's manual to
DP> learn more on LALR parsers. In most case shift/reduce conflicts are
DP> not errors and can be safely ignored. It is probably the case for the
DP> python grammar :-)
DP> You can do M-: (set wisent-verbose-flag t) before compiling your
DP> grammar to get detailed informations on these issues in a
DP> "*wisent-log*" buffer. wisent.info should explain the content of
DP> that buffer (see chapter "Grammar/Compiling a grammar/Conflicts",
DP> then menu item "Grammar Debugging").
>> *** `<no-type>' default matching spec DEDENT redefined as INDENT
>> *** `symbol' default matching spec INDENT redefined as NAME
>> *** `number' default matching spec NAME redefined as NUMBER_LITERAL
>> *** `string' default matching spec NUMBER_LITERAL redefined as
>> *** `newline' default matching spec STRING_LITERAL redefined as NEWLINE
DP> The above messages are warnings issued when building the table of
DP> terminal tokens (from %token declarations). You can safely ignore
DP> them. I will have a look at the code that builds the token table to
DP> see if I can improve these obscure messages!
DP> Hope it helps!