First version of the FML interpreter. It's slow and memory isn't
[egate.git] / fml / fml.h
1 /*
2  * FML interpreter. Europagate, 1995
3  *
4  * $Log: fml.h,v $
5  * Revision 1.1.1.1  1995/02/06 13:48:10  adam
6  * First version of the FML interpreter. It's slow and memory isn't
7  * freed properly. In particular, the FML nodes aren't released yet.
8  *
9  */
10
11 typedef struct Fml_record {
12     struct fml_node *list;
13     struct fml_sym_tab *sym_tab;
14
15     struct fml_atom *atom_free_list;
16     struct fml_node *node_free_list;
17
18     int escape_char;
19     int eof_mark;
20     char *white_chars;
21     char comment_char;
22     int (*read_func)(void);
23     void (*err_handle)(int no);
24
25     int debug;
26 } *Fml;
27
28 Fml fml_open (void);
29 int fml_preprocess (Fml fml);
30 void fml_exec (Fml fml);
31
32 #define FML_ERR_NOMEM 1
33