=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/parse.h,v retrieving revision 1.18 retrieving revision 1.28 diff -u -p -r1.18 -r1.28 --- OpenXM_contrib2/asir2000/parse/parse.h 2003/05/14 06:20:12 1.18 +++ OpenXM_contrib2/asir2000/parse/parse.h 2004/03/03 09:25:30 1.28 @@ -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.17 2003/04/02 09:43:33 ohara Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/parse/parse.h,v 1.27 2004/02/09 08:23:30 noro Exp $ */ # if defined(VISUAL) #include @@ -68,7 +68,7 @@ typedef enum { I_ANS, I_PVAR, I_ASSPVAR, I_FORMULA, I_LIST, I_STR, I_NEWCOMP, I_CAR, I_CDR, I_CAST, I_COM, I_PROC, I_INDEX, I_EV, I_TIMER, I_GF2NGEN, I_GFPNGEN, I_GFSNGEN, - I_LOP, I_OPT, I_GETOPT, I_POINT, I_QUOTE, I_PAREN, I_MINUS + I_LOP, I_OPT, I_GETOPT, I_POINT, I_QUOTE, I_PAREN, I_MINUS, I_RANGE } fid; /* identifiers for statements */ @@ -139,7 +139,7 @@ typedef struct oARF { } *ARF; typedef struct oFUNC { - char *name; + char *name,*fullname; int argc; int type; aid id; @@ -293,11 +293,14 @@ switch ( id ) {\ extern VS GPVS,CPVS,EPVS,APVS,MPVS; extern MODULE CUR_MODULE; extern NODE MODULE_LIST; +extern char *CUR_FUNC; extern ARF addfs, subfs, mulfs, divfs, remfs, pwrfs; extern INFILE asir_infile; extern NODE usrf,sysf,noargsysf,ubinf,parif,ONENODE; extern int nextbp,nextbplevel; extern int Verbose; +extern int do_quiet; +extern SYMBOL Symbol_grlex, Symbol_glex, Symbol_lex; #if defined(VISUAL_LIB) #include @@ -314,7 +317,7 @@ extern int Verbose; #define fflush w_fflush #endif -#if defined(VISUAL) || (defined(__MACH__) && defined(__ppc__)) +#if defined(__GNUC__) || defined(VISUAL) || (defined(__MACH__) && defined(__ppc__)) || defined(__FreeBSD__) NODE mknode(int,...); FNODE mkfnode(int,fid,...); SNODE mksnode(int,sid,...); @@ -368,8 +371,8 @@ void dp_mod(DP,int,NODE,DP *); void dp_prim_mod(DP,int,DP *); void dp_prim(DP,DP *); void heu_nezgcdnpz(VL,P *,int,P *); -void homogenize_order(struct order_spec *,int,struct order_spec *); -int create_order_spec(Obj,struct order_spec *); +void homogenize_order(struct order_spec *,int,struct order_spec **); +int create_order_spec(VL,Obj,struct order_spec **); int dl_equal(int,DL,DL); void qltozl(Q *,int,Q *); @@ -462,7 +465,8 @@ int get_heapsize(void); int searchpvar(char *); void mkparif(char *,FUNC *); void makevar(char *,P *); -void mkpvs(void); +void mkpvs(char *); +MODULE mkmodule(char *); void stoarg(char *,int *,char **); void yyerror(char *); void closecurrentinput(void); @@ -598,12 +602,10 @@ int dp_redble(DP p1,DP p2); void sortbynm(Q *w,int n); int comp_nm(Q *a,Q *b); void qltozl(Q *w,int n,Q *dvr); -void homogenize_order(struct order_spec *old,int n,struct order_spec *new); void dp_rat(DP p,DP *rp); void dp_mod(DP p,int mod,NODE subst,DP *rp); void dp_dehomo(DP p,DP *rp); void dp_homo(DP p,DP *rp); -int create_order_spec(Obj obj,struct order_spec *spec); void dp_nf_tab_mod(DP p,LIST *tab,int mod,DP *rp); void dp_lnf_mod(DP p1,DP p2,NODE g,int mod,DP *r1p,DP *r2p); void dp_lnf_f(DP p1,DP p2,NODE g,DP *r1p,DP *r2p); @@ -767,7 +769,6 @@ void igcd_cofactor(Q a,Q b,Q *gcd,Q *ca,Q *cb); int comp_n(N *a,N *b); int TypeT_NB_check(unsigned int m, unsigned int t); int small_jacobi(int a,int m); -void mkpvs(); void pushpvs(FUNC f); void poppvs(); unsigned int makepvar(char *str); @@ -791,7 +792,7 @@ void chsgnquote(QUOTE a,QUOTE *c); void objtoquote(Obj a,QUOTE *c); void polytoquote(P a,QUOTE *c); void dptoquote(DP a,QUOTE *c); -void dctoquote(DCP dc,QUOTE v,QUOTE *c); +void dctoquote(DCP dc,QUOTE v,QUOTE *c,int *sgn); void mptoquote(MP m,int n,QUOTE *c); void vartoquote(V v,QUOTE *c); void fnodetotree(FNODE f,LIST *rp);