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


Reply via email to