はじめまして。師星と申します。

つまんないお話で恐縮ですが、以前yylex()を見ていてちょっと気になったので
すが、$0hoge という変数名は使えてしまうんですよね。
記号の後をCの識別子のように捉えていたので違和感を覚えていたのですが、ふ
と思い出して考えてみると、@0hogeも使えて、そうか、記号でプレフィクスされ
ているからその次の文字にこだわる必要はないんだ、と納得しました。
ところが、$の次に1〜9が続く場合は数字ではなくなったところで有無を言わさ
ず切られて、tNTH_REFが返されます。
ここで、$1hogeも使える方がよいと思うのですが、どうでしょうか。
以下は1.4.4に対する変更です。

--- parse.y.orig	Mon Mar 13 18:15:43 2000
+++ parse.y	Fri May  5 21:19:22 2000
@@ -3176,6 +3176,8 @@
 		tokadd(c);
 		c = nextc();
 	    }
+	    if (is_identchar(c))
+		break;
 	    pushback(c);
 	    tokfix();
 	    yylval.node = NEW_NTH_REF(atoi(tok()));


 - moro.