diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-10-27 06:25:59 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-10-27 06:25:59 +0000 |
commit | d8e1bf2760370bd50a49a778309227aff88ba3ec (patch) | |
tree | 82e557884ef8d1233735db676dc9ebad59a8b100 /parse.y | |
parent | 5a277b4070ff1228e5c5cf07215d38fca7e51fe1 (diff) | |
download | ruby-d8e1bf2760370bd50a49a778309227aff88ba3ec.tar.gz |
id.h.tmpl: ANDOP and OROP
* template/id.h.tmpl (token_op_ids): define && and || for ripper.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 24 |
1 files changed, 7 insertions, 17 deletions
@@ -801,8 +801,8 @@ static void token_info_pop(struct parser_params*, const char *token); %token tNEQ RUBY_TOKEN(NEQ) "!=" %token tGEQ RUBY_TOKEN(GEQ) ">=" %token tLEQ RUBY_TOKEN(LEQ) "<=" -%token tANDOP "&&" -%token tOROP "||" +%token tANDOP RUBY_TOKEN(ANDOP) "&&" +%token tOROP RUBY_TOKEN(OROP) "||" %token tMATCH RUBY_TOKEN(MATCH) "=~" %token tNMATCH RUBY_TOKEN(NMATCH) "!~" %token tDOT2 RUBY_TOKEN(DOT2) ".." @@ -2298,7 +2298,7 @@ arg : lhs '=' arg /*%%%*/ $$ = logop(NODE_AND, $1, $3); /*% - $$ = dispatch3(binary, $1, ripper_intern("&&"), $3); + $$ = dispatch3(binary, $1, ID2SYM(idANDOP), $3); %*/ } | arg tOROP arg @@ -2306,7 +2306,7 @@ arg : lhs '=' arg /*%%%*/ $$ = logop(NODE_OR, $1, $3); /*% - $$ = dispatch3(binary, $1, ripper_intern("||"), $3); + $$ = dispatch3(binary, $1, ID2SYM(idOROP), $3); %*/ } | keyword_defined opt_nl {in_defined = 1;} arg @@ -10718,20 +10718,10 @@ ripper_id2sym(ID id) if ((name = keyword_id_to_str(id))) { return ID2SYM(rb_intern(name)); } - switch (id) { - case tOROP: - name = "||"; - break; - case tANDOP: - name = "&&"; - break; - default: - if (!rb_id2str(id)) { - rb_bug("cannot convert ID to string: %ld", (unsigned long)id); - } - return ID2SYM(id); + if (!rb_id2str(id)) { + rb_bug("cannot convert ID to string: %ld", (unsigned long)id); } - return ID2SYM(rb_intern(name)); + return ID2SYM(id); } static ID |