57 lines
1.8 KiB
C
57 lines
1.8 KiB
C
|
/* I N P U T R O U T I N E S */
|
||
|
|
||
|
extern bblock_p freshblock(); /* ()
|
||
|
* Allocate a bblock struct and assign
|
||
|
* it a brand new block_id.
|
||
|
*/
|
||
|
extern lab_id freshlabel(); /* ()
|
||
|
* Get a brand new lab_id.
|
||
|
*/
|
||
|
extern dblock_p getdtable(); /* (char *dname)
|
||
|
* Read the data block table from
|
||
|
* the file with the given name.
|
||
|
*/
|
||
|
extern proc_p getptable(); /* (char *pname)
|
||
|
* Read the proc table from
|
||
|
* the file with the given name.
|
||
|
*/
|
||
|
extern bool getunit(); /* (FILE *gf,*lf; short kind_out;
|
||
|
* bblock_p g_out; line_p l_out;
|
||
|
* proc_p *p_out; bool collect_mes)
|
||
|
* Read the control flow graph
|
||
|
* (from file gf) and the EM text
|
||
|
* (from lf). If collect_mes is TRUE,
|
||
|
* all register messages will be
|
||
|
* collected and put in the global
|
||
|
* variable 'mesregs'. The proc read
|
||
|
* is returned in p_out.
|
||
|
*/
|
||
|
extern bool getbblocks(); /* (FILE *f,short kind_out,
|
||
|
* short *n_out, bblock_p *g_out,
|
||
|
* line_p *l_out)
|
||
|
* Read the EM text of a single
|
||
|
* unit from the given file.
|
||
|
* This unit can be either a procedure
|
||
|
* or a umber of data declarations and
|
||
|
* messages. If it is a proc., then
|
||
|
* partition the text into
|
||
|
* basic blocks. Return the
|
||
|
* number of basic blocks in n_out.
|
||
|
*/
|
||
|
extern call_p getcall(); /* (FILE *cf)
|
||
|
* Read a call from the call-file
|
||
|
*/
|
||
|
extern line_p get_text(); /* (FILE *lf; proc_p *p_out)
|
||
|
* Read the EM text of one procedure.
|
||
|
* The procedure read is returned via
|
||
|
* p_out.
|
||
|
*/
|
||
|
extern calcnt_p getcc(); /* (FILE *ccf; proc_p p)
|
||
|
* Read the call-count information
|
||
|
* of procedure p.
|
||
|
*/
|
||
|
extern line_p get_ca_lines(); /* (FILE *lf; proc_p *p_out)
|
||
|
* Read em lines till end pseudo is met.
|
||
|
* (Used only by CA phase).
|
||
|
*/
|