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).
%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: