version 1.5, 2000/11/08 08:02:51 |
version 1.9, 2001/03/13 01:10:27 |
|
|
* 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.4 2000/08/22 05:04:17 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/io/cpexpr.c,v 1.8 2001/03/09 01:44:10 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
#include "al.h" |
#include "al.h" |
#include "base.h" |
#include "base.h" |
|
|
extern int hex_output,fortran_output; |
extern int hex_output,fortran_output,double_output,real_digit; |
|
|
#define PRINTHAT (fortran_output?PUTS("**"):PUTS("^")) |
#define PRINTHAT (fortran_output?PUTS("**"):PUTS("^")) |
|
|
|
|
{ |
{ |
char *str; |
char *str; |
char *GENtostr(); |
char *GENtostr(); |
|
char *GENtostr0(); |
|
void myoutbrute(); |
|
|
str = GENtostr(a->body); |
if ( double_output ) { |
|
str = GENtostr0(a->body,myoutbrute); |
|
} else { |
|
str = GENtostr(a->body); |
|
} |
total_length += strlen(str); |
total_length += strlen(str); |
free(str); |
free(str); |
} |
} |
|
|
} |
} |
break; |
break; |
case N_R: |
case N_R: |
total_length += 20; /* XXX */ |
if ( double_output ) |
|
total_length += 400+real_digit; /* XXX */ |
|
else |
|
total_length += 20+real_digit; /* XXX */ |
break; |
break; |
case N_A: |
case N_A: |
PUTS("("); PRINTR(ALG,(R)BDY((Alg)q)); PUTS(")"); |
PUTS("("); PRINTR(ALG,(R)BDY((Alg)q)); PUTS(")"); |
|
|
case N_GFPN: |
case N_GFPN: |
PRINTUP((UP)(((GFPN)q)->body)); |
PRINTUP((UP)(((GFPN)q)->body)); |
break; |
break; |
|
case N_GFS: |
|
total_length += 11; /* XXX */ |
|
break; |
default: |
default: |
break; |
break; |
} |
} |
|
|
BYTEARRAY array; |
BYTEARRAY array; |
{ |
{ |
/* |xx xx ... xx| */ |
/* |xx xx ... xx| */ |
return 1+3*array->len; |
total_length += 1+3*array->len; |
} |
} |
|
|
void PRINTERR(vl,e) |
void PRINTERR(vl,e) |