diff -ruN PHP_ParserGenerator-0.1.5/ParserGenerator/Data.php PHP_ParserGenerator-0.1.5-patched/ParserGenerator/Data.php
--- PHP_ParserGenerator-0.1.5/ParserGenerator/Data.php	2007-03-05 18:20:31.000000000 +0100
+++ PHP_ParserGenerator-0.1.5-patched/ParserGenerator/Data.php	2007-05-28 04:52:50.000000000 +0200
@@ -1733,7 +1733,7 @@
                 } else {
                     for ($ii = 0; $ii < $rp->nrhs; $ii++) {
                         if ($rp->rhsalias[$ii] && $tempcp == $rp->rhsalias[$ii]) {
-                            if ($ii !== 0 && $rp->code[$ii - 1] == '@') {
+                            if ($ii !== 0 && $rp->code[$i - 1] == '@') {
                                 /* If the argument is of the form @X then substitute
                                 ** the token number of X, not the value of X */
                                 $this->append_str("\$this->yystack[\$this->yyidx + " .
