=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/parse.h,v retrieving revision 1.28 retrieving revision 1.35 diff -u -p -r1.28 -r1.35 --- OpenXM_contrib2/asir2000/parse/parse.h 2004/03/03 09:25:30 1.28 +++ OpenXM_contrib2/asir2000/parse/parse.h 2005/07/27 04:35:11 1.35 @@ -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.27 2004/02/09 08:23:30 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/parse/parse.h,v 1.34 2005/01/12 10:38:07 noro Exp $ */ # if defined(VISUAL) #include @@ -67,8 +67,9 @@ typedef enum { I_FUNC, I_FUNC_OPT, I_IFUNC, I_MAP, I_RECMAP, I_PFDERIV, 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_RANGE + 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 } fid; /* identifiers for statements */ @@ -77,7 +78,8 @@ typedef enum { S_BP, S_PFDEF, S_SINGLE, S_CPLX, S_IFELSE, S_FOR, S_DO, - S_BREAK, S_RETURN, S_CONTINUE + S_BREAK, S_RETURN, S_CONTINUE, + S_MODULE } sid; /* identifiers for comparison operators */ @@ -133,6 +135,11 @@ struct oTKWD { int token; }; +typedef struct fid_spec { + fid id; + farg_type type[10]; +} *fid_spec_p; + typedef struct oARF { char *name; void (*fp)(); @@ -142,6 +149,7 @@ typedef struct oFUNC { char *name,*fullname; int argc; int type; + int secure; aid id; union { void (*binf)(); @@ -301,6 +309,7 @@ extern int nextbp,nextbplevel; extern int Verbose; extern int do_quiet; extern SYMBOL Symbol_grlex, Symbol_glex, Symbol_lex; +extern NODE current_option; #if defined(VISUAL_LIB) #include @@ -747,7 +756,7 @@ int generic_gauss_elim_mod(int **mat0,int row,int col, int lu_gfmmat(GFMMAT mat,unsigned int md,int *perm); int find_lhs_and_lu_mod(unsigned int **a,int row,int col, unsigned int md,int **rinfo,int **cinfo); -void solve_by_lu_mod(int **a,int n,int md,int **b,int l); +void solve_by_lu_mod(int **a,int n,int md,int **b,int l,int normalize); int gauss_elim_mod1(int **mat,int row,int col,int md); int gauss_elim_geninv_mod(unsigned int **mat,int row,int col,int md); void solve_by_lu_gfmmat(GFMMAT lu,unsigned int md,unsigned int *b,unsigned int *x); @@ -793,7 +802,7 @@ 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,int *sgn); -void mptoquote(MP m,int n,QUOTE *c); +void mptoquote(MP m,int n,QUOTE *c,int *sgn); void vartoquote(V v,QUOTE *c); void fnodetotree(FNODE f,LIST *rp); FNODE eval_pvar_in_fnode(FNODE f);