1 /* $Id: put.h,v 1.6 1994/06/24 10:30:52 ceriel Exp $ */
3 * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
4 * See the copyright notice in the ACK home directory, in the file "Copyright".
6 /* O U T P U T R O U T I N E S */
9 extern FILE *curoutp; /* current output file */
11 #define outbyte(b) putc(b,curoutp)
12 extern outshort(); /* (short i)
13 * Write a short to curoutp
15 extern outoff(); /* (offset off)
16 * Write an offset to curoutp
18 extern outproc(); /* (proc_p p)
19 * Write a procid to curoutp
21 extern putdtable(); /* (dblock_p head, FILE *df)
22 * Write the data block table to file df,
23 * preceded by its length.
25 extern putptable(); /* (proc_p head, FILE *pf, bool all)
26 * Write the proc table to file pf,
27 * preceded by its length. If all=false,
28 * the fields computed by CF will not be
29 * written (used by the IC phase).
31 extern putunit(); /* (short kind; proc_p p; line_p l;
33 * If kind = LTEXT, then write
34 * the control flow graph to file gf,
35 * preceded by its length (#basic blocks);
36 * write the EM code of every basic block
37 * in the graph to file lf, preceded by
38 * the number of instructions in the block.
39 * Else, (kind = LDATA) just write the
40 * list of instructions (data declarations)
43 extern short putlines(); /* (line_p l; FILE *lf)
44 * Output the list of em instructions
45 * headed by l. Return the number of
46 * instructions written.