/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 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
#include <config.h>
-#include <language/data-io/inpt-pgm.h>
#include <float.h>
#include <stdlib.h>
#include <language/command.h>
#include <language/data-io/data-reader.h>
#include <language/data-io/file-handle.h>
+#include <language/data-io/inpt-pgm.h>
#include <language/expressions/public.h>
#include <language/lexer/lexer.h>
#include <libpspp/assertion.h>
#include <libpspp/compiler.h>
#include <libpspp/message.h>
-#include <libpspp/message.h>
#include <libpspp/misc.h>
#include <libpspp/str.h>
};
/* Indicates how a `union value' should be initialized. */
-enum value_init_type
- {
- INP_NUMERIC = 01, /* Numeric. */
- INP_STRING = 0, /* String. */
-
- INP_INIT_ONCE = 02, /* Initialize only once. */
- INP_REINIT = 0, /* Reinitialize for each iteration. */
- };
-
struct input_program_pgm
{
struct trns_chain *trns_chain;
bool saw_END_CASE = false;
proc_discard_active_file (ds);
- if (lex_token (lexer) != '.')
+ if (lex_token (lexer) != T_ENDCMD)
return lex_end_of_command (lexer);
inp = xmalloc (sizeof *inp);
cmd_end_case (struct lexer *lexer, struct dataset *ds UNUSED)
{
assert (in_input_program ());
- if (lex_token (lexer) == '.')
+ if (lex_token (lexer) == T_ENDCMD)
return CMD_END_CASE;
return lex_end_of_command (lexer);
}
fh = fh_get_default_handle ();
e = NULL;
- while (lex_token (lexer) != '.')
+ while (lex_token (lexer) != T_ENDCMD)
{
if (lex_match_id (lexer, "COLUMN"))
{
- lex_match (lexer, '=');
+ lex_match (lexer, T_EQUALS);
if (e)
{
- msg (SE, _("COLUMN subcommand multiply specified."));
+ msg (SE, _("%s subcommand may be given at most once."), "COLUMN");
expr_free (e);
return CMD_CASCADING_FAILURE;
}
}
else if (lex_match_id (lexer, "FILE"))
{
- lex_match (lexer, '=');
+ lex_match (lexer, T_EQUALS);
fh_unref (fh);
fh = fh_parse (lexer, FH_REF_FILE | FH_REF_INLINE);
if (fh == NULL)