//#ifdef	__STDC__
# define ARG(list) list
//#else
//# define ARG(list) ()
//# define void int
//# define EXIT_SUCCESS 0
//#endif

int	main ARG((void));
void	builtin ARG((char *cp, float (*fp)()));
void	process ARG((void));
void	ask ARG((void));
void	badline ARG((void));
void	pushcntl ARG((void));
void	popcntl ARG((void));
void	popdo ARG((void));
void	popfor ARG((void));
void	clearfors ARG((struct sym *sp));
void	inject ARG((int c));
int	getline ARG((char *cp, FILE *fp));
void	type ARG((void));
void	save ARG((struct lno *lnop, FILE *fp));
void	erasesyms ARG((void));

float	eval ARG((void));
float	primary ARG((void));
float	term ARG((void));
struct sym	*lookup ARG((char *id, int type, int subs));
struct sym	*getsym ARG((void));

#ifdef FUNCTIONS
float	fsin ARG((float arg));
float	fcos ARG((float arg));
float	fexp ARG((float arg));
float	flog ARG((float arg));
float	fatn ARG((float arg));
float	fsqt ARG((float arg));
float	fabt ARG((float arg));
float	fsgn ARG((float arg));
float	fitr ARG((float arg));
float	fran ARG((float arg));
#endif

void	librarys ARG((void));
void	catchcc ARG((void));
void	onintr ARG((void));
void	putline ARG((struct line *lp, FILE *fp));
void	getlno ARG((struct lno *lnop, int c));
int	getnum ARG((int c));
struct linex	*alocline ARG((char *cp));
void	diag ARG((char *s));
int	getnb ARG((void));
float	drand48 ARG((void));
