=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/io/cpexpr.c,v retrieving revision 1.15 retrieving revision 1.17 diff -u -p -r1.15 -r1.17 --- OpenXM_contrib2/asir2000/io/cpexpr.c 2003/02/14 22:29:15 1.15 +++ OpenXM_contrib2/asir2000/io/cpexpr.c 2004/02/09 08:23:30 1.17 @@ -44,12 +44,15 @@ * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. - * $OpenXM: OpenXM_contrib2/asir2000/io/cpexpr.c,v 1.14 2002/09/02 05:16:07 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/io/cpexpr.c,v 1.16 2003/12/25 02:40:24 noro Exp $ */ #include "ca.h" #include "parse.h" #include "al.h" #include "base.h" +#if PARI +#include "genpari.h" +#endif extern int hex_output,fortran_output,double_output,real_digit; @@ -78,6 +81,8 @@ extern int hex_output,fortran_output,double_output,rea #define PRINTGFMMAT length_gfmmat #define PRINTBYTEARRAY length_bytearray #define PRINTQUOTE length_QUOTE +#define PRINTSYMBOL length_SYMBOL +#define PRINTRANGE length_RANGE #define PRINTERR length_err #define PRINTLF length_lf #define PRINTLOP length_lop @@ -105,6 +110,8 @@ void PRINTGF2MAT(); void PRINTGFMMAT(); void PRINTBYTEARRAY(); void PRINTQUOTE(); +void PRINTSYMBOL(); +void PRINTRANGE(); void PRINTERR(); void PRINTCPLX(); void PRINTLM(); @@ -131,7 +138,6 @@ int estimate_length(VL vl,pointer p) void PRINTBF(BF a) { char *str; - char *GENtostr(); char *GENtostr0(); void myoutbrute(); @@ -187,6 +193,10 @@ void PRINTEXPR(VL vl,pointer p) PRINTBYTEARRAY(vl,(BYTEARRAY)p); break; case O_QUOTE: PRINTQUOTE(vl,(QUOTE)p); break; + case O_SYMBOL: + PRINTSYMBOL((SYMBOL)p); break; + case O_RANGE: + PRINTRANGE(vl,(RANGE)p); break; default: break; } @@ -537,6 +547,17 @@ void PRINTQUOTE(VL vl,QUOTE quote) { /* <...quoted...> */ total_length += 20; +} + +void PRINTSYMBOL(SYMBOL sym) +{ + total_length += strlen(sym->name); +} + +void PRINTRANGE(VL vl,RANGE r) +{ + PUTS("range("); PRINTEXPR(vl,r->start); + PUTS(","); PRINTEXPR(vl,r->end); PUTS(")"); } void PRINTERR(VL vl,ERR e)