I wrote:
> [...]
> 1. Calc::__construct reads (b4_lex_param_call):
> | public function __construct ($is)
> | {
> | $this->yylexer = new YYLexer(is);
> | }
> But the second "is" should be a "$is". I tried some
> variants of "$$" and patsubst at different places, but
> unfortunately, m4's levels of quoting have always exceed-
> ed my imagination :-).
> [...]
I could solve this finally by:
| diff --git a/data/php.m4 b/data/php.m4
| index 7095d8a..6ab2600 100644
| --- a/data/php.m4
| +++ b/data/php.m4
| @@ -262,7 +262,9 @@ m4_define([b4_lex_param_call],
| [$1])])
| m4_define([b4_param_calls],
| [m4_map([b4_param_call], [$@])])
| -m4_define([b4_param_call], [, $2])
| +# FIXME: This should probably better be dealt with in parse-gram.y's
| +# add_param ().
| +m4_define([b4_param_call], [, m4_bpatsubst($1, [^.* ], [])])
As stated, I think this rather belongs in add_param ().
But the more important point is that now the code generat-
ed doesn't need manual tweaking anymore, and therefore re-
gression tests are on the horizon :-).
Tim