=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/io/pexpr_body.c,v retrieving revision 1.2 retrieving revision 1.6 diff -u -p -r1.2 -r1.6 --- OpenXM_contrib2/asir2000/io/pexpr_body.c 2004/03/26 08:25:36 1.2 +++ OpenXM_contrib2/asir2000/io/pexpr_body.c 2004/12/17 03:09:08 1.6 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM_contrib2/asir2000/io/pexpr_body.c,v 1.1 2004/03/17 03:22:47 noro Exp $ */ +/* $OpenXM: OpenXM_contrib2/asir2000/io/pexpr_body.c,v 1.5 2004/12/02 13:48:43 noro Exp $ */ #define PRINTHAT (fortran_output?PUTS("**"):PUTS("^")) @@ -19,6 +19,7 @@ void PRINTGF2MAT(); void PRINTGFMMAT(); void PRINTBYTEARRAY(); void PRINTQUOTE(); +void PRINTQUOTEARG(); void PRINTERR(); void PRINTCPLX(); void PRINTLM(); @@ -34,16 +35,15 @@ void PRINTSF(); void PRINTSYMBOL(); void PRINTRANGE(); void PRINTTB(); +void PRINTDPV(); void PRINTFNODE(); void PRINTBF(); +void PRINTDAlg(); void PRINTEXPR(vl,p) VL vl; Obj p; { -#if defined(FPRINT) - if ( asir_texmacs && !user_print_function ) printf("\2verbatim:"); -#endif if ( !p ) { PRINTR(vl,(R)p); } else @@ -82,19 +82,19 @@ Obj p; PRINTBYTEARRAY(vl,(BYTEARRAY)p); break; case O_QUOTE: PRINTQUOTE(vl,(QUOTE)p); break; + case O_QUOTEARG: + PRINTQUOTEARG(vl,(QUOTEARG)p); break; case O_SYMBOL: PRINTSYMBOL((SYMBOL)p); break; case O_RANGE: PRINTRANGE(vl,(RANGE)p); break; case O_TB: PRINTTB(vl,(TB)p); break; + case O_DPV: + PRINTDPV(vl,(DPV)p); break; default: break; } -#if defined(FPRINT) - if ( asir_texmacs && !user_print_function ) - { putchar('\5'); fflush(stdout); } -#endif } #if defined(FPRINT) @@ -239,6 +239,21 @@ VECT vect; } } +void PRINTDPV(vl,d) +VL vl; +DPV d; +{ + int i; + DP *ptr; + + PUTS("modvect("); + for ( i = 0, ptr = BDY(d); i < d->len; i++ ) { + if ( i != 0 ) PUTS(","); + PRINTEXPR(vl,(Obj)ptr[i]); + } + PUTS(")"); +} + void PRINTMAT(vl,mat) VL vl; MAT mat; @@ -579,6 +594,9 @@ void PRINTNUM(q) Num q; { char real_format[20]; + DAlg d; + DP nm; + Q dn; if ( !q ) { PUTS("0"); @@ -800,6 +818,19 @@ Num q; case N_GFSN: PRINTUM(BDY((GFSN)q)); break; + case N_DA: + d = (DAlg)q; + nm = d->nm; + dn = d->dn; + if ( SGN((Q)dn) == -1 ) PUTS("-"); + PUTS("("); + PRINTDP(CO,((DAlg)q)->nm); + PUTS(")"); + if ( !UNIN(NM(dn)) ) { + PUTS("/"); + PRINTN(NM(dn)); + } + break; } } @@ -978,6 +1009,13 @@ QUOTE quote; } else { PUTS("<...quoted...>"); } +} + +void PRINTQUOTEARG(vl,quote) +VL vl; +QUOTEARG quote; +{ + PUTS("<...quoted...>"); } void PRINTTB(VL vl,TB p)