ruby-changes:23556
From: nobu <ko1@a...>
Date: Thu, 10 May 2012 10:18:37 +0900 (JST)
Subject: [ruby-changes:23556] nobu:r35607 (trunk): parse.y: debugging stuff
nobu 2012-05-10 10:18:27 +0900 (Thu, 10 May 2012) New Revision: 35607 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=35607 Log: parse.y: debugging stuff * parse.y (lex_state_name): returns name for lex_state_e, for debug use. Modified files: trunk/ChangeLog trunk/parse.y Index: ChangeLog =================================================================== --- ChangeLog (revision 35606) +++ ChangeLog (revision 35607) @@ -1,3 +1,8 @@ +Thu May 10 10:18:10 2012 Nobuyoshi Nakada <nobu@r...> + + * parse.y (lex_state_name): returns name for lex_state_e, for debug + use. + Wed May 9 16:36:01 2012 Nobuyoshi Nakada <nobu@r...> * lib/mkmf.rb (MakeMakefile#pkg_config): check if libs resulted from Index: parse.y =================================================================== --- parse.y (revision 35606) +++ parse.y (revision 35607) @@ -11,6 +11,9 @@ %{ +#ifndef PARSER_DEBUG +#define PARSER_DEBUG 0 +#endif #define YYDEBUG 1 #define YYERROR_VERBOSE 1 #define YYSTACK_USE_ALLOCA 0 @@ -74,6 +77,10 @@ EXPR_MAX_STATE }; +#if PARSER_DEBUG +static const char *lex_state_name(enum lex_state_e state); +#endif + typedef VALUE stack_type; # define BITSTACK_PUSH(stack, n) ((stack) = ((stack)<<1)|((n)&1)) @@ -8479,6 +8486,28 @@ } #endif /* !RIPPER */ +#if PARSER_DEBUG +static const char * +lex_state_name(enum lex_state_e state) +{ + switch (state) { + case EXPR_BEG: return "EXPR_BEG"; + case EXPR_END: return "EXPR_END"; + case EXPR_ENDARG: return "EXPR_ENDARG"; + case EXPR_ENDFN: return "EXPR_ENDFN"; + case EXPR_ARG: return "EXPR_ARG"; + case EXPR_CMDARG: return "EXPR_CMDARG"; + case EXPR_MID: return "EXPR_MID"; + case EXPR_FNAME: return "EXPR_FNAME"; + case EXPR_DOT: return "EXPR_DOT"; + case EXPR_CLASS: return "EXPR_CLASS"; + case EXPR_VALUE: return "EXPR_VALUE"; + case EXPR_MAX_STATE: break; + } + return NULL; +} +#endif + #ifdef RIPPER static VALUE assignable_gen(struct parser_params *parser, VALUE lhs) @@ -9807,6 +9836,9 @@ (void)nodetype; (void)nodeline; +#if PARSER_DEBUG + (void)lex_state_name(-1); +#endif Init_id(); } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/