|
|
1.1 root 1: # include "mfile2.h"
2:
3: char *cnames[] =
4: {
5: "CEFF",
6: "NRGS",
7: "CCC",
8: 0,
9: };
10:
11: prgoal( goal )
12: register goal;
13: {
14: /* print a nice-looking description of goal */
15:
16: register i, flag;
17:
18: flag = 0;
19: for( i=0; cnames[i]; ++i )
20: {
21: if( goal & (1<<i) )
22: {
23: if( flag ) printf( "|" );
24: ++flag;
25: printf( cnames[i] );
26: }
27: }
28: if( !flag ) printf( "?%o", goal );
29:
30: }
31:
32: #ifndef NODBG
33: e2print( p )
34: register NODE *p;
35: {
36: printf( "\n********* costs=(0,...,NRGS;EFF;TEMP;CC)\n" );
37: e22print( p ,"T");
38: printf("=========\n");
39: }
40:
41: e22print( p ,s)
42: register NODE *p;
43: char *s;
44: {
45: static down=0;
46: register ty;
47:
48: ty = optype( p->tn.op );
49: if( ty == BITYPE )
50: {
51: ++down;
52: e22print( p->in.right ,"R");
53: --down;
54: }
55: e222print( down, p, s );
56:
57: if( ty != LTYPE )
58: {
59: ++down;
60: e22print( p->in.left, "L" );
61: --down;
62: }
63: }
64:
65: t2print( t )
66: TWORD t;
67: {
68: int i;
69: static struct {
70: TWORD mask;
71: char * string;
72: } t2tab[] = {
73: TANY, "ANY",
74: TINT, "INT",
75: TUNSIGNED, "UNSIGNED",
76: TCHAR, "CHAR",
77: TUCHAR, "UCHAR",
78: TSHORT, "SHORT",
79: TUSHORT, "USHORT",
80: TLONG, "LONG",
81: TULONG, "ULONG",
82: TFLOAT, "FLOAT",
83: TDOUBLE, "DOUBLE",
84: TPOINT, "POINTER",
85: TPOINT2, "POINTER2",
86: TSTRUCT, "STRUCT",
87: TVOID, "VOID",
88: 0, 0
89: };
90:
91: for( i=0; t && t2tab[i].mask; ++i ) {
92: if( (t&t2tab[i].mask) == t2tab[i].mask ) {
93: printf( " %s", t2tab[i].string );
94: t ^= t2tab[i].mask;
95: }
96: }
97: }
98:
99: # else
100: e2print( p )
101: NODE *p;
102: {
103: werror( "e2print not compiled" );
104: }
105: e222print( p, s )
106: NODE *p;
107: char *s;
108: {
109: werror( "e222print not compiled" );
110: }
111: # endif
112: cprt( c, s )
113: register char *s;
114: register c;
115: {
116: if( c >= INFINITY ) printf( "*%s", s );
117: else printf( "%d%s", c, s );
118: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.