Sindbad~EG File Manager
/* The following structure encapsulates the global variables needed to
control the parser. If it changes, change the initialization of
parser_flags in wgetprob.c */
typedef struct
{
int separator; /* separator is explained in display.c */
int decimalchar; /* character to use for a decimal point */
int unwritten_mult; /* nonzero means don't have to write '*' */
int complex; /* pass nonzero to parse 'i' as complexi */
int long_identifiers; /* 2 means x1,x2.. are ok; 0 means only
one-letter identifiers; 1 means long ones ok */
/* indexed variables like x[3] are not accepted; this
would be parsed as x * 3 */
/* Greek letters like 'alpha', and 'true' and 'false',
are always accepted */
int letflag; /* user intends to define a function */
char functions[8]; /* This string contains characters which will (by default)
be treated as functions in context f(x+y);
for example "fgh" or "fFgG" */
} parser_control;
char get_decimalchar(void); // needed in pstring.c
/* Following functions are exported by parser.dll */
int parse(parser_control *,term *expr,char *in,char **out);
int bparse(parser_control *,term *expr,char *in,char **out);
short correct_arity(short); /* parser.c */
short string_functor( char *buffer); /* string to known functor */
void definefn(char *f, unsigned short arity);
void undefinefn(char *f);
short strip_functor(char *buffer, int *len);
/* pem is no longer in parser.dll, since it has to cope with
different languages */
const char *pem(int);
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists