--- /dev/null
+/*
+ * FML interpreter. Europagate, 1995
+ *
+ * $Log: fml.h,v $
+ * Revision 1.1 1995/02/20 21:15:46 adam
+ * Moved files to include.
+ *
+ * Revision 1.3 1995/02/10 15:50:55 adam
+ * MARC interface implemented. Minor bugs fixed. fmltest can
+ * be used to format single MARC records. New function '\list'
+ * implemented.
+ *
+ * Revision 1.2 1995/02/09 16:06:06 adam
+ * FML can be called from the outside multiple times by the functions:
+ * fml_exec_call and fml_exec_call_str.
+ * An interactive parameter (-i) to fmltest starts a shell-like
+ * interface to FML by using the fml_exec_call_str function.
+ *
+ * Revision 1.1.1.1 1995/02/06 13:48:10 adam
+ * First version of the FML interpreter. It's slow and memory isn't
+ * freed properly. In particular, the FML nodes aren't released yet.
+ *
+ */
+
+#ifndef FML_H
+#define FML_H
+typedef struct Fml_record {
+ struct fml_node *list;
+ struct fml_sym_tab *sym_tab;
+
+ struct fml_atom *atom_free_list;
+ struct fml_node *node_free_list;
+
+ int escape_char;
+ int eof_mark;
+ char *white_chars;
+ char comment_char;
+ int (*read_func)(void);
+ void (*err_handle)(int no);
+
+ int debug;
+} *Fml;
+
+Fml fml_open (void);
+int fml_preprocess (Fml fml);
+
+void fml_exec (Fml fml);
+void fml_exec_call (Fml fml);
+void fml_exec_call_str (Fml fml, const char *str);
+void fml_exec_call_argv (Fml fml, const char **argv);
+
+#define FML_ERR_NOMEM 1
+
+#endif
--- /dev/null
+/*
+ * FML interpreter. Europagate, 1995
+ *
+ * $Log: fmlmarc.h,v $
+ * Revision 1.1 1995/02/20 21:15:47 adam
+ * Moved files to include.
+ *
+ * Revision 1.1 1995/02/10 15:50:56 adam
+ * MARC interface implemented. Minor bugs fixed. fmltest can
+ * be used to format single MARC records. New function '\list'
+ * implemented.
+ *
+ *
+ */
+
+#ifndef FML_MARC_H
+#define FML_MARC_H
+#include <iso2709.h>
+#include <fml.h>
+
+char *marc_to_str (Fml fml, Iso2709Rec rec);
+#endif