=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/builtin/print.c,v retrieving revision 1.18 retrieving revision 1.20 diff -u -p -r1.18 -r1.20 --- OpenXM_contrib2/asir2000/builtin/print.c 2005/04/28 08:14:46 1.18 +++ OpenXM_contrib2/asir2000/builtin/print.c 2005/12/10 14:14:15 1.20 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/builtin/print.c,v 1.17 2004/05/14 09:20:56 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/builtin/print.c,v 1.19 2005/09/28 08:08:34 noro Exp $ */ #include "ca.h" #include "parse.h" @@ -214,6 +214,21 @@ void fnodetotree(FNODE f,LIST *rp) MKLIST(*rp,n); break; + case I_NARYOP: + /* head */ + MKSTR(head,"n_op"); + n = (NODE)FA1(f); + for ( t0 = 0; n; n = NEXT(n) ) { + NEXTNODE(t0,t); + fnodetotree((FNODE)BDY(n),&a1); + BDY(t) = (pointer)a1; + } + MKSTR(op,((ARF)FA0(f))->name); + MKNODE(t,op,t0); + MKNODE(n,head,t); + MKLIST(*rp,n); + break; + /* ternary operators */ case I_CE: MKSTR(head,"t_op"); @@ -241,10 +256,10 @@ void fnodetotree(FNODE f,LIST *rp) break; /* function */ - case I_FUNC: case I_CAR: case I_CDR: case I_EV: + case I_FUNC: case I_FUNC_QARG: case I_CAR: case I_CDR: case I_EV: MKSTR(head,"function"); switch ( f->id ) { - case I_FUNC: + case I_FUNC: case I_FUNC_QARG: MKSTR(op,((FUNC)FA0(f))->fullname); fnodetotree((FNODE)FA1(f),&a1); break;