1 #ifndef DISSECT_H 2 #define DISSECT_H 3 4 #include <stdio.h> 5 #include "parse.h" 6 #include "expression.h" 7 8 #define U_SHIFT 8 9 10 #define U_R_AOF 0x01 11 #define U_W_AOF 0x02 12 13 #define U_R_VAL 0x04 14 #define U_W_VAL 0x08 15 16 #define U_R_PTR (U_R_VAL << U_SHIFT) 17 #define U_W_PTR (U_W_VAL << U_SHIFT) 18 19 struct reporter 20 { 21 void (*r_symdef)(struct symbol *); 22 23 void (*r_symbol)(unsigned, struct position *, struct symbol *); 24 void (*r_member)(unsigned, struct position *, struct symbol *, struct symbol *); 25 }; 26 27 extern void dissect(struct symbol_list *, struct reporter *); 28 29 #endif 30