996
|
1 /* feh.h -- compilation functions used by perpetrate.c and ick.y */
|
|
2
|
|
3 /*@partial@*/ extern node *newnode(void);
|
|
4 /*@partial@*/ extern node *cons(int type, /*@null@*/ /*@keep@*/ node *car, /*@null@*/ /*@keep@*/ node *cdr);
|
|
5 extern unsigned long intern(int type, unsigned long index);
|
|
6 extern void checklabel(int label);
|
|
7 extern void treset(void);
|
|
8 /*@out@*/ /*@dependent@*/ extern tuple *newtuple(void);
|
|
9 extern void tupleswap(int,int); /* AIS */
|
|
10 extern void ppinit(int); /* AIS */
|
|
11 extern void typecast(node *np);
|
|
12 extern void codecheck(void);
|
|
13 extern void optimize(node *np);
|
|
14 /*@observer@*/ extern const char *nameof(int value, const assoc table[]);
|
|
15 extern void emit(tuple *tn, FILE *fp);
|
|
16 extern void emittextlines(FILE *fp);
|
|
17 extern void emitslatproto(FILE *fp); /* AIS: emit prototypes for /-functions */
|
|
18 extern void emitslat(FILE* fp); /* AIS: emit bodies of /-functions */
|
|
19 extern int comefromsearch(tuple *tn, unsigned int index); /* AIS */
|
|
20 extern void explexpr(node* np, FILE* fp); /* AIS */
|
|
21 extern void prexpr(node *np, FILE* fp, int freenode); /* AIS: destaticed */
|
|
22 extern void checknodeactbits(node *np); /* AIS */
|
|
23 extern void optimizef(void); /* AIS */
|
|
24 extern void nodefree(/*@keep@*/ /*@null@*/ node* np); /* AIS */
|
|
25 extern unsigned long varextern(unsigned long intern, int vartype); /* AIS */
|
|
26 extern node *nodecopy(const node*); /* AIS */
|
|
27 extern ick_bool nodessame(/*@observer@*/ const node*, /*@observer@*/ const node*); /* AIS */
|
|
28
|
|
29 extern node *optdebugnode; /* AIS */
|
|
30 extern const char **enablers; /* AIS: so that there can be an element before the
|
|
31 ick_first element of the ick_array (UNKNOWN is element
|
|
32 -1, just to cause a bit more confusion) */
|
|
33 extern const assoc vartypes[];
|
|
34
|
|
35 extern int useprintflow; /* AIS */
|
|
36
|
|
37 /* feh.h ends here */
|