Previous: Mfcalc Lexer, Up: Multi-function Calc [Contents][Index]
mfcalc
MainThe error reporting function is unchanged, and the new version of
main
includes a call to init_table
and sets the yydebug
on user demand (See Tracing Your Parser, for details):
/* Called by yyparse on error. */ void yyerror (char const *s) { fprintf (stderr, "%s\n", s); }
int main (int argc, char const* argv[]) { int i; /* Enable parse traces on option -p. */ for (i = 1; i < argc; ++i) if (!strcmp(argv[i], "-p")) yydebug = 1; init_table (); return yyparse (); }
This program is both powerful and flexible. You may easily add new
functions, and it is a simple job to modify this code to install
predefined variables such as pi
or e
as well.