version 1.30, 2003/11/08 01:12:03 |
version 1.34, 2004/06/21 09:05:16 |
|
|
* 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/parse/eval.c,v 1.29 2003/05/30 00:47:24 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/parse/eval.c,v 1.33 2004/05/14 09:20:57 noro Exp $ |
*/ |
*/ |
#include <ctype.h> |
#include <ctype.h> |
#include "ca.h" |
#include "ca.h" |
Line 84 pointer eval(FNODE f) |
|
Line 84 pointer eval(FNODE f) |
|
GF2N gf2n; |
GF2N gf2n; |
GFPN gfpn; |
GFPN gfpn; |
GFSN gfsn; |
GFSN gfsn; |
|
RANGE range; |
|
|
#if defined(VISUAL) |
#if defined(VISUAL) |
if ( recv_intr ) { |
if ( recv_intr ) { |
Line 453 extern NODE PVSS; |
|
Line 454 extern NODE PVSS; |
|
pointer evalf(FUNC f,FNODE a,FNODE opt) |
pointer evalf(FUNC f,FNODE a,FNODE opt) |
{ |
{ |
LIST args; |
LIST args; |
OPTLIST optlist; |
|
pointer val; |
pointer val; |
int i,n,level; |
int i,n,level; |
NODE tn,sn,opts,opt1,dmy; |
NODE tn,sn,opts,opt1,dmy; |
Line 494 pointer evalf(FUNC f,FNODE a,FNODE opt) |
|
Line 494 pointer evalf(FUNC f,FNODE a,FNODE opt) |
|
(*f->f.binf)(&val); |
(*f->f.binf)(&val); |
} else { |
} else { |
args = (LIST)eval(a); |
args = (LIST)eval(a); |
if ( opts ) { |
current_option = opts; |
NEWOPTLIST(optlist); |
|
BDY(optlist) = opts; |
|
appendtonode(BDY(args),(pointer)optlist,&dmy); |
|
} |
|
cur_binf = f; |
cur_binf = f; |
(*f->f.binf)(args?BDY(args):0,&val); |
(*f->f.binf)(args?BDY(args):0,&val); |
} |
} |
Line 867 void gen_searchf(char *name,FUNC *r) |
|
Line 863 void gen_searchf(char *name,FUNC *r) |
|
searchuf(name,&val); |
searchuf(name,&val); |
if ( !val ) |
if ( !val ) |
appenduf(name,&val); |
appenduf(name,&val); |
|
*r = val; |
|
} |
|
|
|
void gen_searchf_searchonly(char *name,FUNC *r) |
|
{ |
|
FUNC val = 0; |
|
int global = 0; |
|
if ( *name == ':' ) { |
|
global = 1; |
|
name += 2; |
|
} |
|
if ( CUR_MODULE && !global ) |
|
searchf(CUR_MODULE->usrf_list,name,&val); |
|
if ( !val ) |
|
searchf(sysf,name,&val); |
|
if ( !val ) |
|
searchf(ubinf,name,&val); |
|
if ( !val ) |
|
searchpf(name,&val); |
|
if ( !val ) |
|
searchuf(name,&val); |
*r = val; |
*r = val; |
} |
} |
|
|