/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */

/*
  $Header: /var/lib/cvsd/repos/CSRG/43BSD/contrib/B/src/bint/b2gen.h,v 1.1.1.1 2018/04/24 16:12:54 root Exp $
*/

#define Is_node(t) ((t) != NilTree && Is_parsetree(t))

extern int nextvarnumber; /* Counts local targets (including formals) */
extern value formals, locals, globals, mysteries, refinements;
extern string gentab[];

#define NTYPES (FORMAL+1)

struct state {
	parsetree h_last;
	parsetree *h_wanthere;
	parsetree h_bpchain;
};

#define f_expr(p) fix(p, 'v') /* "evaluate" */
#define f_targ(p) fix(p, 'l') /* "locate" */

value copydef();
bool modify_tag();
