/*2:*/
#line 41 "./o2linker_types.w"

#ifndef o2linker_types_
#define o2linker_types_ 1
/*3:*/
#line 52 "./o2linker_types.w"

#define CWEAVE_TITLE_LIMIT 75
#define RESERVE_FIXED_NO_THREADS 1024
#define NO_BITS_PER_SET_PARTITION 8
#define ACCEPT_FILTER true
#define BYPASS_FILTER false
#define Success true
#define Failure false
#define Nested_file_cnt_limit 15
#define O2_library_file "yacco2.h"
#define Yacco2_holding_file "yacco2cmd.tmp"
#define Linker_holding_file "linkercmd.tmp"
#define Max_buf_size 2*1024
#define Max_cweb_item_size 10*1024
/*:3*/
#line 44 "./o2linker_types.w"
;
/*4:*/
#line 67 "./o2linker_types.w"

typedef int Voc_ENO;
typedef int RULE_ENO;

/*:4*//*5:*/
#line 71 "./o2linker_types.w"

typedef std::set<int> INT_SET_type;
/*:5*//*6:*/
#line 73 "./o2linker_types.w"

typedef INT_SET_type::iterator INT_SET_ITER_type;
/*:6*//*7:*/
#line 75 "./o2linker_types.w"

typedef std::vector<INT_SET_type> INT_SET_LIST_type;
/*:7*//*8:*/
#line 77 "./o2linker_types.w"

typedef INT_SET_LIST_type::iterator INT_SET_LIST_ITER_type;
/*:8*//*9:*/
#line 79 "./o2linker_types.w"

typedef std::map<int,std::string> INT_STR_MAP_type;
/*:9*//*10:*/
#line 81 "./o2linker_types.w"

typedef INT_STR_MAP_type::iterator INT_STR_MAP_ITER_type;
/*:10*//*11:*/
#line 83 "./o2linker_types.w"

typedef std::set<std::string*> STR_SET_type;
/*:11*//*12:*/
#line 85 "./o2linker_types.w"

typedef STR_SET_type::iterator STR_SET_ITER_type;
/*:12*//*13:*/
#line 87 "./o2linker_types.w"

typedef std::map<NS_yacco2_terminals::T_in_stbl*,STR_SET_type> T_IN_STBL_SET_STR_MAP_type;
/*:13*//*14:*/
#line 89 "./o2linker_types.w"

typedef T_IN_STBL_SET_STR_MAP_type::iterator T_IN_STBL_SET_STR_MAP_ITER_type;
/*:14*//*15:*/
#line 91 "./o2linker_types.w"

typedef int Voc_ENO;
/*:15*//*16:*/
#line 93 "./o2linker_types.w"

typedef int RULE_ENO;
/*:16*//*17:*/
#line 95 "./o2linker_types.w"

typedef int T_ENO;
/*:17*//*18:*/
#line 98 "./o2linker_types.w"

typedef std::set<T_in_stbl*> T_IN_STBL_SET_type;
/*:18*//*19:*/
#line 101 "./o2linker_types.w"

typedef T_IN_STBL_SET_type::iterator T_IN_STBL_SET_ITER_type;
/*:19*//*20:*/
#line 103 "./o2linker_types.w"

typedef vector<T_ENO> T_COUNT_type;
/*:20*//*21:*/
#line 105 "./o2linker_types.w"

typedef T_COUNT_type::iterator T_COUNT_ITER_type;
/*:21*//*22:*/
#line 107 "./o2linker_types.w"

typedef vector<T_in_stbl*> STBL_T_ITEMS_type;
/*:22*//*23:*/
#line 109 "./o2linker_types.w"

typedef STBL_T_ITEMS_type::iterator STBL_T_ITEMS_ITER_type;
/*:23*//*24:*/
#line 111 "./o2linker_types.w"

typedef std::map<int,int> BIT_MAP_type;
/*:24*//*25:*/
#line 113 "./o2linker_types.w"

typedef BIT_MAP_type::iterator BIT_MAP_ITER_type;

/*:25*/
#line 45 "./o2linker_types.w"
;
/*26:*/
#line 117 "./o2linker_types.w"

struct prt_called_thread_list_ast_functor:public Type_AST_functor{
functor_result_type operator()(yacco2::ast_base_stack*Stk_env);
typedef void(*PFF)(AST*,std::ofstream*,int);
prt_called_thread_list_ast_functor(PFF Func);
void o_file(std::ofstream*Ow_linker_file);
void reset_cnt();
private:
yacco2::ast_base_stack*stk_env_;
yacco2::INT idx_;
yacco2::AST*cnode_;
yacco2::ast_base_stack::s_rec*srec_;
PFF prt_funct_;
yacco2::INT cnt_;
std::ofstream*ow_linker_file_;
};
/*:26*/
#line 46 "./o2linker_types.w"
;
#endif

/*:2*/
