--- ray/src/common/calcomp.h 2003/06/07 12:50:20 2.10 +++ ray/src/common/calcomp.h 2004/04/29 22:32:11 2.18 @@ -1,18 +1,16 @@ -/* RCSid $Id: calcomp.h,v 2.10 2003/06/07 12:50:20 schorsch Exp $ */ +/* RCSid $Id: calcomp.h,v 2.18 2004/04/29 22:32:11 greg Exp $ */ /* * calcomp.h - header file for expression parser. */ #ifndef _RAD_CALCOMP_H_ #define _RAD_CALCOMP_H_ + +#include + #ifdef __cplusplus extern "C" { #endif - -#include "copyright.h" - -#include - #define VAR 1 #define NUM 2 #define UMINUS 3 @@ -27,7 +25,7 @@ typedef struct { char *fname; /* function name */ short nargs; /* # of required arguments */ short atyp; /* assignment type (':' or '=') */ - double (*f)(); /* pointer to function */ + double (*f)(char *); /* pointer to function */ } LIBR; /* a library function */ typedef struct epnode { @@ -51,7 +49,7 @@ typedef struct epnode { typedef struct vardef VARDEF; /* a variable definition */ -#define MAXWORD 127 /* maximum word/id length */ +#define RMAXWORD 127 /* maximum word/id length */ #define CNTXMARK '`' /* context mark */ #define isid(c) (isalnum(c) || (c) == '_' || \ @@ -67,12 +65,15 @@ typedef struct vardef VARDEF; /* a variable definitio #define E_RCONST 020 #define E_REDEFW 040 -extern double (*eoper[])(); +extern double (*eoper[])(EPNODE *); extern unsigned long eclock; extern unsigned int esupport; extern EPNODE *curfunc; extern int nextc; + /* defined in biggerlib.c */ +extern void biggerlib(void); + /* defined in caldefn.c */ extern void fcompile(char *fname); extern void scompile(char *str, char *fname, int ln); @@ -98,9 +99,9 @@ extern EPNODE *dnext(void); extern EPNODE *dpop(char *name); extern void dpush(char *nm, EPNODE *ep); extern void addchan(EPNODE *sp); -extern void getstatement(); -extern EPNODE *getdefn(); -extern EPNODE *getchan(); +extern void getstatement(void); +extern EPNODE *getdefn(void); +extern EPNODE *getchan(void); /* defined in calexpr.c */ extern EPNODE *eparse(char *expr); extern double eval(char *expr); @@ -129,7 +130,8 @@ extern int isconstfun(EPNODE *ep); /* defined in calfunc.c */ extern int fundefined(char *fname); extern double funvalue(char *fname, int n, double *a); -extern void funset(char *fname, int nargs, int assign, double (*fptr)()); +extern void funset(char *fname, int nargs, int assign, + double (*fptr)(char *)); extern int nargum(void); extern double argument(int n); extern VARDEF *argf(int n); @@ -140,19 +142,6 @@ extern void libupdate(char *fn); /* defined in calprnt.c */ extern void eprint(EPNODE *ep, FILE *fp); extern void dprint(char *name, FILE *fp); - /* defined in savestr.c */ -extern char *savestr(char *str); -extern void freestr(char *s); -extern int shash(char *s); - /* defined in ealloc.c */ -extern char *emalloc(unsigned int n); -extern char *ecalloc(unsigned int ne, unsigned int es); -extern char *erealloc(char *cp, unsigned int n); -extern void efree(char *cp); - /* miscellaneous */ -extern void eputs(char *s); -extern void wputs(char *s); -extern void quit(int code); /* defined by client */ extern double chanvalue(int n);