From d8e1bf2760370bd50a49a778309227aff88ba3ec Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 27 Oct 2014 06:25:59 +0000 Subject: 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 --- parse.y | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) (limited to 'parse.y') diff --git a/parse.y b/parse.y index 55ea63e823..87866c029f 100644 --- a/parse.y +++ b/parse.y @@ -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 -- cgit v1.2.3