summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-05-09 04:53:16 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-05-09 04:53:16 +0000
commit655e96fa59f62f7d31b2d9d470947f97aceb7b92 (patch)
tree6b6bb0a6ce9e46b326dbde9378c3791a54be1dd5 /parse.y
parent2a34f89e354071d09c64a93bf3498dfa108f3e8c (diff)
2000-05-09
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y13
1 files changed, 12 insertions, 1 deletions
diff --git a/parse.y b/parse.y
index 466c5994ec..6c5aaa7c9d 100644
--- a/parse.y
+++ b/parse.y
@@ -525,6 +525,10 @@ mlhs_node : variable
{
$$ = attrset($1, $3);
}
+ | primary '.' tCONSTANT
+ {
+ $$ = attrset($1, $3);
+ }
| backref
{
rb_backref_error($1);
@@ -547,6 +551,10 @@ lhs : variable
{
$$ = attrset($1, $3);
}
+ | primary '.' tCONSTANT
+ {
+ $$ = attrset($1, $3);
+ }
| backref
{
rb_backref_error($1);
@@ -3319,13 +3327,16 @@ yylex()
case '1': case '2': case '3':
case '4': case '5': case '6':
case '7': case '8': case '9':
+ tokadd('$');
while (ISDIGIT(c)) {
tokadd(c);
c = nextc();
}
+ if (is_identchar(c))
+ break;
pushback(c);
tokfix();
- yylval.node = NEW_NTH_REF(atoi(tok()));
+ yylval.node = NEW_NTH_REF(atoi(tok()+1));
return tNTH_REF;
default: