=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/stackm.h,v retrieving revision 1.5 retrieving revision 1.10 diff -u -p -r1.5 -r1.10 --- OpenXM/src/kan96xx/Kan/stackm.h 2004/09/11 23:49:34 1.5 +++ OpenXM/src/kan96xx/Kan/stackm.h 2005/06/15 02:22:51 1.10 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/stackm.h,v 1.4 2004/09/11 12:13:41 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/stackm.h,v 1.9 2005/06/09 04:47:16 takayama Exp $ */ #define LOAD_SM1_PATH "/usr/local/lib/sm1/" /* Do not forget to put / at the tail. "/usr/local/lib/sm1" does not work. @@ -35,8 +35,9 @@ #define SrationalFunction 16 #define Sclass 17 /* class, for extension */ #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. */ /* Change also dr.sm1 : datatype constants. */ @@ -62,12 +63,15 @@ union cell { struct coeff *universalNumber; void *voidp; double *dbl; + unsigned char *bytes; }; struct object{ int tag; /* class identifier */ union cell lc; /* left cell */ union cell rc; /* right cell */ + struct object *attr; /* Attribute list. See misc-2005/06/gfan/test1.sm1 + as to performance test. */ }; struct dictionary { @@ -98,6 +102,7 @@ struct tokens{ char *token; int kind; struct object object; + int tflag; }; /* used in kind of tokens */ @@ -106,6 +111,8 @@ struct tokens{ #define EXECUTABLE_STRING 4 /* strings enclosed by {} */ #define EXECUTABLE_ARRAY 8 +/* Used in tflag of tokens, bit wise */ +#define NO_DELAY 0x2 /********** macros to use Sarray **********************/ @@ -132,6 +139,7 @@ if ((ob).tag != Sarray) {fprintf(stderr,"Warning: PUTO /* For dictionary, flag bit */ #define SET_ATTR_FOR_ALL_WORDS 0x10 +#define OR_ATTR_FOR_ALL_WORDS 0x20 #define PROTECT 0x1 #define ABSOLUTE_PROTECT 0x2 #define ATTR_INFIX 0x4