int Recipe::ParseRecipe(Lexer &l) { lex= &l; lex->token(cur_tok); try { topNode=ParseStatementList(); } catch (const char *p) { l.errmsg(p); return (-1); } #if NEED_NONCONST_EXCEPTIONS catch (char *p) { l.errmsg(p); return (-1); } #endif if (cur_tok.Type() != cur_tok.eof) { l.errmsg("Syntax error."); return (-1); } return (0); }