=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/stackm.h,v retrieving revision 1.2 retrieving revision 1.8 diff -u -p -r1.2 -r1.8 --- OpenXM/src/kan96xx/Kan/stackm.h 2000/01/16 07:55:41 1.2 +++ OpenXM/src/kan96xx/Kan/stackm.h 2004/09/20 02:11:22 1.8 @@ -1,4 +1,4 @@ -/* $OpenXM$ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/stackm.h,v 1.7 2004/09/16 23:53:44 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,6 +63,7 @@ union cell { struct coeff *universalNumber; void *voidp; double *dbl; + unsigned char *bytes; }; struct object{ @@ -98,6 +100,7 @@ struct tokens{ char *token; int kind; struct object object; + int tflag; }; /* used in kind of tokens */ @@ -106,6 +109,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 **********************/ @@ -130,10 +135,19 @@ if ((ob).tag != Sarray) {fprintf(stderr,"Warning: PUTO #define isNullList(list) ((struct object *)NULL == list) #define NULLLIST (struct object *)NULL -/* for dictionary */ +/* 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 +#define ATTR_EXPORT 0x8 + +/* For status, flag bit */ +#define STATUS_EOF -1 +#define STATUS_BREAK 0x1 +#define STATUS_INFIX 0x2 +#define DO_QUOTE 0x10 typedef enum {CCPUSH,CCPOP,CCRESTORE} actionOfContextControl;