Fix assertion for proper Huffman merge pattern: 0 == 1 modulo 1.
[pspp] / src / command.def
1 /* PSPP - computes sample statistics.
2    Copyright (C) 1997-9, 2000 Free Software Foundation, Inc.
3    Written by Ben Pfaff <blp@gnu.org>.
4
5    This program is free software; you can redistribute it and/or
6    modify it under the terms of the GNU General Public License as
7    published by the Free Software Foundation; either version 2 of the
8    License, or (at your option) any later version.
9
10    This program is distributed in the hope that it will be useful, but
11    WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    General Public License for more details.
14
15    You should have received a copy of the GNU General Public License
16    along with this program; if not, write to the Free Software
17    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
18    02111-1307, USA. */
19
20 /* State abbreviations. */
21 #define INIT STATE_INIT
22 #define INPU STATE_INPUT
23 #define TRAN STATE_TRANS
24 #define PROC STATE_PROC
25 #define ERRO STATE_ERROR
26
27 UNIMPL ("ADD FILES",              TRAN, ERRO, TRAN, TRAN)
28 DEFCMD ("ADD VALUE LABELS",       ERRO, INPU, TRAN, TRAN, cmd_add_value_labels)
29 DEFCMD ("AGGREGATE",              ERRO, ERRO, PROC, TRAN, cmd_aggregate)
30 DEFCMD ("APPLY DICTIONARY",       ERRO, ERRO, TRAN, TRAN, cmd_apply_dictionary)
31 DEFCMD ("AUTORECODE",             ERRO, ERRO, PROC, PROC, cmd_autorecode)
32 SPCCMD ("BEGIN DATA",             ERRO, ERRO, PROC, PROC, cmd_begin_data)
33 DEFCMD ("BREAK",                  ERRO, INPU, TRAN, TRAN, cmd_break)
34 UNIMPL ("CASESTOVARS",            ERRO, ERRO, PROC, PROC)
35 DEFCMD ("CLEAR TRANSFORMATIONS",  ERRO, INPU, TRAN, TRAN, cmd_clear_transformations)
36 DEFCMD ("COMPUTE",                ERRO, INPU, TRAN, TRAN, cmd_compute)
37 DEFCMD ("CORRELATIONS",           ERRO, ERRO, PROC, PROC, cmd_correlations)
38 DEFCMD ("CONDESCRIPTIVES",        ERRO, ERRO, PROC, PROC, cmd_descriptives)
39 DEFCMD ("COUNT",                  ERRO, INPU, TRAN, TRAN, cmd_count)
40 DEFCMD ("CROSSTABS",              ERRO, ERRO, PROC, PROC, cmd_crosstabs)
41 DEFCMD ("DATA LIST",              TRAN, INPU, TRAN, TRAN, cmd_data_list)
42 DEFCMD ("DEBUG CASEFILE",         INIT, INPU, TRAN, PROC, cmd_debug_casefile)
43 DEFCMD ("DEBUG EVALUATE",         INIT, INPU, TRAN, PROC, cmd_debug_evaluate)
44 DEFCMD ("DEBUG MOMENTS",          INIT, INPU, TRAN, PROC, cmd_debug_moments)
45 DEFCMD ("DESCRIPTIVES",           ERRO, ERRO, PROC, PROC, cmd_descriptives)
46 DEFCMD ("DISPLAY",                ERRO, INPU, TRAN, PROC, cmd_display)
47 DEFCMD ("DO IF",                  ERRO, INPU, TRAN, TRAN, cmd_do_if)
48 DEFCMD ("DO REPEAT",              ERRO, INPU, TRAN, TRAN, cmd_do_repeat)
49 SPCCMD ("DOCUMENT",               ERRO, INPU, TRAN, TRAN, cmd_document)
50 DEFCMD ("DROP DOCUMENTS",         INIT, INPU, TRAN, PROC, cmd_drop_documents)
51 UNIMPL ("EDIT",                   INIT, INPU, TRAN, PROC)
52 DEFCMD ("ELSE",                   ERRO, INPU, TRAN, TRAN, cmd_else)
53 DEFCMD ("ELSE IF",                ERRO, INPU, TRAN, TRAN, cmd_else_if)
54 DEFCMD ("END CASE",               ERRO, INPU, ERRO, ERRO, cmd_end_case)
55 DEFCMD ("END FILE",               ERRO, INPU, ERRO, ERRO, cmd_end_file)
56 DEFCMD ("END FILE TYPE",          ERRO, TRAN, ERRO, ERRO, cmd_end_file_type)
57 DEFCMD ("END IF",                 ERRO, INPU, TRAN, TRAN, cmd_end_if)
58 DEFCMD ("END INPUT PROGRAM",      ERRO, TRAN, ERRO, ERRO, cmd_end_input_program)
59 DEFCMD ("END LOOP",               ERRO, INPU, TRAN, TRAN, cmd_end_loop)
60 DEFCMD ("END REPEAT",             ERRO, INPU, TRAN, TRAN, cmd_end_repeat)
61 DEFCMD ("ERASE",                  INIT, INPU, TRAN, PROC, cmd_erase)
62 DEFCMD ("EXAMINE",                ERRO, ERRO, PROC, PROC, cmd_examine)
63 DEFCMD ("EXECUTE",                ERRO, ERRO, PROC, PROC, cmd_execute)
64 DEFCMD ("EXIT",                   INIT, INPU, TRAN, PROC, cmd_exit)
65 DEFCMD ("EXPORT",                 ERRO, ERRO, PROC, PROC, cmd_export)
66 DEFCMD ("FILE HANDLE",            INIT, INPU, TRAN, PROC, cmd_file_handle)
67 SPCCMD ("FILE LABEL",             INIT, INPU, TRAN, PROC, cmd_file_label)
68 DEFCMD ("FILE TYPE",              INPU, ERRO, INPU, INPU, cmd_file_type)
69 DEFCMD ("FILTER",                 ERRO, ERRO, TRAN, TRAN, cmd_filter)
70 DEFCMD ("FINISH",                 INIT, INPU, TRAN, PROC, cmd_finish)
71 DEFCMD ("FLIP",                   ERRO, ERRO, PROC, PROC, cmd_flip)
72 DEFCMD ("FORMATS",                INIT, INPU, TRAN, PROC, cmd_formats)
73 DEFCMD ("FREQUENCIES",            ERRO, ERRO, PROC, PROC, cmd_frequencies)
74 DEFCMD ("GET",                    TRAN, ERRO, TRAN, TRAN, cmd_get)
75 DEFCMD ("HOST",                   INIT, INPU, TRAN, PROC, cmd_host)
76 DEFCMD ("IF",                     ERRO, INPU, TRAN, TRAN, cmd_if)
77 DEFCMD ("INCLUDE",                INIT, INPU, TRAN, PROC, cmd_include)
78 UNIMPL ("INFO",                   INIT, INPU, TRAN, PROC)
79 DEFCMD ("IMPORT",                 TRAN, ERRO, TRAN, TRAN, cmd_import)
80 UNIMPL ("INPUT MATRIX",           INIT, INPU, TRAN, PROC)
81 DEFCMD ("INPUT PROGRAM",          INPU, ERRO, INPU, INPU, cmd_input_program)
82 UNIMPL ("KEYED DATA LIST",        INPU, ERRO, INPU, INPU)
83 DEFCMD ("LEAVE",                  ERRO, INPU, TRAN, TRAN, cmd_leave)
84 DEFCMD ("LIST",                   ERRO, ERRO, PROC, PROC, cmd_list)
85 DEFCMD ("LOOP",                   ERRO, INPU, TRAN, TRAN, cmd_loop)
86 DEFCMD ("MATCH FILES",            TRAN, ERRO, TRAN, PROC, cmd_match_files)
87 DEFCMD ("MATRIX DATA",            TRAN, ERRO, TRAN, TRAN, cmd_matrix_data)
88 DEFCMD ("MEANS",                  ERRO, ERRO, PROC, PROC, cmd_means)
89 DEFCMD ("MISSING VALUES",         ERRO, INPU, TRAN, TRAN, cmd_missing_values)
90 DEFCMD ("MODIFY VARS",            ERRO, ERRO, TRAN, PROC, cmd_modify_vars)
91 DEFCMD ("NEW FILE",               INIT, ERRO, INIT, INIT, cmd_new_file)
92 DEFCMD ("N",                      INIT, INPU, TRAN, TRAN, cmd_n_of_cases)
93 DEFCMD ("N OF CASES",             INIT, INPU, TRAN, TRAN, cmd_n_of_cases)
94 UNIMPL ("NUMBERED",               INIT, INPU, TRAN, PROC)
95 DEFCMD ("NUMERIC",                ERRO, INPU, TRAN, TRAN, cmd_numeric)
96 UNIMPL ("UNNUMBERED",             INIT, INPU, TRAN, PROC)
97 DEFCMD ("ONEWAY",                 ERRO, ERRO, PROC, PROC, cmd_oneway)
98 DEFCMD ("PERMISSIONS",            INIT, INPU, TRAN, PROC, cmd_permissions)
99 DEFCMD ("PEARSON CORRELATIONS",   ERRO, ERRO, PROC, PROC, cmd_correlations)
100 UNIMPL ("POINT",                  ERRO, INPU, ERRO, ERRO)
101 UNIMPL ("PRESERVE",               INIT, INPU, TRAN, PROC)
102 DEFCMD ("PRINT",                  ERRO, INPU, TRAN, TRAN, cmd_print)
103 DEFCMD ("PRINT EJECT",            ERRO, INPU, TRAN, TRAN, cmd_print_eject)
104 DEFCMD ("PRINT FORMATS",          ERRO, INPU, TRAN, TRAN, cmd_print_formats)
105 DEFCMD ("PRINT SPACE",            ERRO, INPU, TRAN, TRAN, cmd_print_space)
106 UNIMPL ("PROCEDURE OUTPUT",       INIT, INPU, TRAN, PROC)
107 DEFCMD ("PROCESS IF",             ERRO, ERRO, TRAN, TRAN, cmd_process_if)
108 DEFCMD ("Q",                      INIT, INPU, TRAN, PROC, cmd_exit)
109 DEFCMD ("QUIT",                   INIT, INPU, TRAN, PROC, cmd_exit)
110 DEFCMD ("RECODE",                 ERRO, INPU, TRAN, TRAN, cmd_recode)
111 DEFCMD ("RECORD TYPE",            ERRO, INPU, ERRO, ERRO, cmd_record_type)
112 UNIMPL ("REFORMAT",               ERRO, ERRO, TRAN, TRAN)
113 DEFCMD ("RENAME VARIABLES",       ERRO, INPU, TRAN, PROC, cmd_rename_variables)
114 DEFCMD ("REPEATING DATA",         ERRO, INPU, ERRO, ERRO, cmd_repeating_data)
115 DEFCMD ("REREAD",                 ERRO, INPU, ERRO, ERRO, cmd_reread)
116 UNIMPL ("RESTORE",                INIT, INPU, TRAN, PROC)
117 DEFCMD ("SAMPLE",                 ERRO, ERRO, TRAN, TRAN, cmd_sample)
118 DEFCMD ("SAVE",                   ERRO, ERRO, PROC, PROC, cmd_save)
119 DEFCMD ("SELECT IF",              ERRO, ERRO, TRAN, TRAN, cmd_select_if)
120 DEFCMD ("SET",                    INIT, INPU, TRAN, PROC, cmd_set)
121 DEFCMD ("SHOW",                   INIT, INPU, TRAN, PROC, cmd_show)
122 DEFCMD ("SORT",                   ERRO, ERRO, PROC, PROC, cmd_sort_cases)
123 DEFCMD ("SORT CASES",             ERRO, ERRO, PROC, PROC, cmd_sort_cases)
124 DEFCMD ("SPLIT FILE",             ERRO, INPU, TRAN, TRAN, cmd_split_file)
125 DEFCMD ("STRING",                 ERRO, INPU, TRAN, TRAN, cmd_string)
126 SPCCMD ("SUBTITLE",               INIT, INPU, TRAN, PROC, cmd_subtitle)
127 DEFCMD ("SYSFILE INFO",           INIT, INPU, TRAN, PROC, cmd_sysfile_info)
128 DEFCMD ("TEMPORARY",              ERRO, ERRO, TRAN, TRAN, cmd_temporary)
129 SPCCMD ("TITLE",                  INIT, INPU, TRAN, PROC, cmd_title)
130 DEFCMD ("T-TEST",                 ERRO, ERRO, PROC, PROC, cmd_t_test)
131 UNIMPL ("UPDATE",                 TRAN, ERRO, TRAN, TRAN)
132 DEFCMD ("USE",                    ERRO, ERRO, TRAN, TRAN, cmd_use)
133 DEFCMD ("VALUE LABELS",           ERRO, INPU, TRAN, TRAN, cmd_value_labels)
134 DEFCMD ("VARIABLE LABELS",        ERRO, INPU, TRAN, TRAN, cmd_variable_labels)
135 UNIMPL ("VARSTOCASES",            ERRO, ERRO, PROC, PROC)
136 DEFCMD ("VECTOR",                 ERRO, INPU, TRAN, TRAN, cmd_vector)
137 DEFCMD ("WEIGHT",                 ERRO, INPU, TRAN, TRAN, cmd_weight)
138 DEFCMD ("WRITE",                  ERRO, INPU, TRAN, TRAN, cmd_write)
139 DEFCMD ("WRITE FORMATS",          ERRO, INPU, TRAN, TRAN, cmd_write_formats)
140 DEFCMD ("XSAVE",                  ERRO, INPU, TRAN, TRAN, cmd_xsave)