view interps/c-intercal/src/feh.h @ 12320:9c7eb9899d95 draft

<fizzie> le/rn karma//All living beings have actions (karma) as their own, their inheritance, their congenital cause, their kinsman, their refuge. It is karma that differentiates beings into low and high states.
author HackEso <hackeso@esolangs.org>
date Fri, 06 Mar 2020 23:08:37 +0000
parents 859f9b4339e6
children
line wrap: on
line source

/* feh.h -- compilation functions used by perpetrate.c and ick.y */

/*@partial@*/ extern node *newnode(void);
/*@partial@*/ extern node *cons(int type, /*@null@*/ /*@keep@*/ node *car, /*@null@*/ /*@keep@*/ node *cdr);
extern unsigned long intern(int type, unsigned long index);
extern void checklabel(int label);
extern void treset(void);
/*@out@*/ /*@dependent@*/ extern tuple *newtuple(void);
extern void tupleswap(int,int); /* AIS */
extern void ppinit(int); /* AIS */
extern void typecast(node *np);
extern void codecheck(void);
extern void optimize(node *np);
/*@observer@*/ extern const char *nameof(int value, const assoc table[]);
extern void emit(tuple *tn, FILE *fp);
extern void emittextlines(FILE *fp);
extern void emitslatproto(FILE *fp); /* AIS: emit prototypes for /-functions */
extern void emitslat(FILE* fp); /* AIS: emit bodies of /-functions */
extern int  comefromsearch(tuple *tn, unsigned int index); /* AIS */
extern void explexpr(node* np, FILE* fp); /* AIS */
extern void prexpr(node *np, FILE* fp, int freenode); /* AIS: destaticed */
extern void checknodeactbits(node *np); /* AIS */
extern void optimizef(void); /* AIS */
extern void nodefree(/*@keep@*/ /*@null@*/ node* np); /* AIS */
extern unsigned long varextern(unsigned long intern, int vartype); /* AIS */
extern node *nodecopy(const node*); /* AIS */
extern ick_bool nodessame(/*@observer@*/ const node*, /*@observer@*/ const node*); /* AIS */

extern node *optdebugnode; /* AIS */
extern const char **enablers; /* AIS: so that there can be an element before the
			         ick_first element of the ick_array (UNKNOWN is element
			         -1, just to cause a bit more confusion) */
extern const assoc vartypes[];

extern int useprintflow; /* AIS */

/* feh.h ends here */