/*1:*/
#line 25 "gb_gates.w"

#define print_gates p_gates 
#line 9 "gb_gates.ch"
extern Graph*risc(unsigned long);

extern Graph*prod(unsigned long,unsigned long);

extern void print_gates(Graph*);

extern long gate_eval(Graph*,char*,char*);

extern Graph*partial_gates(Graph*,unsigned long,unsigned long,long,char*);

extern long run_risc(Graph*,unsigned long[],unsigned long,unsigned long);

#line 33 "gb_gates.w"
extern unsigned long risc_state[];

/*:1*//*2:*/
#line 99 "gb_gates.w"

#define val  x.I 
#define typ  y.I
#define alt  z.V
#define outs  zz.A
#define is_boolean(v)  ((unsigned long)(v)<=1)
#define the_boolean(v)  ((long)(v))
#define tip_value(v)  (is_boolean(v)? the_boolean(v): (v)->val)
#define AND  '&'
#define OR  '|'
#define NOT  '~'
#define XOR  '^'

/*:2*//*50:*/
#line 1127 "gb_gates.w"

#define bit  z.I

/*:50*/


syntax highlighted by Code2HTML, v. 0.9.1