lexer: Use lex_is_string() more consistently.
authorBen Pfaff <blp@cs.stanford.edu>
Sun, 12 Sep 2010 21:05:36 +0000 (14:05 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Fri, 24 Sep 2010 03:45:30 +0000 (20:45 -0700)
The lexer has this function, so we might as well use it consistently.

17 files changed:
src/language/control/repeat.c
src/language/data-io/data-list.c
src/language/data-io/file-handle.q
src/language/data-io/get.c
src/language/data-io/print.c
src/language/dictionary/variable-label.c
src/language/expressions/evaluate.c
src/language/lexer/lexer.c
src/language/lexer/q2c.c
src/language/lexer/value-parser.c
src/language/stats/aggregate.c
src/language/tests/format-guesser-test.c
src/language/utilities/echo.c
src/language/utilities/host.c
src/language/utilities/include.c
src/language/utilities/set.q
src/language/xforms/recode.c

index cd88a1e141884121f691b812a496a19fb77f698f..1ab3b9c2ff7f49b4d392655aa336bd9087e0cab1 100644 (file)
@@ -195,7 +195,7 @@ parse_specification (struct lexer *lexer, struct repeat_block *block)
        count = parse_ids (lexer, dict, macro, block->pool);
       else if (lex_is_number (lexer))
        count = parse_numbers (lexer, macro, block->pool);
-      else if (lex_token (lexer) == T_STRING)
+      else if (lex_is_string (lexer))
        count = parse_strings (lexer, macro, block->pool);
       else
        {
@@ -476,7 +476,7 @@ parse_strings (struct lexer *lexer, struct repeat_macro *macro, struct pool *poo
     {
       char *string;
 
-      if (lex_token (lexer) != T_STRING)
+      if (!lex_force_string (lexer))
        {
          msg (SE, _("String expected."));
          return 0;
index d43af347a701693224980ea18281eaf72d6c0e60..80c9849b55b61c9812551278115756135d920813 100644 (file)
@@ -196,7 +196,7 @@ cmd_data_list (struct lexer *lexer, struct dataset *ds)
 
                       if (lex_match_id (lexer, "TAB"))
                         delim = '\t';
-                      else if (lex_token (lexer) == T_STRING
+                      else if (lex_is_string (lexer)
                                && ds_length (lex_tokstr (lexer)) == 1)
                         {
                           delim = ds_first (lex_tokstr (lexer));
index 33aa1d168a5c4efce423688b3d8998193b8c7abc..71081b922ac0601835fec8b13a819aa4f2a17dc3 100644 (file)
@@ -200,7 +200,7 @@ fh_parse (struct lexer *lexer, enum fh_referent referent_mask)
     handle = fh_inline_file ();
   else
     {
-      if (lex_token (lexer) != T_ID && lex_token (lexer) != T_STRING)
+      if (lex_token (lexer) != T_ID && !lex_is_string (lexer))
         {
           lex_error (lexer, _("expecting a file name or handle name"));
           return NULL;
index 14fb70a40f542c48250fd77b2a79d5499a3a53bd..cf59c8e0fbadc78f904fe9049d84341c5bf04e60 100644 (file)
@@ -77,7 +77,7 @@ parse_read_command (struct lexer *lexer, struct dataset *ds, enum reader_command
     {
       lex_match (lexer, '/');
 
-      if (lex_match_id (lexer, "FILE") || lex_token (lexer) == T_STRING)
+      if (lex_match_id (lexer, "FILE") || lex_is_string (lexer))
        {
          lex_match (lexer, '=');
 
index d3d0972543a87f2b8f82e6eaf0eb634dd2a87b3c..164d992759614b421cb72eddee77fc2c6f3254e4 100644 (file)
@@ -252,7 +252,7 @@ parse_specs (struct lexer *lexer, struct pool *tmp_pool, struct print_trns *trns
       if (!parse_record_placement (lexer, &record, &column))
         return false;
 
-      if (lex_token (lexer) == T_STRING)
+      if (lex_is_string (lexer))
        ok = parse_string_argument (lexer, trns, record, &column);
       else
        ok = parse_variable_argument (lexer, dict, trns, tmp_pool, &record, &column,
index e8abe70dc91fd0c12d1000c5a615e2ce59195604..fbf7e200ee3a4d89876b3b6f1a21e37292923a55 100644 (file)
@@ -46,9 +46,8 @@ cmd_variable_labels (struct lexer *lexer, struct dataset *ds)
       if (!parse_variables (lexer, dataset_dict (ds), &v, &nv, PV_NONE))
         return CMD_FAILURE;
 
-      if (lex_token (lexer) != T_STRING)
+      if (!lex_force_string (lexer))
        {
-         msg (SE, _("String expected for variable label."));
          free (v);
          return CMD_FAILURE;
        }
index 48fc1556cc9c1de26698fb448597bbbbbc089840..65404b43e4d4d6a725a57794811291881890d4c7 100644 (file)
@@ -142,7 +142,7 @@ cmd_debug_evaluate (struct lexer *lexer, struct dataset *dsother UNUSED)
 
           if (lex_is_number (lexer))
             width = 0;
-          else if (lex_token (lexer) == T_STRING)
+          else if (lex_is_string (lexer))
             width = ds_length (lex_tokstr (lexer));
           else
             {
index 04e6322b280e91d1d1802bd4a53f06c7343e663e..aa681c80306b65f0cfb7f2c72f3edfae479ccead 100644 (file)
@@ -603,7 +603,7 @@ lex_force_match (struct lexer *lexer, int t)
 bool
 lex_force_string (struct lexer *lexer)
 {
-  if (lexer->token == T_STRING)
+  if (lex_is_string (lexer))
     return true;
   else
     {
index 1a95d08091936461b083a35b3d27531d3795151e..cf8e53ee5cb881529ead693e0328f66e520a300b 100644 (file)
@@ -1534,7 +1534,7 @@ dump_specifier_parse (const specifier *spec, const subcommand *sbc)
           else if (s->value == VAL_STRING)
             {
               dump (1, "if (lex_token (lexer) != T_ID "
-                    "&& lex_token (lexer) != T_STRING)");
+                    "&& !lex_is_string (lexer))");
               dump (1, "{");
               dump (0, "msg (SE, _(\"%s specifier of %s subcommand "
                     "requires a string argument.\"));",
index c492658e28753ba5e3a9fe7780abf9a2fc7ba12c..6fa4319a6584fdedda62f9df0532e08385e416a0 100644 (file)
@@ -100,7 +100,7 @@ parse_number (struct lexer *lexer, double *x, const enum fmt_type *format)
       lex_get (lexer);
       return true;
     }
-  else if (lex_token (lexer) == T_STRING && format != NULL)
+  else if (lex_is_string (lexer) && format != NULL)
     {
       union value v;
       assert (! (fmt_get_category (*format) & ( FMT_CAT_STRING )));
index 50a98e483efeed4ede0fa6336692b2e57e0394c3..a8e3f6d71d267545b1d1d85ef60490433149c0f8 100644 (file)
@@ -432,7 +432,7 @@ parse_aggregate_functions (struct lexer *lexer, const struct dictionary *dict,
 
 
 
-         if (lex_token (lexer) == T_STRING)
+         if (lex_is_string (lexer))
            {
              struct string label;
              ds_init_string (&label, lex_tokstr (lexer));
@@ -499,7 +499,7 @@ parse_aggregate_functions (struct lexer *lexer, const struct dictionary *dict,
                int type;
 
                lex_match (lexer, ',');
-               if (lex_token (lexer) == T_STRING)
+               if (lex_is_string (lexer))
                  {
                    arg[i].c = ds_xstrdup (lex_tokstr (lexer));
                    type = VAL_STRING;
index 728080153c8565c8f6daf033acf3f6102d446de7..6285fc042c04a07cac583e68a38c814921ab4022 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2008 Free Software Foundation, Inc.
+   Copyright (C) 2008, 2010 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@ cmd_debug_format_guesser (struct lexer *lexer, struct dataset *ds UNUSED)
   char format_string[FMT_STRING_LEN_MAX + 1];
 
   g = fmt_guesser_create ();
-  while (lex_token (lexer) == T_STRING)
+  while (lex_is_string (lexer))
     {
       fprintf (stderr, "\"%s\" ", ds_cstr (lex_tokstr (lexer)));
       fmt_guesser_add (g, ds_ss (lex_tokstr (lexer)));
index ebd6a990fc88e1c1c02a48a7562fd91d4fccdc32..b27b40017a367c397901acfb932bb1e81166ad2e 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2005, 2009 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009, 2010 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -29,7 +29,7 @@ cmd_echo (struct lexer *lexer, struct dataset *ds UNUSED)
 {
   struct tab_table *tab;
 
-  if (lex_token (lexer) != T_STRING)
+  if (!lex_force_string (lexer))
     return CMD_FAILURE;
 
   tab = tab_create(1, 1);
index ae344367252bc053a1945480513c5f9ccc102395..ac09145451609c52d7236849631a38a0138bd34f 100644 (file)
@@ -141,7 +141,7 @@ cmd_host (struct lexer *lexer, struct dataset *ds UNUSED)
         return CMD_FAILURE;
 
       ds_init_empty (&command);
-      while (lex_token (lexer) == T_STRING)
+      while (lex_is_string (lexer))
         {
           if (!ds_is_empty (&command))
             ds_put_char (&command, '\n');
index 59728ad0ae0741d510796eb79bcf0594320ede47..52d0e09c91dec5b559e8c86104917f08cad2b5dd 100644 (file)
@@ -178,7 +178,7 @@ parse_insert (struct lexer *lexer, char **filename)
     lex_match (lexer, '=');
 
   /* File name can be identifier or string. */
-  if (lex_token (lexer) != T_ID && lex_token (lexer) != T_STRING)
+  if (lex_token (lexer) != T_ID && !lex_is_string (lexer))
     {
       lex_error (lexer, _("expecting file name"));
       return CMD_FAILURE;
index 0bd7738591a773675ed1bbf070e5d742b483b49d..79fe9216b51f715a1e51f60240f60a2d54e8f51a 100644 (file)
@@ -509,7 +509,7 @@ stc_custom_journal (struct lexer *lexer, struct dataset *ds UNUSED, struct cmd_s
     journal_enable ();
   else if (lex_match_id (lexer, "OFF") || lex_match_id (lexer, "NO"))
     journal_disable ();
-  else if (lex_token (lexer) == T_STRING || lex_token (lexer) == T_ID)
+  else if (lex_is_string (lexer) || lex_token (lexer) == T_ID)
     {
       journal_set_file_name (ds_cstr (lex_tokstr (lexer)));
       lex_get (lexer);
index aa051fee01545e453729dc56059d03a3595dc357..8c44e14697e2804ffd4fdf8a839dcc27c3e2a87b 100644 (file)
@@ -390,7 +390,7 @@ parse_map_out (struct lexer *lexer, struct pool *pool, struct map_out *out)
     }
   else if (lex_match_id (lexer, "SYSMIS"))
     set_map_out_num (out, SYSMIS);
-  else if (lex_token (lexer) == T_STRING)
+  else if (lex_is_string (lexer))
     {
       set_map_out_str (out, pool, lex_tokstr (lexer));
       lex_get (lexer);