/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011 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 "lexer.h"
+#include "language/lexer/lexer.h"
+
#include <c-ctype.h>
#include <c-strtod.h>
#include <errno.h>
#include <stdarg.h>
#include <stdint.h>
#include <stdlib.h>
-#include <language/command.h>
-#include <data/settings.h>
-#include <libpspp/assertion.h>
-#include <libpspp/getl.h>
-#include <libpspp/message.h>
-#include <libpspp/str.h>
-#include <output/journal.h>
-#include <output/text-item.h>
-#include "xalloc.h"
+#include "data/settings.h"
+#include "language/command.h"
+#include "libpspp/assertion.h"
+#include "libpspp/getl.h"
+#include "libpspp/message.h"
+#include "libpspp/str.h"
+#include "output/journal.h"
+#include "output/text-item.h"
+
+#include "gl/xalloc.h"
#include "gettext.h"
#define _(msgid) gettext (msgid)
save_token (lexer);
lexer->token = t;
}
-
-/* Makes the current token become the next token to be read; the
- current token is set to the identifier ID. */
-void
-lex_put_back_id (struct lexer *lexer, const char *id)
-{
- assert (lex_id_to_token (ss_cstr (id)) == T_ID);
- save_token (lexer);
- lexer->token = T_ID;
- ds_assign_cstr (&lexer->tokstr, id);
-}
\f
/* Weird line processing functions. */
{
strip_comments (line);
ds_rtrim (line, ss_cstr (CC_SPACES));
- *line_ends_command = ds_chomp (line, '.') || ds_is_empty (line);
+ *line_ends_command = ds_chomp_byte (line, '.') || ds_is_empty (line);
*line_starts_command = false;
if (syntax == GETL_BATCH)
{
case T_POS_NUM:
case T_NEG_NUM:
case T_STRING:
+ case TOKEN_N_TYPES:
NOT_REACHED ();
case T_STOP: