version 1.47, 2005/09/29 08:55:26 |
version 1.48, 2005/09/30 01:35:25 |
|
|
* 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.46 2005/09/28 08:08:34 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/parse/eval.c,v 1.47 2005/09/29 08:55:26 noro Exp $ |
*/ |
*/ |
#include <ctype.h> |
#include <ctype.h> |
#include "ca.h" |
#include "ca.h" |
Line 72 pointer eval(FNODE f) |
|
Line 72 pointer eval(FNODE f) |
|
STRING str; |
STRING str; |
pointer val = 0; |
pointer val = 0; |
pointer a,a1,a2; |
pointer a,a1,a2; |
NODE tn,ind,match; |
NODE tn,tn1,ind,match; |
R u; |
R u; |
DP dp; |
DP dp; |
unsigned int pv; |
unsigned int pv; |
Line 300 pointer eval(FNODE f) |
|
Line 300 pointer eval(FNODE f) |
|
val = FA0(f); break; |
val = FA0(f); break; |
case I_LIST: |
case I_LIST: |
evalnodebody((NODE)FA0(f),&tn); MKLIST(t,tn); val = (pointer)t; break; |
evalnodebody((NODE)FA0(f),&tn); MKLIST(t,tn); val = (pointer)t; break; |
|
case I_CONS: |
|
evalnodebody((NODE)FA0(f),&tn); a2 = eval(FA1(f)); |
|
if ( !a2 || OID(a2) != O_LIST ) |
|
error("cons : invalid argument"); |
|
for ( tn1 = tn; NEXT(tn1); tn1 = NEXT(tn1) ); |
|
NEXT(tn1) = BDY((LIST)a2); |
|
MKLIST(t,tn); val = (pointer)t; |
|
break; |
case I_NEWCOMP: |
case I_NEWCOMP: |
newstruct((int)FA0(f),(struct oCOMP **)&val); break; |
newstruct((int)FA0(f),(struct oCOMP **)&val); break; |
case I_CAR: |
case I_CAR: |