version 1.4, 2004/09/11 12:13:41 |
version 1.11, 2005/06/16 05:07:23 |
|
|
/* $OpenXM: OpenXM/src/kan96xx/Kan/stackm.h,v 1.3 2003/11/20 09:20:36 takayama Exp $ */ |
/* $OpenXM: OpenXM/src/kan96xx/Kan/stackm.h,v 1.10 2005/06/15 02:22:51 takayama Exp $ */ |
#define LOAD_SM1_PATH "/usr/local/lib/sm1/" |
#define LOAD_SM1_PATH "/usr/local/lib/sm1/" |
/* Do not forget to put / at the tail. |
/* Do not forget to put / at the tail. |
"/usr/local/lib/sm1" does not work. |
"/usr/local/lib/sm1" does not work. |
|
|
#define SrationalFunction 16 |
#define SrationalFunction 16 |
#define Sclass 17 /* class, for extension */ |
#define Sclass 17 /* class, for extension */ |
#define Sdouble 18 |
#define Sdouble 18 |
|
#define SbyteArray 19 |
|
|
#define TYPES 19 /* number of data types. */ |
#define TYPES 20 /* number of data types. */ |
/* NOTE! If you change the above, you need to change mklookup.c too. */ |
/* NOTE! If you change the above, you need to change mklookup.c too. */ |
/* Change also dr.sm1 : datatype constants. */ |
/* Change also dr.sm1 : datatype constants. */ |
|
|
|
|
struct coeff *universalNumber; |
struct coeff *universalNumber; |
void *voidp; |
void *voidp; |
double *dbl; |
double *dbl; |
|
unsigned char *bytes; |
}; |
}; |
|
|
struct object{ |
struct object{ |
int tag; /* class identifier */ |
int tag; /* class identifier */ |
union cell lc; /* left cell */ |
union cell lc; /* left cell */ |
union cell rc; /* right cell */ |
union cell rc; /* right cell */ |
|
struct object *attr; /* Attribute list. See misc-2005/06/gfan/test1.sm1 |
|
as to performance test. */ |
}; |
}; |
|
|
|
#define OINIT { .attr = NULL} |
|
|
struct dictionary { |
struct dictionary { |
char *key; |
char *key; |
int h0; /* Value of hash functions */ |
int h0; /* Value of hash functions */ |
|
|
char *token; |
char *token; |
int kind; |
int kind; |
struct object object; |
struct object object; |
|
int tflag; |
}; |
}; |
|
|
/* used in kind of tokens */ |
/* used in kind of tokens */ |
|
|
#define EXECUTABLE_STRING 4 /* strings enclosed by {} */ |
#define EXECUTABLE_STRING 4 /* strings enclosed by {} */ |
#define EXECUTABLE_ARRAY 8 |
#define EXECUTABLE_ARRAY 8 |
|
|
|
/* Used in tflag of tokens, bit wise */ |
|
#define NO_DELAY 0x2 |
|
|
|
|
/********** macros to use Sarray **********************/ |
/********** macros to use Sarray **********************/ |
Line 130 if ((ob).tag != Sarray) {fprintf(stderr,"Warning: PUTO |
|
Line 139 if ((ob).tag != Sarray) {fprintf(stderr,"Warning: PUTO |
|
#define isNullList(list) ((struct object *)NULL == list) |
#define isNullList(list) ((struct object *)NULL == list) |
#define NULLLIST (struct object *)NULL |
#define NULLLIST (struct object *)NULL |
|
|
/* for dictionary */ |
/* For dictionary, flag bit */ |
#define SET_ATTR_FOR_ALL_WORDS 0x10 |
#define SET_ATTR_FOR_ALL_WORDS 0x10 |
|
#define OR_ATTR_FOR_ALL_WORDS 0x20 |
#define PROTECT 0x1 |
#define PROTECT 0x1 |
#define ABSOLUTE_PROTECT 0x2 |
#define ABSOLUTE_PROTECT 0x2 |
#define ATTR_INFIX 0x4 |
#define ATTR_INFIX 0x4 |
|
#define ATTR_EXPORT 0x8 |
|
|
/* For status */ |
/* For status, flag bit */ |
#define STATUS_EOF -1 |
#define STATUS_EOF -1 |
#define STATUS_BREAK 0x1 |
#define STATUS_BREAK 0x1 |
#define STATUS_INFIX 0x2 |
#define STATUS_INFIX 0x2 |