=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/include/ca.h,v retrieving revision 1.44 retrieving revision 1.47 diff -u -p -r1.44 -r1.47 --- OpenXM_contrib2/asir2000/include/ca.h 2004/02/05 08:28:53 1.44 +++ OpenXM_contrib2/asir2000/include/ca.h 2004/03/09 08:02:01 1.47 @@ -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/include/ca.h,v 1.43 2004/02/04 07:42:07 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/include/ca.h,v 1.46 2004/03/03 09:25:30 noro Exp $ */ #include #include @@ -120,6 +120,8 @@ typedef void * pointer; #define O_QUOTE 17 #define O_OPTLIST 18 #define O_SYMBOL 19 +#define O_RANGE 20 +#define O_TB 21 #define O_VOID -1 #define N_Q 0 @@ -354,6 +356,7 @@ typedef struct oQUOTE { short id; short pad; pointer body; + struct oNODE *attr; } *QUOTE; typedef struct oOPTLIST { @@ -362,13 +365,26 @@ typedef struct oOPTLIST { struct oNODE *body; } *OPTLIST; -typedef struct oSymbol { +typedef struct oSYMBOL { short id; short pad; char *name; int value; -} *Symbol; +} *SYMBOL; +typedef struct oRANGE { + short id; + short pad; + struct oObj *start,*end; +} *RANGE; + +typedef struct oTB { + short id; + short pad; + int size,next; + char **body; +} *TB; + typedef struct oObj { short id; short pad; @@ -702,6 +718,8 @@ bzero((char *)(q)->b,(w)*sizeof(unsigned int))) #define NEWQUOTE(e) ((e)=(QUOTE)MALLOC(sizeof(struct oQUOTE)),OID(e)=O_QUOTE) #define NEWOPTLIST(l) ((l)=(OPTLIST)MALLOC(sizeof(struct oOPTLIST)),OID(l)=O_OPTLIST) #define NEWSYMBOL(l) ((l)=(SYMBOL)MALLOC(sizeof(struct oSYMBOL)),OID(l)=O_SYMBOL) +#define NEWRANGE(l) ((l)=(RANGE)MALLOC(sizeof(struct oRANGE)),OID(l)=O_RANGE) +#define NEWTB(l) ((l)=(TB)MALLOC(sizeof(struct oTB)),OID(l)=O_TB,(l)->size=256,(l)->next=0,(l)->body=(char **)MALLOC((l)->size*sizeof(char *))) #define NEWNODE(a) ((a)=(NODE)MALLOC(sizeof(struct oNODE))) #define NEWDC(dc) ((dc)=(DCP)MALLOC(sizeof(struct oDCP))) @@ -755,7 +773,7 @@ DEG(DC(p))=ONE,COEF(DC(p))=(P)ONEM,NEXT(DC(p))=0) #define MKMATHCAP(e,b) (NEWMATHCAP(e),(e)->body=(LIST)(b)) #define MKBYTEARRAY(m,l) \ (NEWBYTEARRAY(m),(m)->len=(l),(m)->body=(char *)MALLOC_ATOMIC((l)),bzero((m)->body,(l))) -#define MKQUOTE(q,b) (NEWQUOTE(q),(q)->body=(pointer)(b)) +#define MKQUOTE(q,b) (NEWQUOTE(q),(q)->body=(pointer)(b),(q)->attr=0) #define NEXTDC(r,c) \ if(!(r)){NEWDC(r);(c)=(r);}else{NEWDC(NEXT(c));(c)=NEXT(c);}