00001
00002
00003
00004
00005
00006 struct p_pair {
00007 NODE * pp_1;
00008 NODE * pp_2;
00009 };
00010
00011 ConsNode * decl_list;
00012
00013 # define clr_dlist while (!is_null_cn(decl_list)) \
00014 { \
00015 vfree(unlock(((struct p_pair *)cn_head(decl_list)) -> pp_1)); \
00016 vfree(unlock(((struct p_pair *)cn_head(decl_list)) -> pp_2)); \
00017 decl_list = cn_del_hd(decl_list); \
00018 }
00019
00020 # define add_dlist(p,q) { struct p_pair * pp_o0p ; \
00021 pp_o0p = (struct p_pair *) \
00022 alloc(sizeof(struct p_pair)); \
00023 pp_o0p -> pp_1 = lock(p); \
00024 pp_o0p -> pp_2 = lock(q); \
00025 decl_list = cn_cons((ANYTHING *)pp_o0p, decl_list); \
00026 }
00027
00028 boolean dl_match();
00029
00030 NODE * dl_new_decl();