[前][次][番号順一覧][スレッド一覧]

ruby-changes:24920

From: nobu <ko1@a...>
Date: Sat, 15 Sep 2012 18:26:37 +0900 (JST)
Subject: [ruby-changes:24920] nobu:r36972 (trunk): parse.y: static table

nobu	2012-09-15 18:26:26 +0900 (Sat, 15 Sep 2012)

  New Revision: 36972

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=36972

  Log:
    parse.y: static table
    
    * parse.y (lex_state_name): use static table.

  Modified files:
    trunk/parse.y

Index: parse.y
===================================================================
--- parse.y	(revision 36971)
+++ parse.y	(revision 36972)
@@ -8571,20 +8571,14 @@
 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;
-    }
+    static const char names[][12] = {
+	"EXPR_BEG",    "EXPR_END",    "EXPR_ENDARG", "EXPR_ENDFN",  "EXPR_ARG",
+	"EXPR_CMDARG", "EXPR_MID",    "EXPR_FNAME",  "EXPR_DOT",    "EXPR_CLASS",
+	"EXPR_VALUE",
+    };
+
+    if ((unsigned)state < EXPR_MAX_STATE)
+	return names[state];
     return NULL;
 }
 #endif

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]