123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- /* $Id$ */
- /*
- * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
- * See the copyright notice in the ACK home directory, in the file "Copyright".
- */
- /* @(#)comm1.h 1.5 */
- /*
- * variable declarations
- */
- #ifdef extern
- #define INIT(x) = x
- #else
- #define INIT(x) /* empty */
- #endif
- extern short pass INIT(PASS_1);
- /* PASS 1, 2 or 3 */
- extern short peekc; /* push back symbol (PASS_1) */
- extern short unresolved; /* number of unresolved references */
- extern long lineno; /* input line number */
- extern short hllino; /* high-level language line number */
- extern short nerrors; /* terminate at end of pass if set */
- extern short sflag INIT(SYM_DEF);
- /* -s option (symbol table info) */
- extern char *progname; /* for error messages */
- extern char *modulename; /* for error messages */
- extern common_t *commons; /* header of commons list */
- #ifdef ASLD
- extern short archmode; /* scanning archives */
- extern long archsize; /* size of individual archive entries */
- #else
- extern short uflag; /* if 1 make undefineds extern */
- /* symbol table index for last S_UND */
- #endif
- #ifdef LISTING
- extern short dflag; /* -d option (list mode) */
- #endif
- #ifdef ASLD
- #ifdef RELOCATION
- extern short rflag; /* -r option (relocation info) */
- #endif /* RELOCATION */
- #else
- #define rflag 1
- extern valu_t relonami;
- #endif /* ASLD */
- #ifdef THREE_PASS
- extern short bflag; /* -b option (no optimizations) */
- #endif
- extern char *aoutpath INIT("a.out");
- extern char temppath[50];
- extern FILE *input;
- extern FILE *tempfile;
- extern char *stringbuf; /* contains last string value */
- extern int stringlen; /* contains length of last string value */
- extern sect_t sect[SECTMAX];
- /*
- * specials for the location counter
- */
- extern sect_t *DOTSCT; /* §[DOTTYP-S_MIN] or NULL */
- extern ADDR_T DOTVAL; /* DOTSCT->s_size + DOTSCT->s_base */
- extern short DOTTYP; /* S_MIN..S_MAX or S_UND */
- extern unsigned short nname; /* Counts name table index in PASS_3 */
- extern item_t *hashtab[H_TOTAL];
- extern short hashindex; /* see item_search() */
- extern item_t *fb_ptr[4*FB_SIZE];
- #ifdef THREE_PASS
- #define BITCHUNK (8 * MEMINCR)
- extern int nbits;
- extern int bitindex; /* bitindex * MEMINCR * 8 + nbits gives
- number of decisions so far
- */
- #endif
- #ifdef LISTING
- extern short listmode; /* -d option for current pass */
- extern short listtemp; /* listmode if .list seen */
- extern short listflag; /* copied from listtemp at '\n' */
- extern short listcolm; /* column on output */
- extern short listeoln INIT(1);
- /* set by endline, tested by emit1 */
- extern FILE *listfile; /* copy of source text */
- extern char listpath[50];
- #endif
- #ifndef extern
- extern item_t keytab[];
- extern struct outhead outhead;
- #endif
- extern int curr_token;
- /* forward function declarations */
- #ifdef ASLD
- extern char *readident();
- #endif
- extern char *remember();
- extern item_t *fb_shift();
- extern item_t *fb_alloc();
- extern item_t *item_alloc();
- extern item_t *item_search();
- extern valu_t load();
- extern FILE *ffcreat();
- extern FILE *fftemp();
- /* ========== Machine dependent C declarations ========== */
- #include "mach1.c"
|