ruby-changes:24687
From: nobu <ko1@a...>
Date: Mon, 20 Aug 2012 23:02:47 +0900 (JST)
Subject: [ruby-changes:24687] nobu:r36738 (trunk): parse.y: token name
nobu 2012-08-20 23:02:32 +0900 (Mon, 20 Aug 2012) New Revision: 36738 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=36738 Log: parse.y: token name * parse.y: more descriptive token names in syntax error messages. Modified files: trunk/ChangeLog trunk/bootstraptest/test_syntax.rb trunk/parse.y Index: ChangeLog =================================================================== --- ChangeLog (revision 36737) +++ ChangeLog (revision 36738) @@ -1,3 +1,7 @@ +Mon Aug 20 23:02:27 2012 Nobuyoshi Nakada <nobu@r...> + + * parse.y: more descriptive token names in syntax error messages. + Mon Aug 20 20:36:30 2012 Nobuyoshi Nakada <nobu@r...> * vm_insnhelper.c (vm_call_method): follow iclasses as klass in cfp Index: bootstraptest/test_syntax.rb =================================================================== --- bootstraptest/test_syntax.rb (revision 36737) +++ bootstraptest/test_syntax.rb (revision 36738) @@ -529,7 +529,7 @@ end assert_syntax_error "unterminated string meets end of file", '().."', '[ruby-dev:29732]' assert_equal %q{[]}, %q{$&;[]}, '[ruby-dev:31068]' -assert_syntax_error "syntax error, unexpected tSTAR, expecting '}'", %q{{*0}}, '[ruby-dev:31072]' +assert_syntax_error "syntax error, unexpected *, expecting '}'", %q{{*0}}, '[ruby-dev:31072]' assert_syntax_error "`@0' is not allowed as an instance variable name", %q{@0..0}, '[ruby-dev:31095]' assert_syntax_error "identifier $00 is not valid to get", %q{$00..0}, '[ruby-dev:31100]' assert_syntax_error "identifier $00 is not valid to set", %q{0..$00=1} Index: parse.y =================================================================== --- parse.y (revision 36737) +++ parse.y (revision 36738) @@ -741,34 +741,40 @@ /*% %type <val> program reswords then do dot_or_colon %*/ -%token tUPLUS /* unary+ */ -%token tUMINUS /* unary- */ -%token tPOW /* ** */ -%token tCMP /* <=> */ -%token tEQ /* == */ -%token tEQQ /* === */ -%token tNEQ /* != */ -%token tGEQ /* >= */ -%token tLEQ /* <= */ -%token tANDOP tOROP /* && and || */ -%token tMATCH tNMATCH /* =~ and !~ */ -%token tDOT2 tDOT3 /* .. and ... */ -%token tAREF tASET /* [] and []= */ -%token tLSHFT tRSHFT /* << and >> */ -%token tCOLON2 /* :: */ -%token tCOLON3 /* :: at EXPR_BEG */ +%token END_OF_INPUT 0 "end-of-input" +%token tUPLUS "unary+" +%token tUMINUS "unary-" +%token tPOW "**" +%token tCMP "<=>" +%token tEQ "==" +%token tEQQ "===" +%token tNEQ "!=" +%token tGEQ ">=" +%token tLEQ "<=" +%token tANDOP "&&" +%token tOROP "||" +%token tMATCH "=~" +%token tNMATCH "!~" +%token tDOT2 ".." +%token tDOT3 "..." +%token tAREF "[]" +%token tASET "[]=" +%token tLSHFT "<<" +%token tRSHFT ">>" +%token tCOLON2 "::" +%token tCOLON3 ":: at EXPR_BEG" %token <id> tOP_ASGN /* +=, -= etc. */ -%token tASSOC /* => */ -%token tLPAREN /* ( */ -%token tLPAREN_ARG /* ( */ -%token tRPAREN /* ) */ -%token tLBRACK /* [ */ -%token tLBRACE /* { */ -%token tLBRACE_ARG /* { */ -%token tSTAR /* * */ -%token tDSTAR /* ** */ -%token tAMPER /* & */ -%token tLAMBDA /* -> */ +%token tASSOC "=>" +%token tLPAREN "(" +%token tLPAREN_ARG "( arg" +%token tRPAREN ")" +%token tLBRACK "[" +%token tLBRACE "{" +%token tLBRACE_ARG "{ arg" +%token tSTAR "*" +%token tDSTAR "**arg" +%token tAMPER "&" +%token tLAMBDA "->" %token tSYMBEG tSTRING_BEG tXSTRING_BEG tREGEXP_BEG tWORDS_BEG tQWORDS_BEG tSYMBOLS_BEG tQSYMBOLS_BEG %token tSTRING_DBEG tSTRING_DEND tSTRING_DVAR tSTRING_END tLAMBEG -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/