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

Diff for /OpenXM_contrib2/asir2018/parse/eval.c between version 1.3 and 1.5

version 1.3, 2019/08/21 00:37:47 version 1.5, 2020/10/06 06:31:20
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/asir2018/parse/eval.c,v 1.2 2018/09/28 08:20:29 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2018/parse/eval.c,v 1.4 2019/11/12 10:53:23 kondoh Exp $
 */  */
 #include <ctype.h>  #include <ctype.h>
 #include "ca.h"  #include "ca.h"
Line 435  FNODE fnode_to_nary(FNODE f)
Line 435  FNODE fnode_to_nary(FNODE f)
   
     default:      default:
       error("fnode_to_nary : not implemented yet");        error("fnode_to_nary : not implemented yet");
         return 0;
   }    }
 }  }
   
Line 506  FNODE fnode_to_bin(FNODE f,int dir)
Line 507  FNODE fnode_to_bin(FNODE f,int dir)
   
     default:      default:
       error("fnode_to_bin : not implemented yet");        error("fnode_to_bin : not implemented yet");
         return 0;
   }    }
 }  }
   
Line 583  FNODE partial_eval(FNODE f)
Line 585  FNODE partial_eval(FNODE f)
   
     default:      default:
       error("partial_eval : not implemented yet");        error("partial_eval : not implemented yet");
         return 0;
   }    }
 }  }
   
Line 666  FNODE rewrite_fnode(FNODE f,NODE arg,int qarg)
Line 669  FNODE rewrite_fnode(FNODE f,NODE arg,int qarg)
   
     default:      default:
       error("rewrite_fnode : not implemented yet");        error("rewrite_fnode : not implemented yet");
         return 0;
   }    }
 }  }
   
Line 750  pointer evalstat(SNODE f)
Line 754  pointer evalstat(SNODE f)
         makevar(buf,&u); a[i] = VR(u);          makevar(buf,&u); a[i] = VR(u);
         substr(CO,0,(Obj)s,VR((P)t),(Obj)u,(Obj *)&s1); s = s1;          substr(CO,0,(Obj)s,VR((P)t),(Obj)u,(Obj *)&s1); s = s1;
       }        }
   #if defined(INTERVAL)
         mkpf((char *)FA0(f),(Obj)s,ac,a,0,0,0,0,(PF *)&val); val = 0;
   #else
       mkpf((char *)FA0(f),(Obj)s,ac,a,0,0,0,(PF *)&val); val = 0;        mkpf((char *)FA0(f),(Obj)s,ac,a,0,0,0,(PF *)&val); val = 0;
   #endif
       v = searchvar((char *)FA0(f));        v = searchvar((char *)FA0(f));
       if ( v ) {        if ( v ) {
         searchpf((char *)FA0(f),&func);          searchpf((char *)FA0(f),&func);
Line 1392  void searchuf(char *name,FUNC *r)
Line 1400  void searchuf(char *name,FUNC *r)
   MODULE mod;    MODULE mod;
   char *name0,*dot;    char *name0,*dot;
   
   if ( dot = strchr(name,'.') ) {    if ( ( dot = strchr(name,'.') ) != 0 ) {
     name0 = (char *)ALLOCA(strlen(name)+1);      name0 = (char *)ALLOCA(strlen(name)+1);
     strcpy(name0,name);      strcpy(name0,name);
     dot = strchr(name0,'.');      dot = strchr(name0,'.');
Line 1451  void searchf(NODE fn,char *name,FUNC *r)
Line 1459  void searchf(NODE fn,char *name,FUNC *r)
 {  {
   NODE tn;    NODE tn;
   
   for ( tn = fn;    for ( tn = fn; tn && strcmp(NAME((FUNC)BDY(tn)),name); tn = NEXT(tn) )
     tn && strcmp(NAME((FUNC)BDY(tn)),name); tn = NEXT(tn) );      ;
     if ( tn ) {    if ( tn ) {
       *r = (FUNC)BDY(tn);      *r = (FUNC)BDY(tn);
       return;      return;
     }    }
   *r = 0;    *r = 0;
 }  }
   
Line 1472  void appenduf(char *name,FUNC *r)
Line 1480  void appenduf(char *name,FUNC *r)
   
   f=(FUNC)MALLOC(sizeof(struct oFUNC));    f=(FUNC)MALLOC(sizeof(struct oFUNC));
   f->id = A_UNDEF; f->argc = 0; f->f.binf = 0;    f->id = A_UNDEF; f->argc = 0; f->f.binf = 0;
   if ( dot = strchr(name,'.') ) {    if ( ( dot = strchr(name,'.') ) != 0 ) {
     /* undefined function in a module */      /* undefined function in a module */
     len = dot-name;      len = dot-name;
     modname = (char *)MALLOC_ATOMIC(len+1);      modname = (char *)MALLOC_ATOMIC(len+1);

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.5

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