[BACK]Return to quote.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / parse

Diff for /OpenXM_contrib2/asir2000/parse/quote.c between version 1.9 and 1.10

version 1.9, 2004/03/04 03:31:28 version 1.10, 2004/03/09 08:02:01
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2000/parse/quote.c,v 1.8 2004/03/04 01:41:32 noro Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2000/parse/quote.c,v 1.9 2004/03/04 03:31:28 noro Exp $ */
   
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
Line 67  void objtoquote(Obj a,QUOTE *c)
Line 67  void objtoquote(Obj a,QUOTE *c)
   
         if ( !a ) {          if ( !a ) {
                 MKQUOTE(*c,mkfnode(1,I_FORMULA,(pointer)a));                  MKQUOTE(*c,mkfnode(1,I_FORMULA,(pointer)a));
                   (*c)->attr = mknode(1,mknode(2,"RisaId",0));
                 return;                  return;
         }          }
         switch ( OID(a) ) {          switch ( OID(a) ) {
Line 78  void objtoquote(Obj a,QUOTE *c)
Line 79  void objtoquote(Obj a,QUOTE *c)
                         } else {                          } else {
                                 MKQUOTE(*c,mkfnode(1,I_FORMULA,(pointer)a));                                  MKQUOTE(*c,mkfnode(1,I_FORMULA,(pointer)a));
                         }                          }
                           (*c)->attr = mknode(1,mknode(2,"RisaId",O_N));
                         break;                          break;
                 case O_STR:                  case O_STR:
                         MKQUOTE(*c,mkfnode(1,I_FORMULA,(pointer)a));                          MKQUOTE(*c,mkfnode(1,I_FORMULA,(pointer)a));
                           (*c)->attr = mknode(1,mknode(2,"RisaId",O_STR));
                         break;                          break;
                 case O_P:                  case O_P:
                         polytoquote((P)a,c);                          polytoquote((P)a,c);
Line 89  void objtoquote(Obj a,QUOTE *c)
Line 92  void objtoquote(Obj a,QUOTE *c)
                         polytoquote(NM((R)a),&nm);                          polytoquote(NM((R)a),&nm);
                         polytoquote(DN((R)a),&dn);                          polytoquote(DN((R)a),&dn);
                         divquote(CO,nm,dn,c);                          divquote(CO,nm,dn,c);
                           (*c)->attr = mknode(1,mknode(2,"RisaId",O_R));
                         break;                          break;
                 case O_LIST:                  case O_LIST:
                         t0 = 0;                          t0 = 0;
Line 100  void objtoquote(Obj a,QUOTE *c)
Line 104  void objtoquote(Obj a,QUOTE *c)
                         if ( t0 )                          if ( t0 )
                                 NEXT(t) = 0;                                  NEXT(t) = 0;
                         MKQUOTE(*c,mkfnode(1,I_LIST,t0));                          MKQUOTE(*c,mkfnode(1,I_LIST,t0));
                           (*c)->attr = mknode(1,mknode(2,"RisaId",O_LIST));
                         break;                          break;
                 case O_VECT:                  case O_VECT:
                         len = ((VECT)a)->len;                          len = ((VECT)a)->len;
Line 114  void objtoquote(Obj a,QUOTE *c)
Line 119  void objtoquote(Obj a,QUOTE *c)
                         t = mknode(2,mkfnode(1,I_FORMULA,q),mkfnode(1,I_LIST,t));                          t = mknode(2,mkfnode(1,I_FORMULA,q),mkfnode(1,I_LIST,t));
                         gen_searchf("vector",&f);                          gen_searchf("vector",&f);
                         MKQUOTE(*c,mkfnode(2,I_FUNC,f,mkfnode(1,I_LIST,t)));                          MKQUOTE(*c,mkfnode(2,I_FUNC,f,mkfnode(1,I_LIST,t)));
                           (*c)->attr = mknode(1,mknode(2,"RisaId",O_VECT));
                         break;                          break;
                 case O_MAT:                  case O_MAT:
                         row = ((MAT)a)->row;                          row = ((MAT)a)->row;
Line 139  void objtoquote(Obj a,QUOTE *c)
Line 145  void objtoquote(Obj a,QUOTE *c)
                                 mkfnode(1,I_FORMULA,qrow),mkfnode(1,I_FORMULA,qcol),fn);                                  mkfnode(1,I_FORMULA,qrow),mkfnode(1,I_FORMULA,qcol),fn);
                         gen_searchf("matrix",&f);                          gen_searchf("matrix",&f);
                         MKQUOTE(*c,mkfnode(2,I_FUNC,f,mkfnode(1,I_LIST,t)));                          MKQUOTE(*c,mkfnode(2,I_FUNC,f,mkfnode(1,I_LIST,t)));
                           (*c)->attr = mknode(1,mknode(2,"RisaId",O_MAT));
                         break;                          break;
                 case O_DP:                  case O_DP:
                         dptoquote((DP)a,c);                          dptoquote((DP)a,c);
Line 158  void polytoquote(P a,QUOTE *c)
Line 165  void polytoquote(P a,QUOTE *c)
         int n,i,sgn;          int n,i,sgn;
         QUOTE v,r,s,u;          QUOTE v,r,s,u;
   
         if ( !a || (OID(a) == O_N) ) {          if ( !a ) {
                 MKQUOTE(*c,mkfnode(1,I_FORMULA,(pointer)a));                  MKQUOTE(*c,mkfnode(1,I_FORMULA,(pointer)a));
                   (*c)->attr = mknode(1,mknode(2,"RisaId",0));
                 return;                  return;
           } else if ( OID(a) == O_N ) {
                   MKQUOTE(*c,mkfnode(1,I_FORMULA,(pointer)a));
                   (*c)->attr = mknode(1,mknode(2,"RisaId",O_N));
                   return;
         }          }
         vartoquote(VR((P)a),&v);          vartoquote(VR((P)a),&v);
         dc = DC((P)a);          dc = DC((P)a);
Line 178  void polytoquote(P a,QUOTE *c)
Line 190  void polytoquote(P a,QUOTE *c)
                 r = u;                  r = u;
         }          }
         *c = r;          *c = r;
           (*c)->attr = mknode(1,mknode(2,"RisaId",O_P));
 }  }
   
 void dptoquote(DP a,QUOTE *c)  void dptoquote(DP a,QUOTE *c)
Line 189  void dptoquote(DP a,QUOTE *c)
Line 202  void dptoquote(DP a,QUOTE *c)
   
         if ( !a ) {          if ( !a ) {
                 MKQUOTE(*c,mkfnode(1,I_FORMULA,(pointer)a));                  MKQUOTE(*c,mkfnode(1,I_FORMULA,(pointer)a));
                   (*c)->attr = mknode(1,mknode(2,"RisaId",0));
                 return;                  return;
         }          }
         nv = NV(a);          nv = NV(a);
Line 207  void dptoquote(DP a,QUOTE *c)
Line 221  void dptoquote(DP a,QUOTE *c)
                 r = u;                  r = u;
         }          }
         *c = r;          *c = r;
           (*c)->attr = mknode(1,mknode(2,"RisaId",O_DP));
 }  }
   
 void dctoquote(DCP dc,QUOTE v,QUOTE *q,int *sgn)  void dctoquote(DCP dc,QUOTE v,QUOTE *q,int *sgn)

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>