00001 // AUTOMATICALLY GENERATED -- DO NOT EDIT! -*- c++ -*- 00002 00003 #ifndef ptree_util_h 00004 #define ptree_util_h 00005 00006 #include <vector> 00007 00008 // 00009 // INTERFACE definition follows 00010 // 00011 00012 00013 class Ptree; 00019 enum { 00020 /* pseudo-keywords. OpenC++ doesn't recognize these, but we do. 00021 FIXME: translate the tree so that a leaf containing 'wchar_t' 00022 will be changed in to the appropriate reserved word. */ 00023 WCHAR_T = 9999, 00024 RESTRICT, 00025 EXPLICIT 00026 }; 00027 00028 void flatten_specifier_list(Ptree* tree, /*out*/ std::vector<Ptree*>* nodes); 00029 00030 void flatten_ptree(Ptree* tree, /*out*/ std::vector<Ptree*>* nodes); 00031 00034 bool ptree_is_name(Ptree* tree); 00035 00040 Ptree* convert_comma_expr_to_list(Ptree* input); 00041 00042 Ptree* convert_node_to_name(Ptree* p); 00043 00046 Ptree* convert_decl_to_expr(Ptree* lhs, Ptree* rhs); 00047 00048 #endif // ptree_util_h