00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef MADXParser_hpp
00025 #define MADXParser_hpp 1
00026
00027 #include "Translate/TranslateCore.hpp"
00028
00029
00030
00031 class MADXParser : public TranslateCore {
00032 public:
00033
00036 MADXParser();
00037
00038 private:
00039
00040
00041
00042 void init_lists_madx ();
00043
00044 bool custom_x_statement_to_x (StrList word_list, Str comment, UAPNode* file_root);
00045
00046 bool custom_x_add_attributes (StrList& word_list, Str ele_class,
00047 Str& attrib_name, UAPNode* x_ele_root);
00048
00049 bool custom_x_node_to_aml (UAPNode* x_node, UAPNode* aml_root, UAPNode* aml_node);
00050
00051 bool custom_x_element_attribute_to_aml (UAPNode* x_node, Str x_class,
00052 UAPAttribute ia, UAPNode* aml_node);
00053
00054 void custom2_x_element_attribute_to_aml (UAPNode* x_node, UAPNode* aml_node);
00055
00056 bool custom_x_element_to_x_file (UAPNode* x_node, Str& comment,
00057 StreamStruct& x_out);
00058
00059 bool custom_aml_node_to_x (UAPNode* aml_ele, UAPNode* x_rep);
00060
00061 bool custom_aml_element_attribute_to_x(UAPNode* aml_root, UAPNode* aml_ele,
00062 UAPNode* aml_attrib, UAPNode* x_ele);
00063
00064 void custom2_aml_element_attribute_to_x(UAPNode* aml_ele, UAPNode* x_ele);
00065
00066 void custom_x_attrib_to_x_file_translate (Str& attrib_name, Str& attrib_value);
00067
00068 bool custom_aml_sector_or_element_to_x (UAPNode* aml_sector, UAPNode* x_root);
00069
00070 };
00071
00072 #endif