summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-11-06 03:39:23 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-11-06 03:39:23 +0000
commit837babd56459aafc1232a12fbfa783025d619b98 (patch)
tree72698c46f54d3616d58b62dd2ebb14ec90147a9e /parse.y
parentdfa75017bea479c829db9f967509caa95411361e (diff)
change DOTQ
* defs/id.def (token_ops), parse.y (parser_yylex): change DOTQ from ".?" to "&.". [ruby-core:71363] [Feature #11537] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y10
1 files changed, 5 insertions, 5 deletions
diff --git a/parse.y b/parse.y
index e42526a3b8..4397540ab7 100644
--- a/parse.y
+++ b/parse.y
@@ -875,7 +875,7 @@ static void token_info_pop(struct parser_params*, const char *token, size_t len)
%token tASET RUBY_TOKEN(ASET) "[]="
%token tLSHFT RUBY_TOKEN(LSHFT) "<<"
%token tRSHFT RUBY_TOKEN(RSHFT) ">>"
-%token tDOTQ RUBY_TOKEN(DOTQ) ".?"
+%token tDOTQ RUBY_TOKEN(DOTQ) "&."
%token tCOLON2 "::"
%token tCOLON3 ":: at EXPR_BEG"
%token <id> tOP_ASGN /* +=, -= etc. */
@@ -8276,6 +8276,10 @@ parser_yylex(struct parser_params *parser)
lex_state = EXPR_BEG;
return tOP_ASGN;
}
+ else if (c == '.') {
+ lex_state = EXPR_DOT;
+ return tDOTQ;
+ }
pushback(c);
if (IS_SPCARG(c)) {
rb_warning0("`&' interpreted as argument prefix");
@@ -8380,10 +8384,6 @@ parser_yylex(struct parser_params *parser)
pushback(c);
return tDOT2;
}
- if (c == '?') {
- lex_state = EXPR_DOT;
- return tDOTQ;
- }
pushback(c);
if (c != -1 && ISDIGIT(c)) {
yyerror("no .<digit> floating literal anymore; put 0 before dot");