version 1.32, 2004/04/30 08:25:38 |
version 1.33, 2004/05/14 09:20:57 |
|
|
* 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.31 2004/02/09 08:23:30 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/parse/eval.c,v 1.32 2004/04/30 08:25:38 noro Exp $ |
*/ |
*/ |
#include <ctype.h> |
#include <ctype.h> |
#include "ca.h" |
#include "ca.h" |
Line 454 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 495 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); |
|
if ( !BDY(args) ) BDY(args) = dmy; |
|
} |
|
cur_binf = f; |
cur_binf = f; |
(*f->f.binf)(args?BDY(args):0,&val); |
(*f->f.binf)(args?BDY(args):0,&val); |
} |
} |