=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/parse.h,v retrieving revision 1.42 retrieving revision 1.56 diff -u -p -r1.42 -r1.56 --- OpenXM_contrib2/asir2000/parse/parse.h 2005/11/04 07:03:38 1.42 +++ OpenXM_contrib2/asir2000/parse/parse.h 2017/08/31 02:36:21 1.56 @@ -45,9 +45,9 @@ * 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.41 2005/11/02 05:18:42 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/parse/parse.h,v 1.55 2015/08/14 13:51:56 fujimoto Exp $ */ -# if defined(VISUAL) +# if defined(VISUAL) || defined(__MINGW32__) #include #else #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_FUNC_HEAD + I_NARYOP, I_CONS, I_FUNC_QARG, I_FUNC_HEAD, I_EVM } 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; @@ -195,8 +197,9 @@ typedef struct oPFINS { typedef struct oFNODE { short id; - char normalized; - char expanded; + unsigned normalized:1; + unsigned expanded:2; + unsigned coef:1; pointer arg[1]; } *FNODE; @@ -338,7 +341,7 @@ extern NODE current_option; #define fflush w_fflush #endif -#if defined(__GNUC__) || defined(VISUAL) || (defined(__MACH__) && defined(__ppc__)) || defined(__FreeBSD__) +#if defined(__GNUC__) || defined(VISUAL) || defined(__MINGW32__) || (defined(__MACH__) && defined(__ppc__)) || defined(__FreeBSD__) NODE mknode(int,...); FNODE mkfnode(int,fid,...); SNODE mksnode(int,sid,...); @@ -398,33 +401,6 @@ int create_order_spec(VL,Obj,struct order_spec **); int dl_equal(int,DL,DL); void qltozl(Q *,int,Q *); -int cmpdl_matrix(int,DL,DL); -int cmpdl_order_pair(int,DL,DL); -int cmpdl_elim(int,DL,DL); -int cmpdl_blexrev(int,DL,DL); -int cmpdl_bgradrev(int,DL,DL); -int cmpdl_brevrev(int,DL,DL); -int cmpdl_brevgradlex(int,DL,DL); -int cmpdl_bgradlex(int,DL,DL); -int cmpdl_blex(int,DL,DL); -int cmpdl_revgradlex(int,DL,DL); -int cmpdl_gradlex(int,DL,DL); -int cmpdl_revlex(int,DL,DL); -int cmpdl_lex(int,DL,DL); -int compd(VL,DP,DP); -void adddl(int,DL,DL,DL *); -void divsdc(VL,DP,P,DP *); -void muldc(VL,DP,P,DP *); -void muldm(VL,DP,MP,DP *); -void muld(VL,DP,DP,DP *); -void chsgnd(DP,DP *); -void subd(VL,DP,DP,DP *); -void addd(VL,DP,DP,DP *); -int sugard(MP); -void nodetod(NODE,DP *); -void dtop(VL,VL,DP,P *); -void ptod(VL,VL,P,DP *); -void initd(struct order_spec *); int mainparse(SNODE *); int exprparse(FUNC,char *,FNODE *); @@ -464,7 +440,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); @@ -483,7 +458,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 *); @@ -512,10 +487,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 *); @@ -651,7 +624,6 @@ void dp_mbase(NODE hlist,NODE *mbase); void dp_idiv(DP p,Q c,DP *rp); void dp_ptozp2(DP p0,DP p1,DP *hp,DP *rp); void dp_ptozp(DP p,DP *rp); -int eqdl(int nv,DL dl1,DL dl2); void _dpmod_to_vect(DP f,DL *at,int *b); void _tf_to_vect_compress(NODE tf,DL *at,CDP *b); void dp_to_vect(DP f,DL *at,Q *b); @@ -823,7 +795,6 @@ void prompt() ; void sprompt(char *ptr); void process_args(int ac,char **av); void sig_init() ; -static void (*old_int)(int);; void asir_save_handler() ; void asir_set_handler() ; void asir_reset_handler() ; @@ -892,7 +863,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);