2 * FML interpreter. Europagate, 1995
5 * Revision 1.2 1995/02/09 16:06:06 adam
6 * FML can be called from the outside multiple times by the functions:
7 * fml_exec_call and fml_exec_call_str.
8 * An interactive parameter (-i) to fmltest starts a shell-like
9 * interface to FML by using the fml_exec_call_str function.
11 * Revision 1.1.1.1 1995/02/06 13:48:10 adam
12 * First version of the FML interpreter. It's slow and memory isn't
13 * freed properly. In particular, the FML nodes aren't released yet.
17 typedef struct Fml_record {
18 struct fml_node *list;
19 struct fml_sym_tab *sym_tab;
21 struct fml_atom *atom_free_list;
22 struct fml_node *node_free_list;
28 int (*read_func)(void);
29 void (*err_handle)(int no);
35 int fml_preprocess (Fml fml);
37 void fml_exec (Fml fml);
38 void fml_exec_call (Fml fml);
39 void fml_exec_call_str (Fml fml, const char *str);
41 #define FML_ERR_NOMEM 1