/* PSPP - computes sample statistics.
   Copyright (C) 1997-9, 2000 Free Software Foundation, Inc.
   Written by Ben Pfaff <blp@gnu.org>.

   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 the Free Software Foundation; either version 2 of the
   License, or (at your option) any later version.

   This program is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
   02110-1301, USA. */

/* State abbreviations. */
#define INIT STATE_INIT
#define INPU STATE_INPUT
#define TRAN STATE_TRANS
#define PROC STATE_PROC
#define ERRO STATE_ERROR

UNIMPL ("ACF",                   ERRO, ERRO, ERRO, ERRO, "Autocorrelation function")
UNIMPL ("ADD FILES",             ERRO, ERRO, ERRO, ERRO, "Add files to dictionary")
DEFCMD ("ADD VALUE LABELS",       ERRO, INPU, TRAN, TRAN, cmd_add_value_labels)
DEFCMD ("AGGREGATE",              ERRO, ERRO, PROC, TRAN, cmd_aggregate)
UNIMPL ("ALSCAL",                ERRO, ERRO, ERRO, ERRO, "Multidimensional scaling")
UNIMPL ("ANOVA",                 ERRO, ERRO, ERRO, ERRO, "Factorial analysis of variance")
DEFCMD ("APPLY DICTIONARY",       ERRO, ERRO, TRAN, TRAN, cmd_apply_dictionary)
DEFCMD ("AUTORECODE",             ERRO, ERRO, PROC, PROC, cmd_autorecode)
SPCCMD ("BEGIN DATA",             ERRO, ERRO, PROC, PROC, cmd_begin_data)
DEFCMD ("BREAK",                  ERRO, INPU, TRAN, TRAN, cmd_break)
UNIMPL ("CASEPLOT",              ERRO, ERRO, ERRO, ERRO, "Plot time series")
UNIMPL ("CASESTOVARS",		  ERRO, ERRO, ERRO, ERRO, "Restructure complex data")
UNIMPL ("CCF",                   ERRO, ERRO, ERRO, ERRO, "Time series cross correlation")
DEFCMD ("CLEAR TRANSFORMATIONS",  ERRO, INPU, TRAN, TRAN, cmd_clear_transformations)
UNIMPL ("CLUSTER",               ERRO, ERRO, ERRO, ERRO, "Hierachial clustering")
DEFCMD ("COMPUTE",                ERRO, INPU, TRAN, TRAN, cmd_compute)
UNIMPL ("CONJOINT",              ERRO, ERRO, ERRO, ERRO, "Analyse full concept data")
DEFCMD ("CORRELATIONS",		  ERRO, ERRO, PROC, PROC, cmd_correlations)
DEFCMD ("COUNT",                  ERRO, INPU, TRAN, TRAN, cmd_count)
UNIMPL ("COXREG",                 ERRO, ERRO, ERRO, ERRO, "Cox proportional hazards regression")
UNIMPL ("CREATE",                 ERRO, ERRO, ERRO, ERRO, "Create time series data")
DEFCMD ("CROSSTABS",              ERRO, ERRO, PROC, PROC, cmd_crosstabs)
UNIMPL ("CURVEFIT",               ERRO, ERRO, ERRO, ERRO, "Fit curve to line plot")
DEFCMD ("DATA LIST",              TRAN, INPU, TRAN, TRAN, cmd_data_list)
UNIMPL ("DATE",                   ERRO, ERRO, ERRO, ERRO, "Create time series data")
DBGCMD ("DEBUG CASEFILE",	  INIT, INPU, TRAN, PROC, cmd_debug_casefile)
DBGCMD ("DEBUG EVALUATE",	  INIT, INPU, TRAN, PROC, cmd_debug_evaluate)
DBGCMD ("DEBUG MOMENTS",	  INIT, INPU, TRAN, PROC, cmd_debug_moments)
DBGCMD ("DEBUG POOL",		  INIT, INPU, TRAN, PROC, cmd_debug_pool)
DEFCMD ("DESCRIPTIVES",           ERRO, ERRO, PROC, PROC, cmd_descriptives)
UNIMPL ("DISCRIMINANT",           ERRO, ERRO, ERRO, ERRO, "Linear discriminant analysis")
DEFCMD ("DISPLAY",                ERRO, INPU, TRAN, PROC, cmd_display)
SPCCMD ("DOCUMENT",               ERRO, INPU, TRAN, TRAN, cmd_document)
DEFCMD ("DO IF",                  ERRO, INPU, TRAN, TRAN, cmd_do_if)
DEFCMD ("DO REPEAT",              ERRO, INPU, TRAN, TRAN, cmd_do_repeat)
DEFCMD ("DROP DOCUMENTS",         INIT, INPU, TRAN, PROC, cmd_drop_documents)
DEFCMD ("ECHO",                   INIT, INPU, TRAN, PROC, cmd_echo)
UNIMPL ("EDIT",                   ERRO, ERRO, ERRO, ERRO, "obsolete")
DEFCMD ("ELSE",                   ERRO, INPU, TRAN, TRAN, cmd_else)
DEFCMD ("ELSE IF",                ERRO, INPU, TRAN, TRAN, cmd_else_if)
DEFCMD ("END CASE",               ERRO, INPU, ERRO, ERRO, cmd_end_case)
DEFCMD ("END FILE",               ERRO, INPU, ERRO, ERRO, cmd_end_file)
UNIMPL ("END FILE TYPE",          ERRO, TRAN, ERRO, ERRO, "Ends complex data input")
DEFCMD ("END IF",                 ERRO, INPU, TRAN, TRAN, cmd_end_if)
DEFCMD ("END INPUT PROGRAM",      ERRO, TRAN, ERRO, ERRO, cmd_end_input_program)
DEFCMD ("END LOOP",               ERRO, INPU, TRAN, TRAN, cmd_end_loop)
DEFCMD ("END REPEAT",             ERRO, INPU, TRAN, TRAN, cmd_end_repeat)
DEFCMD ("ERASE",                  INIT, INPU, TRAN, PROC, cmd_erase)
DEFCMD ("EXAMINE",                ERRO, ERRO, PROC, PROC, cmd_examine)
DEFCMD ("EXECUTE",                ERRO, ERRO, PROC, PROC, cmd_execute)
DEFCMD ("EXIT",                   INIT, INPU, TRAN, PROC, cmd_exit)
DEFCMD ("EXPORT",                 ERRO, ERRO, PROC, PROC, cmd_export)
UNIMPL ("FACTOR",                 ERRO, ERRO, ERRO, ERRO, "Factor analysis")
DEFCMD ("FILE HANDLE",            INIT, INPU, TRAN, PROC, cmd_file_handle)
SPCCMD ("FILE LABEL",             INIT, INPU, TRAN, PROC, cmd_file_label)
UNIMPL ("FILE TYPE",              INPU, ERRO, INPU, INPU, "Complex data input")
DEFCMD ("FILTER",                 ERRO, ERRO, TRAN, TRAN, cmd_filter)
DEFCMD ("FINISH",                 INIT, INPU, TRAN, PROC, cmd_finish)
UNIMPL ("FIT",                    ERRO, ERRO, ERRO, ERRO, "Goodness of Fit")
DEFCMD ("FLIP",			  ERRO, ERRO, PROC, PROC, cmd_flip)
DEFCMD ("FORMATS",                INIT, INPU, TRAN, PROC, cmd_formats)
DEFCMD ("FREQUENCIES",            ERRO, ERRO, PROC, PROC, cmd_frequencies)
DEFCMD ("GET",                    TRAN, ERRO, TRAN, TRAN, cmd_get)
UNIMPL ("GET TRANSLATE",          ERRO, ERRO, ERRO, ERRO, "Read other file formats")
UNIMPL ("GLM",                    ERRO, ERRO, ERRO, ERRO, "General Linear Model")
UNIMPL ("GRAPH",                  ERRO, ERRO, ERRO, ERRO, "Draw graphs")
DEFCMD ("HOST",                   INIT, INPU, TRAN, PROC, cmd_host)
DEFCMD ("IF",                     ERRO, INPU, TRAN, TRAN, cmd_if)
UNIMPL ("IGRAPH",                 ERRO, ERRO, ERRO, ERRO, "Interactive graphs")
DEFCMD ("IMPORT",                 TRAN, ERRO, TRAN, TRAN, cmd_import)
DEFCMD ("INCLUDE",                INIT, INPU, TRAN, PROC, cmd_include)
UNIMPL ("INFO",                   ERRO, ERRO, ERRO, ERRO, "Local Documentation")
DEFCMD ("INPUT PROGRAM",          INPU, ERRO, INPU, INPU, cmd_input_program)
UNIMPL ("KEYED DATA LIST",        ERRO, ERRO, ERRO, ERRO, "Read nonsequential data")
UNIMPL ("KM",                     ERRO, ERRO, ERRO, ERRO, "Kaplan-Meier")
DEFCMD ("LEAVE",                  ERRO, INPU, TRAN, TRAN, cmd_leave)
DEFCMD ("LIST",                   ERRO, ERRO, PROC, PROC, cmd_list)
UNIMPL ("LOGISTIC REGRESSION",    ERRO, ERRO, ERRO, ERRO, "Regression Analysis")
DEFCMD ("LOOP",                   ERRO, INPU, TRAN, TRAN, cmd_loop)
DEFCMD ("MATCH FILES",            TRAN, ERRO, TRAN, PROC, cmd_match_files)
DEFCMD ("MATRIX DATA",            TRAN, ERRO, TRAN, TRAN, cmd_matrix_data)
UNIMPL ("MCONVERT",               ERRO, ERRO, ERRO, ERRO, "Convert covariance/correlation matrices")
DEFCMD ("MEANS",                  ERRO, ERRO, PROC, PROC, cmd_means)
DEFCMD ("MISSING VALUES",         ERRO, INPU, TRAN, TRAN, cmd_missing_values)
DEFCMD ("MODIFY VARS",            ERRO, ERRO, TRAN, PROC, cmd_modify_vars)
UNIMPL ("MULT RESPONSE",          ERRO, ERRO, ERRO, ERRO, "Multiple reponse analysis")
UNIMPL ("MVA",                    ERRO, ERRO, ERRO, ERRO, "Missing value analysis")
DEFCMD ("NEW FILE",               INIT, ERRO, INIT, INIT, cmd_new_file)
DEFCMD ("N",                      INIT, INPU, TRAN, TRAN, cmd_n_of_cases)
DEFCMD ("N OF CASES",             INIT, INPU, TRAN, TRAN, cmd_n_of_cases)
UNIMPL ("NLR",                    ERRO, ERRO, ERRO, ERRO, "Non Linear Regression")
UNIMPL ("NONPAR CORR",            ERRO, ERRO, ERRO, ERRO, "Nonparametric correlation")
UNIMPL ("NPAR TESTS",             ERRO, ERRO, ERRO, ERRO, "Nonparametric tests")
UNIMPL ("NUMBERED",               ERRO, ERRO, ERRO, ERRO, "")
DEFCMD ("NUMERIC",                ERRO, INPU, TRAN, TRAN, cmd_numeric)
DEFCMD ("ONEWAY",                 ERRO, ERRO, PROC, PROC, cmd_oneway)
UNIMPL ("PACF",                   ERRO, ERRO, ERRO, ERRO, "Partial autocorrelation")
UNIMPL ("PARTIAL CORR",           ERRO, ERRO, ERRO, ERRO, "Partial correlation")
DEFCMD ("PEARSON CORRELATIONS",	  ERRO, ERRO, PROC, PROC, cmd_correlations)
DEFCMD ("PERMISSIONS",            INIT, INPU, TRAN, PROC, cmd_permissions)
UNIMPL ("POINT",                  ERRO, ERRO, ERRO, ERRO, "Marker in keyed file")
UNIMPL ("PPLOT",                  ERRO, ERRO, ERRO, ERRO, "Plot time series variables")
UNIMPL ("PREDICT",                ERRO, ERRO, ERRO, ERRO, "Specify forecast period")
UNIMPL ("PRESERVE",		  ERRO, ERRO, ERRO, ERRO, "Push settings")
DEFCMD ("PRINT EJECT",            ERRO, INPU, TRAN, TRAN, cmd_print_eject)
DEFCMD ("PRINT",                  ERRO, INPU, TRAN, TRAN, cmd_print)
DEFCMD ("PRINT FORMATS",          ERRO, INPU, TRAN, TRAN, cmd_print_formats)
DEFCMD ("PRINT SPACE",            ERRO, INPU, TRAN, TRAN, cmd_print_space)
UNIMPL ("PROCEDURE OUTPUT",       ERRO, ERRO, ERRO, ERRO, "Specify output file")
UNIMPL ("PROBIT",                 ERRO, ERRO, ERRO, ERRO, "Probit analysis")
DEFCMD ("PROCESS IF",             ERRO, ERRO, TRAN, TRAN, cmd_process_if)
UNIMPL ("PROXIMITIES",            ERRO, ERRO, ERRO, ERRO, "Pairwise similarity")
DEFCMD ("Q",                      INIT, INPU, TRAN, PROC, cmd_exit)
UNIMPL ("QUICK CLUSTER",          ERRO, ERRO, ERRO, ERRO, "Fast clustering")
DEFCMD ("QUIT",                   INIT, INPU, TRAN, PROC, cmd_exit)
UNIMPL ("RANK",                   ERRO, ERRO, ERRO, ERRO, "Create rank scores")
DEFCMD ("RECODE",                 ERRO, INPU, TRAN, TRAN, cmd_recode)
DEFCMD ("RECORD TYPE",            ERRO, INPU, ERRO, ERRO, cmd_record_type)
UNIMPL ("REFORMAT",               ERRO, ERRO, ERRO, ERRO, "Read obsolete files")
UNIMPL ("REGRESSION",             ERRO, ERRO, ERRO, ERRO, "Compute regression coefficients")
DEFCMD ("RENAME VARIABLES",       ERRO, INPU, TRAN, PROC, cmd_rename_variables)
UNIMPL ("REPEATING DATA",         ERRO, INPU, ERRO, ERRO, "Specify multiple cases per input record")
UNIMPL ("REPORT",                 ERRO, ERRO, ERRO, ERRO, "Pretty print working file")
DEFCMD ("REREAD",                 ERRO, INPU, ERRO, ERRO, cmd_reread)
UNIMPL ("RESTORE",		  ERRO, ERRO, ERRO, ERRO, "Restore settings")
UNIMPL ("ROC",   		  ERRO, ERRO, ERRO, ERRO, "Receiver operating characteristic")
UNIMPL ("RMV",                    ERRO, ERRO, ERRO, ERRO, "Replace missing values")
DEFCMD ("SAMPLE",                 ERRO, ERRO, TRAN, TRAN, cmd_sample)
DEFCMD ("SAVE",                   ERRO, ERRO, PROC, PROC, cmd_save)
UNIMPL ("SAVE TRANSLATE",         ERRO, ERRO, ERRO, ERRO, "Save to foriegn format")
UNIMPL ("SCRIPT",                 ERRO, ERRO, ERRO, ERRO, "Run script file")
DEFCMD ("SELECT IF",              ERRO, ERRO, TRAN, TRAN, cmd_select_if)
DEFCMD ("SET",                    INIT, INPU, TRAN, PROC, cmd_set)
DEFCMD ("SHOW",                   INIT, INPU, TRAN, PROC, cmd_show)
DEFCMD ("SORT CASES",             ERRO, ERRO, PROC, PROC, cmd_sort_cases)
DEFCMD ("SORT",                   ERRO, ERRO, PROC, PROC, cmd_sort_cases)
UNIMPL ("SPCHART",                ERRO, ERRO, ERRO, ERRO, "Plot control charts")
DEFCMD ("SPLIT FILE",             ERRO, INPU, TRAN, TRAN, cmd_split_file)
DEFCMD ("STRING",                 ERRO, INPU, TRAN, TRAN, cmd_string)
SPCCMD ("SUBTITLE",               INIT, INPU, TRAN, PROC, cmd_subtitle)
UNIMPL ("SUMMARIZE",              ERRO, ERRO, ERRO, ERRO, "Univariate statistics")
UNIMPL ("SURVIVAL",               ERRO, ERRO, ERRO, ERRO, "Survival analysis")
DEFCMD ("SYSFILE INFO",           INIT, INPU, TRAN, PROC, cmd_sysfile_info)
DEFCMD ("TEMPORARY",              ERRO, ERRO, TRAN, TRAN, cmd_temporary)
SPCCMD ("TITLE",                  INIT, INPU, TRAN, PROC, cmd_title)
UNIMPL ("TSET",                   ERRO, ERRO, ERRO, ERRO, "Set time sequence variables")
UNIMPL ("TSHOW",                  ERRO, ERRO, ERRO, ERRO, "Show time sequence variables")
UNIMPL ("TSPLOT",                 ERRO, ERRO, ERRO, ERRO, "Plot time sequence variables")
DEFCMD ("T-TEST",                 ERRO, ERRO, PROC, PROC, cmd_t_test)
UNIMPL ("UNIANOVA",               ERRO, ERRO, ERRO, ERRO, "Univariate analysis")
UNIMPL ("UNNUMBERED",             ERRO, ERRO, ERRO, ERRO, "obsolete")
UNIMPL ("UPDATE",                 ERRO, ERRO, ERRO, ERRO, "Update working file")
DEFCMD ("USE",			  ERRO, ERRO, TRAN, TRAN, cmd_use)
DEFCMD ("VALUE LABELS",           ERRO, INPU, TRAN, TRAN, cmd_value_labels)
DEFCMD ("VARIABLE LABELS",        ERRO, INPU, TRAN, TRAN, cmd_variable_labels)
DEFCMD ("VARIABLE ALIGNMENT",     ERRO, INPU, TRAN, TRAN, cmd_variable_alignment)
DEFCMD ("VARIABLE LEVEL",         ERRO, INPU, TRAN, TRAN, cmd_variable_level)
DEFCMD ("VARIABLE WIDTH",         ERRO, INPU, TRAN, TRAN, cmd_variable_width)
UNIMPL ("VARSTOCASES",		  ERRO, ERRO, ERRO, ERRO, "Restructure complex data")
DEFCMD ("VECTOR",                 ERRO, INPU, TRAN, TRAN, cmd_vector)
UNIMPL ("VERIFY",                 ERRO, ERRO, ERRO, ERRO, "Report time series")
DEFCMD ("WEIGHT",                 ERRO, INPU, TRAN, TRAN, cmd_weight)
DEFCMD ("WRITE",                  ERRO, INPU, TRAN, TRAN, cmd_write)
DEFCMD ("WRITE FORMATS",          ERRO, INPU, TRAN, TRAN, cmd_write_formats)
DEFCMD ("XSAVE",                  ERRO, INPU, TRAN, TRAN, cmd_xsave)
