version 1.9, 2001/03/13 01:10:27 |
version 1.12, 2001/09/03 07:01:08 |
|
|
* OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY |
* OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY |
* 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/io/cpexpr.c,v 1.8 2001/03/09 01:44:10 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/io/cpexpr.c,v 1.11 2001/04/20 02:34:23 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
Line 77 extern int hex_output,fortran_output,double_output,rea |
|
Line 77 extern int hex_output,fortran_output,double_output,rea |
|
#define PRINTGF2MAT length_gf2mat |
#define PRINTGF2MAT length_gf2mat |
#define PRINTGFMMAT length_gfmmat |
#define PRINTGFMMAT length_gfmmat |
#define PRINTBYTEARRAY length_bytearray |
#define PRINTBYTEARRAY length_bytearray |
|
#define PRINTQUOTE length_QUOTE |
#define PRINTERR length_err |
#define PRINTERR length_err |
#define PRINTLF length_lf |
#define PRINTLF length_lf |
#define PRINTLOP length_lop |
#define PRINTLOP length_lop |
Line 84 extern int hex_output,fortran_output,double_output,rea |
|
Line 85 extern int hex_output,fortran_output,double_output,rea |
|
#define PRINTEOP length_eop |
#define PRINTEOP length_eop |
#define PRINTQOP length_qop |
#define PRINTQOP length_qop |
#define PRINTUP length_up |
#define PRINTUP length_up |
|
#define PRINTUM length_um |
|
#define PRINTSF length_sf |
|
|
void PRINTEXPR(); |
void PRINTEXPR(); |
void PRINTNUM(); |
void PRINTNUM(); |
|
|
void PRINTGF2MAT(); |
void PRINTGF2MAT(); |
void PRINTGFMMAT(); |
void PRINTGFMMAT(); |
void PRINTBYTEARRAY(); |
void PRINTBYTEARRAY(); |
|
void PRINTQUOTE(); |
void PRINTERR(); |
void PRINTERR(); |
void PRINTCPLX(); |
void PRINTCPLX(); |
void PRINTLM(); |
void PRINTLM(); |
|
|
PRINTGFMMAT(vl,(GFMMAT)p); break; |
PRINTGFMMAT(vl,(GFMMAT)p); break; |
case O_BYTEARRAY: |
case O_BYTEARRAY: |
PRINTBYTEARRAY(vl,(BYTEARRAY)p); break; |
PRINTBYTEARRAY(vl,(BYTEARRAY)p); break; |
|
case O_QUOTE: |
|
PRINTQUOTE(vl,(QUOTE)p); break; |
default: |
default: |
break; |
break; |
} |
} |
|
|
PRINTUP((UP)(((GFPN)q)->body)); |
PRINTUP((UP)(((GFPN)q)->body)); |
break; |
break; |
case N_GFS: |
case N_GFS: |
total_length += 11; /* XXX */ |
total_length += 13; /* XXX */ |
break; |
break; |
|
case N_GFSN: |
|
PRINTUM(BDY((GFSN)q)); |
|
break; |
default: |
default: |
break; |
break; |
} |
} |
Line 552 BYTEARRAY array; |
|
Line 561 BYTEARRAY array; |
|
total_length += 1+3*array->len; |
total_length += 1+3*array->len; |
} |
} |
|
|
|
void PRINTQUOTE(vl,quote) |
|
VL vl; |
|
QUOTE quote; |
|
{ |
|
/* <...quoted...> */ |
|
total_length += 20; |
|
} |
|
|
void PRINTERR(vl,e) |
void PRINTERR(vl,e) |
VL vl; |
VL vl; |
ERR e; |
ERR e; |
|
|
} |
} |
PUTS(")"); |
PUTS(")"); |
} |
} |
|
} |
|
|
|
PRINTUM(n) |
|
UM n; |
|
{ |
|
int i,d; |
|
|
|
if ( !n ) |
|
PUTS("0"); |
|
else if ( !n->d ) |
|
PRINTSF(n->c[0]); |
|
else { |
|
d = n->d; |
|
PUTS("("); |
|
if ( !d ) { |
|
PRINTSF(n->c[d]); |
|
} else if ( d == 1 ) { |
|
PRINTSF(n->c[d]); |
|
PUTS("*@s"); |
|
} else { |
|
PRINTSF(n->c[d]); |
|
PUTS("*@s"); PRINTHAT; total_length += 13; |
|
} |
|
for ( i = d-1; i >= 0; i-- ) { |
|
if ( n->c[i] ) { |
|
PUTS("+("); PRINTSF(n->c[i]); PUTS(")"); |
|
if ( i >= 2 ) { |
|
PUTS("*@s"); PRINTHAT; total_length += 13; |
|
} else if ( i == 1 ) |
|
PUTS("*@s"); |
|
} |
|
} |
|
PUTS(")"); |
|
} |
|
} |
|
|
|
PRINTSF(i) |
|
unsigned int i; |
|
{ |
|
if ( !i ) { |
|
PUTS("0"); |
|
} else |
|
total_length += 15; |
} |
} |