extern void* xmalloc(size_t size);
extern char* xstrdup(const char*);
extern void packed_to_token(long, char token[]);
+extern void token_to_packed(char token[], long*);
extern void speak(const char*);
extern bool wordeq(token_t, token_t);
extern bool wordempty(token_t);
enum speechpart {unknown, intransitive, transitive};
+struct command_t {
+ enum speechpart part;
+ vocab_t verb;
+ vocab_t obj;
+};
+
void initialise(void);
-int action(FILE *input, enum speechpart part, token_t verb, token_t obj);
+int action(FILE *input, struct command_t command);
/* Phase codes for action returns.
* These were at one time FORTRAN line numbers.