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

Diff for /OpenXM_contrib2/asir2000/builtin/strobj.c between version 1.95 and 1.96

version 1.95, 2005/11/03 07:41:22 version 1.96, 2005/11/04 07:03:38
Line 45 
Line 45 
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  *   *
  * $OpenXM: OpenXM_contrib2/asir2000/builtin/strobj.c,v 1.94 2005/11/02 10:02:32 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/builtin/strobj.c,v 1.95 2005/11/03 07:41:22 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
Line 747  void fnode_do_assign(NODE arg)
Line 747  void fnode_do_assign(NODE arg)
                 pair = (NODE)BDY(t);                  pair = (NODE)BDY(t);
                 pv = (int)BDY(pair);                  pv = (int)BDY(pair);
                 f = (FNODE)(BDY(NEXT(pair)));                  f = (FNODE)(BDY(NEXT(pair)));
                 if ( f->id == I_FUNC ) {                  if ( f->id == I_FUNC_HEAD ) {
                         /* XXX : used for wrapping A_func */                          /* XXX : I_FUNC_HEAD is a dummy id to pass FUNC */
                         MKQUOTEARG(qa,A_func,FA0(f));                          MKQUOTEARG(qa,A_func,FA0(f));
                         value = (QUOTE)qa;                          value = (QUOTE)qa;
                 } else                  } else
Line 2794  int nfnode_match(FNODE f,FNODE pat,NODE *rp)
Line 2794  int nfnode_match(FNODE f,FNODE pat,NODE *rp)
         NODE m,m1,m2,base,exp,fa,pa,n;          NODE m,m1,m2,base,exp,fa,pa,n;
         LIST l;          LIST l;
         QUOTE qp,qf;          QUOTE qp,qf;
         FNODE fbase,fexp,a;          FNODE fbase,fexp,a,fh;
         FUNC ff,pf;          FUNC ff,pf;
         int r;          int r;
   
Line 2836  int nfnode_match(FNODE f,FNODE pat,NODE *rp)
Line 2836  int nfnode_match(FNODE f,FNODE pat,NODE *rp)
                                 if ( strcmp(ff->fullname,pf->fullname) ) return 0;                                  if ( strcmp(ff->fullname,pf->fullname) ) return 0;
                                 m = 0;                                  m = 0;
                         } else {                          } else {
                                 /* XXX only FA0(f) is used */                                  /* XXX : I_FUNC_HEAD is a dummy id to pass FUNC */
                                 m = mknode(1,mknode(2,FA0((FNODE)FA0(pat)),f),0);                                  fh = mkfnode(1,I_FUNC_HEAD,FA0(f));
                                   m = mknode(1,mknode(2,FA0((FNODE)FA0(pat)),fh),0);
                         }                          }
                         /* FA1(f) and FA1(pat) are I_LIST */                          /* FA1(f) and FA1(pat) are I_LIST */
                         fa = (NODE)FA0((FNODE)FA1(f));                          fa = (NODE)FA0((FNODE)FA1(f));

Legend:
Removed from v.1.95  
changed lines
  Added in v.1.96

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