1 /*
2  *  gretl -- Gnu Regression, Econometrics and Time-series Library
3  *  Copyright (C) 2001 Allin Cottrell and Riccardo "Jack" Lucchetti
4  *
5  *  This program is free software: you can redistribute it and/or modify
6  *  it under the terms of the GNU General Public License as published by
7  *  the Free Software Foundation, either version 3 of the License, or
8  *  (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU 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, see <http://www.gnu.org/licenses/>.
17  *
18  */
19 
20 #ifndef COMMANDS_H
21 #define COMMANDS_H
22 
23 typedef enum {
24     ADD = 1,
25     ADF,
26     ANOVA,
27     APPEND,
28     AR,
29     AR1,
30     ARCH,
31     ARMA,
32     BDS,
33     BIPROBIT,
34     BKW,
35     BREAK,
36     BXPLOT,
37     CHOW,
38     CLEAR,
39     COEFFSUM,
40     COINT,
41     COINT2,
42     CORR,
43     CORRGM,
44     CUSUM,
45     DATA,
46     DATAMOD,
47     DELEET,
48     DIFF,
49     DIFFTEST,
50     DISCRETE,
51     DPANEL,
52     DUMMIFY,
53     DURATION,
54     ELIF,
55     ELSE,
56     END,
57     ENDIF,
58     ENDLOOP,
59     EQNPRINT,
60     EQUATION,
61     ESTIMATE,
62     EVAL,
63     FCAST,
64     FLUSH,
65     FOREIGN,
66     FRACTINT,
67     FREQ,
68     FUNC,
69     FUNCERR,
70     GARCH,
71     GENR,
72     GMM,
73     GNUPLOT,
74     GRAPHPG,
75     HECKIT,
76     HELP,
77     HFPLOT,
78     HSK,
79     HURST,
80     IF,
81     INCLUDE,
82     INFO,
83     INTREG,
84     JOIN,
85     KPSS,
86     LABELS,
87     LAD,
88     LAGS,
89     LDIFF,
90     LEVERAGE,
91     LEVINLIN,
92     LOGISTIC,
93     LOGIT,
94     LOGS,
95     LOOP,
96     MAHAL,
97     MAKEPKG,
98     MARKERS,
99     MEANTEST,
100     MIDASREG,
101     MLE,
102     MODELTAB,
103     MODPRINT,
104     MODTEST,
105     MPI,
106     MPOLS,
107     NEGBIN,
108     NLS,
109     NORMTEST,
110     NULLDATA,
111     OLS,
112     OMIT,
113     OPEN,
114     ORTHDEV,
115     OUTFILE,
116     PANEL,
117     PANPLOT,
118     PANSPEC,
119     PCA,
120     PERGM,
121     PLOT,
122     POISSON,
123     PRINT,
124     PRINTF,
125     PROBIT,
126     PVAL,
127     QUANTREG,
128     QLRTEST,
129     QQPLOT,
130     QUIT,
131     RENAME,
132     RESET,
133     RESTRICT,
134     RMPLOT,
135     RUN,
136     RUNS,
137     SCATTERS,
138     SDIFF,
139     SET,
140     SETINFO,
141     SETOBS,
142     SETOPT,
143     SETMISS,
144     SHELL,
145     SMPL,
146     SPEARMAN,
147     SPRINTF,
148     SQUARE,
149     SSCANF,
150     STDIZE,
151     STORE,
152     SUMMARY,
153     SYSTEM,
154     TABPRINT,
155     TEXTPLOT,
156     TOBIT,
157     IVREG,
158     VAR,
159     VARLIST,
160     VARTEST,
161     VECM,
162     VIF,
163     WLS,
164     XCORRGM,
165     XTAB,
166     FUNDEBUG,
167     FUNCRET,
168     CATCH,
169     PKG,
170     NC
171 } GretlCmdIndex;
172 
173 #define TEXTSAVE_OK(c) (c == ADF || \
174 			c == BDS || \
175 	                c == BKW || \
176                         c == CHOW || \
177                         c == COEFFSUM || \
178                         c == COINT || \
179                         c == COINT2 || \
180                         c == CORR || \
181                         c == CORRGM || \
182                         c == CUSUM || \
183                         c == FCAST || \
184                         c == FREQ || \
185                         c == PANSPEC || \
186                         c == KPSS || \
187                         c == LEVERAGE || \
188                         c == LEVINLIN || \
189                         c == MODTEST || \
190                         c == MEANTEST || \
191                         c == MPOLS || \
192 			c == NORMTEST || \
193                         c == PCA || \
194                         c == PERGM || \
195                         c == PRINT || \
196                         c == PRINTF || \
197                         c == PVAL || \
198                         c == QLRTEST || \
199                         c == RESET || \
200                         c == RMPLOT || \
201                         c == RUNS || \
202                         c == SPEARMAN || \
203                         c == SUMMARY || \
204                         c == TEXTPLOT || \
205                         c == VIF || \
206                         c == VARTEST || \
207                         c == XCORRGM || \
208                         c == XTAB)
209 
210 #define NEEDS_MODEL_CHECK(c) (c == ADD || \
211 	                      c == BKW || \
212                               c == CHOW || \
213                               c == COEFFSUM || \
214                               c == CUSUM || \
215                               c == EQNPRINT || \
216                               c == FCAST || \
217                               c == PANSPEC || \
218                               c == LEVERAGE || \
219                               c == MODTEST || \
220                               c == OMIT || \
221                               c == QLRTEST || \
222                               c == RESET || \
223                               c == TABPRINT || \
224                               c == VIF)
225 
226 #define GRAPHING_COMMAND(c) (c == GNUPLOT || \
227                              c == PLOT || \
228 			     c == BXPLOT ||  \
229 			     c == SCATTERS || \
230 			     c == CORRGM || \
231 			     c == XCORRGM || \
232 			     c == PERGM || \
233 			     c == RMPLOT || \
234 			     c == HFPLOT || \
235 			     c == HURST || \
236 			     c == LEVERAGE || \
237 			     c == QLRTEST ||  \
238 			     c == QQPLOT || \
239 			     c == FREQ || \
240 			     c == FCAST || \
241 			     c == CORR || \
242 			     c == CUSUM || \
243 			     c == PANPLOT)
244 
245 int gretl_command_number (const char *s);
246 
247 const char *gretl_command_word (int i);
248 
249 int word_is_genr_alias (const char *s);
250 
251 const char *gretl_command_complete_next (const char *s, int idx);
252 
253 const char *gretl_command_complete (const char *s);
254 
255 void gretl_command_hash_cleanup (void);
256 
257 #endif /* COMMANDS_H */
258