=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/parse.h,v retrieving revision 1.40 retrieving revision 1.51 diff -u -p -r1.40 -r1.51 --- OpenXM_contrib2/asir2000/parse/parse.h 2005/10/26 07:33:03 1.40 +++ OpenXM_contrib2/asir2000/parse/parse.h 2013/06/13 17:57:21 1.51 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/parse/parse.h,v 1.39 2005/09/30 01:35:25 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/parse/parse.h,v 1.50 2013/06/13 07:45:28 ohara Exp $ */ # if defined(VISUAL) #include @@ -69,7 +69,7 @@ typedef enum { I_FORMULA, I_LIST, I_STR, I_NEWCOMP, I_CAR, I_CDR, I_CAST, I_INDEX, I_EV, I_TIMER, I_GF2NGEN, I_GFPNGEN, I_GFSNGEN, I_LOP, I_OPT, I_GETOPT, I_POINT, I_PAREN, I_MINUS, - I_NARYOP, I_CONS + I_NARYOP, I_CONS, I_FUNC_QARG, I_FUNC_HEAD, } fid; /* identifiers for statements */ @@ -123,6 +123,8 @@ typedef struct oPV { typedef struct oINFILE { char *name; FILE *fp; + JMP_BUF jmpbuf; + int ready_for_longjmp; int ln; struct oINFILE *next; char *tname; @@ -136,7 +138,7 @@ struct oTKWD { }; typedef struct fid_spec { - fid id; + fid id; farg_type type[10]; } *fid_spec_p; @@ -194,7 +196,10 @@ typedef struct oPFINS { #define NEWPF(p) ((p)=(PF)MALLOC(sizeof(struct oPF))) typedef struct oFNODE { - fid id; + short id; + unsigned normalized:1; + unsigned expanded:2; + unsigned coef:1; pointer arg[1]; } *FNODE; @@ -462,7 +467,6 @@ void tty_reset(void); void set_timer(int); void reset_timer(void); void int_handler(int); -void int_handler(int); void segv_handler(int); void bus_handler(int); void fpe_handler(int); @@ -481,7 +485,7 @@ int yyparse(void); void nodetod(NODE,DP *); void poppvs(void); int length(NODE); -int get_heapsize(void); +size_t get_heapsize(void); int searchpvar(char *); void mkparif(char *,FUNC *); void makevar(char *,P *); @@ -510,10 +514,8 @@ void printv(VL,V); void sprintv(VL,V); int arf_comp(VL, Obj, Obj); int complist(VL, LIST, LIST); -int complist(VL, LIST, LIST); int getcompsize(int); int getpvar(VS,char *,int); -int getpvar(VS,char *,int); int gettype(unsigned int); int indextotype(int,int); int loadfile(char *); @@ -890,7 +892,8 @@ pointer evalmapf(FUNC f,FNODE a); pointer eval_rec_mapf(FUNC f,FNODE a); pointer beval_rec_mapf(FUNC f,NODE node); pointer bevalf(FUNC f,NODE a); -pointer evalif(FNODE f,FNODE a); +pointer bevalf_with_opts(FUNC f,NODE a,NODE opts); +pointer evalif(FNODE f,FNODE a,FNODE opt); pointer evalpf(PF pf,NODE args,NODE deriv); void evalnodebody(NODE sn,NODE *dnp); void gen_searchf(char *name,FUNC *r);