version 1.39, 2005/09/30 01:35:25 |
version 1.45, 2006/02/08 02:11:19 |
|
|
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* |
* |
* $OpenXM: OpenXM_contrib2/asir2000/parse/parse.h,v 1.38 2005/09/21 23:39:32 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/parse/parse.h,v 1.44 2005/12/10 14:14:16 noro Exp $ |
*/ |
*/ |
# if defined(VISUAL) |
# if defined(VISUAL) |
#include <time.h> |
#include <time.h> |
|
|
I_FORMULA, I_LIST, I_STR, I_NEWCOMP, I_CAR, I_CDR, I_CAST, |
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_INDEX, I_EV, I_TIMER, I_GF2NGEN, I_GFPNGEN, I_GFSNGEN, |
I_LOP, I_OPT, I_GETOPT, I_POINT, I_PAREN, I_MINUS, |
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; |
} fid; |
|
|
/* identifiers for statements */ |
/* identifiers for statements */ |
Line 123 typedef struct oPV { |
|
Line 123 typedef struct oPV { |
|
typedef struct oINFILE { |
typedef struct oINFILE { |
char *name; |
char *name; |
FILE *fp; |
FILE *fp; |
|
jmp_buf jmpbuf; |
|
int ready_for_longjmp; |
int ln; |
int ln; |
struct oINFILE *next; |
struct oINFILE *next; |
char *tname; |
char *tname; |
|
|
}; |
}; |
|
|
typedef struct fid_spec { |
typedef struct fid_spec { |
fid id; |
fid id; |
farg_type type[10]; |
farg_type type[10]; |
} *fid_spec_p; |
} *fid_spec_p; |
|
|
Line 194 typedef struct oPFINS { |
|
Line 196 typedef struct oPFINS { |
|
#define NEWPF(p) ((p)=(PF)MALLOC(sizeof(struct oPF))) |
#define NEWPF(p) ((p)=(PF)MALLOC(sizeof(struct oPF))) |
|
|
typedef struct oFNODE { |
typedef struct oFNODE { |
fid id; |
short id; |
|
unsigned normalized:1; |
|
unsigned expanded:1; |
|
unsigned coef:1; |
pointer arg[1]; |
pointer arg[1]; |
} *FNODE; |
} *FNODE; |
|
|
Line 274 switch ( id ) {\ |
|
Line 279 switch ( id ) {\ |
|
|
|
#define DEFSIZE 32 |
#define DEFSIZE 32 |
#define PVGLOBAL(i) (((unsigned int)(i))|(1<<30)) |
#define PVGLOBAL(i) (((unsigned int)(i))|(1<<30)) |
#define PVMGLOBAL(i) (((unsigned int)(i))|(3<<30)) |
#define PVMGLOBAL(i) (((unsigned int)(i))|(2<<30)) |
|
#define PVPATTERN(i) (((unsigned int)(i))|(3<<30)) |
#define PVATTR(i) (((unsigned int)(i))>>30) |
#define PVATTR(i) (((unsigned int)(i))>>30) |
#define PVIND(i) (((unsigned int)(i))&0x3fffffff) |
#define PVIND(i) (((unsigned int)(i))&0x3fffffff) |
#define GETPV(i,p) \ |
#define GETPV(i,p) \ |
(PVATTR(i)==0?(int)((p)=CPVS->va[(unsigned int)(i)].priv)\ |
(PVATTR(i)==0?(int)((p)=CPVS->va[(unsigned int)(i)].priv)\ |
:PVATTR(i)==1?(int)((p)=GPVS->va[PVIND(i)].priv)\ |
:PVATTR(i)==1?(int)((p)=GPVS->va[PVIND(i)].priv)\ |
:(int)((p)=MPVS->va[PVIND(i)].priv)) |
:PVATTR(i)==2?(int)((p)=MPVS->va[PVIND(i)].priv)\ |
|
:(int)((p)=PPVS->va[PVIND(i)].priv)) |
|
|
#define GETPVREF(i,p) \ |
#define GETPVREF(i,p) \ |
(PVATTR(i)==0?(int)((p)=&(CPVS->va[(unsigned int)(i)].priv))\ |
(PVATTR(i)==0?(int)((p)=&(CPVS->va[(unsigned int)(i)].priv))\ |
:PVATTR(i)==1?(int)((p)=&(GPVS->va[PVIND(i)].priv))\ |
:PVATTR(i)==1?(int)((p)=&(GPVS->va[PVIND(i)].priv))\ |
:(int)((p)=&(MPVS->va[PVIND(i)].priv))) |
:PVATTR(i)==2?(int)((p)=&(MPVS->va[PVIND(i)].priv))\ |
|
:(int)((p)=&(PPVS->va[PVIND(i)].priv))) |
|
|
#define GETPVNAME(i,p) \ |
#define GETPVNAME(i,p) \ |
(PVATTR(i)==0?(int)((p)=CPVS->va[(unsigned int)(i)].name)\ |
(PVATTR(i)==0?(int)((p)=CPVS->va[(unsigned int)(i)].name)\ |
:PVATTR(i)==1?(int)((p)=GPVS->va[PVIND(i)].name)\ |
:PVATTR(i)==1?(int)((p)=GPVS->va[PVIND(i)].name)\ |
:(int)((p)=MPVS->va[PVIND(i)].name)) |
:PVATTR(i)==2?(int)((p)=MPVS->va[PVIND(i)].name)\ |
|
:(int)((p)=PPVS->va[PVIND(i)].name)) |
|
|
#define ASSPV(i,p) \ |
#define ASSPV(i,p) \ |
(PVATTR(i)==0?(int)(CPVS->va[(unsigned int)(i)].priv=(pointer)(p))\ |
(PVATTR(i)==0?(int)(CPVS->va[(unsigned int)(i)].priv=(pointer)(p))\ |
:PVATTR(i)==1?(int)(GPVS->va[PVIND(i)].priv=(pointer)(p))\ |
:PVATTR(i)==1?(int)(GPVS->va[PVIND(i)].priv=(pointer)(p))\ |
:(int)(MPVS->va[PVIND(i)].priv=(pointer)(p))) |
:PVATTR(i)==2?(int)(MPVS->va[PVIND(i)].priv=(pointer)(p))\ |
|
:(int)(PPVS->va[PVIND(i)].priv=(pointer)(p))) |
|
|
#define NEWNODE2(a) ((a)=(NODE2)MALLOC(sizeof(struct oNODE2))) |
#define NEWNODE2(a) ((a)=(NODE2)MALLOC(sizeof(struct oNODE2))) |
#define MKNODE2(a,b,c,d) \ |
#define MKNODE2(a,b,c,d) \ |
Line 300 switch ( id ) {\ |
|
Line 313 switch ( id ) {\ |
|
#define BDY1(a) ((a)->body1) |
#define BDY1(a) ((a)->body1) |
#define BDY2(a) ((a)->body2) |
#define BDY2(a) ((a)->body2) |
|
|
extern VS GPVS,CPVS,EPVS,APVS,MPVS; |
extern VS GPVS,CPVS,EPVS,APVS,MPVS,PPVS; |
extern MODULE CUR_MODULE; |
extern MODULE CUR_MODULE; |
extern NODE MODULE_LIST; |
extern NODE MODULE_LIST; |
extern char *CUR_FUNC; |
extern char *CUR_FUNC; |