projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sack works
[pspp]
/
src
/
language
/
command.h
diff --git
a/src/language/command.h
b/src/language/command.h
index ec51f658689861494a1b94130d91825c73edac3c..ecd2a752659d663366c3788fe7c9f5d105a36dfe 100644
(file)
--- a/
src/language/command.h
+++ b/
src/language/command.h
@@
-1,21
+1,18
@@
-/* PSPP - computes sample statistics.
- Copyright (C) 1997-9, 2000, 2006 Free Software Foundation, Inc.
- Written by Ben Pfaff <blp@gnu.org>.
+/* PSPP - a program for statistical analysis.
+ Copyright (C) 1997-9, 2000, 2006, 2010, 2013 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 the Free Software Foundation; either version 2 of the
-
License, or
(at your option) any later version.
+ 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 3 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.
+ 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
+ G
NU G
eneral Public License for more details.
You should have received a copy of the GNU General Public License
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. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifndef COMMAND_H
#define COMMAND_H 1
#ifndef COMMAND_H
#define COMMAND_H 1
@@
-30,12
+27,6
@@
enum cmd_result
CMD_EOF = 2, /* End of input. */
CMD_FINISH = 3, /* FINISH was executed. */
CMD_EOF = 2, /* End of input. */
CMD_FINISH = 3, /* FINISH was executed. */
- /* Range of successful return values available for use
- by agreement between a command and the caller of
- cmd_parse(). */
- CMD_PRIVATE_FIRST = 4,
- CMD_PRIVATE_LAST = 127,
-
/* Various kinds of failures. */
CMD_FAILURE = -1, /* Not executed at all. */
CMD_NOT_IMPLEMENTED = -2, /* Command not implemented. */
/* Various kinds of failures. */
CMD_FAILURE = -1, /* Not executed at all. */
CMD_NOT_IMPLEMENTED = -2, /* Command not implemented. */
@@
-48,20
+39,31
@@
bool cmd_result_is_failure (enum cmd_result);
/* Command processing state. */
enum cmd_state
{
/* Command processing state. */
enum cmd_state
{
- CMD_STATE_INITIAL, /* No active
file
yet defined. */
- CMD_STATE_DATA, /* Active
file
has been defined. */
+ CMD_STATE_INITIAL, /* No active
dataset
yet defined. */
+ CMD_STATE_DATA, /* Active
dataset
has been defined. */
CMD_STATE_INPUT_PROGRAM, /* Inside INPUT PROGRAM. */
CMD_STATE_INPUT_PROGRAM, /* Inside INPUT PROGRAM. */
- CMD_STATE_FILE_TYPE /* Inside FILE TYPE. */
+ CMD_STATE_FILE_TYPE, /* Inside FILE TYPE. */
+
+ /* Inside LOOP or DO IF... */
+ CMD_STATE_NESTED_DATA, /* ...in CMD_STATE_DATA. */
+ CMD_STATE_NESTED_INPUT_PROGRAM, /* ...in CMD_STATE_INPUT_PROGRAM. */
};
};
-#if HAVE_READLINE
-char **pspp_attempted_completion_function (const char *, int start, int end);
-#endif
+struct dataset;
+struct lexer;
+
+enum cmd_result cmd_parse_in_state (struct lexer *lexer, struct dataset *ds,
+ enum cmd_state);
+
+enum cmd_result cmd_parse (struct lexer *lexer, struct dataset *ds);
+
+struct command;
+const char *cmd_complete (const char *, const struct command **);
-
enum cmd_result cmd_parse (enum cmd_state)
;
+
struct dataset
;
/* Prototype all the command functions. */
/* Prototype all the command functions. */
-#define DEF_CMD(STATES, FLAGS, NAME, FUNCTION) int FUNCTION (
void
);
+#define DEF_CMD(STATES, FLAGS, NAME, FUNCTION) int FUNCTION (
struct lexer *, struct dataset *
);
#define UNIMPL_CMD(NAME, DESCRIPTION)
#include "command.def"
#undef DEF_CMD
#define UNIMPL_CMD(NAME, DESCRIPTION)
#include "command.def"
#undef DEF_CMD