treewide: Replace <name>_cnt by n_<name>s and <name>_cap by allocated_<name>.
[pspp] / src / data / identifier.c
index c613734c94dc647ec4d2c1ca93e9e0dfb8232542..d9d9b2a6444c25a8f76fec3df66089e1306e6b40 100644 (file)
@@ -46,7 +46,6 @@ token_type_to_name (enum token_type type)
 #define TOKEN_TYPE(TYPE) case T_##TYPE: return #TYPE;
       TOKEN_TYPES
 #undef TOKEN_TYPE
-    case TOKEN_N_TYPES:
     default:
       return "unknown token type";
     }
@@ -62,10 +61,11 @@ token_type_to_string (enum token_type token)
   switch (token)
     {
     case T_ID:
-    case T_MACRO_ID:
     case T_POS_NUM:
     case T_NEG_NUM:
     case T_STRING:
+    case T_MACRO_ID:
+    case T_MACRO_PUNCT:
     case T_STOP:
       return NULL;
 
@@ -99,9 +99,21 @@ token_type_to_string (enum token_type token)
     case T_RBRACK:
       return "]";
 
+    case T_LCURLY:
+      return "{";
+
+    case T_RCURLY:
+      return "}";
+
     case T_COMMA:
       return ",";
 
+    case T_SEMICOLON:
+      return ";";
+
+    case T_COLON:
+      return ":";
+
     case T_AND:
       return "AND";
 
@@ -143,9 +155,6 @@ token_type_to_string (enum token_type token)
 
     case T_EXP:
       return "**";
-
-    case TOKEN_N_TYPES:
-      NOT_REACHED ();
     }
 
   NOT_REACHED ();
@@ -307,14 +316,14 @@ static const struct keyword keywords[] =
     { T_TO,   SS_LITERAL_INITIALIZER ("TO") },
     { T_WITH, SS_LITERAL_INITIALIZER ("WITH") },
   };
-static const size_t keyword_cnt = sizeof keywords / sizeof *keywords;
+static const size_t n_keywords = sizeof keywords / sizeof *keywords;
 
 /* Returns true if TOKEN is representable as a keyword. */
 bool
 lex_is_keyword (enum token_type token)
 {
   const struct keyword *kw;
-  for (kw = keywords; kw < &keywords[keyword_cnt]; kw++)
+  for (kw = keywords; kw < &keywords[n_keywords]; kw++)
     if (kw->token == token)
       return true;
   return false;
@@ -328,7 +337,7 @@ lex_id_to_token (struct substring id)
   if (ss_length (id) >= 2 && ss_length (id) <= 4)
     {
       const struct keyword *kw;
-      for (kw = keywords; kw < &keywords[keyword_cnt]; kw++)
+      for (kw = keywords; kw < &keywords[n_keywords]; kw++)
         if (ss_equals_case (kw->identifier, id))
           return kw->token;
     }