Expect 1 shift/reduce conflict.

The most recent fix to the parser introduced a shift/reduce
conflict. We document this conflict here, and tell bison that it need
not report it (since I verified that it's being resolved in the
direction desired).

For the record, I did write additional lexer code to eliminate this
conflict, but it was quite fragile, (would not accept a newline
between a function-like macro name and the left parenthesis, for
example).
This commit is contained in:
Carl Worth 2010-05-17 12:45:16 -07:00
parent acf87bc034
commit 796e1f0ead

View file

@ -116,6 +116,14 @@ _argument_list_member_at (argument_list_t *list, int index);
%type <string_list> argument macro parameter_list replacement_list
%type <argument_list> argument_list
/* Hard to remove shift/reduce conflicts documented as follows:
*
* 1. '(' after FUNC_MACRO name which is correctly resolved to shift
* to form macro invocation rather than reducing directly to
* content.
*/
%expect 1
%%
input: