-void ETag_surfxml_platform(void)
-{
- convert_route_multi_to_routes();
-
- surfxml_call_cb_functions(ETag_surfxml_platform_cb_list);
-
- xbt_dict_free(&random_data_list);
- xbt_dict_free(&set_list);
-
-}
-
-void STag_surfxml_host(void)
-{
- surfxml_call_cb_functions(STag_surfxml_host_cb_list);
-}
-
-void ETag_surfxml_host(void)
-{
- surfxml_call_cb_functions(ETag_surfxml_host_cb_list);
-}
-
-void STag_surfxml_router(void)
-{
- surfxml_call_cb_functions(STag_surfxml_router_cb_list);
-}
-
-void ETag_surfxml_router(void)
-{
- surfxml_call_cb_functions(ETag_surfxml_router_cb_list);
-}
-
-void STag_surfxml_link(void)
-{
- surfxml_call_cb_functions(STag_surfxml_link_cb_list);
-}
-
-void ETag_surfxml_link(void)
-{
- surfxml_call_cb_functions(ETag_surfxml_link_cb_list);
-}
-
-void STag_surfxml_route(void)
-{
- surfxml_call_cb_functions(STag_surfxml_route_cb_list);
-}
-
-void ETag_surfxml_route(void)
-{
- surfxml_call_cb_functions(ETag_surfxml_route_cb_list);
-}
-
-void STag_surfxml_link_c_ctn(void)
-{
- surfxml_call_cb_functions(STag_surfxml_link_c_ctn_cb_list);
-}
-
-void ETag_surfxml_link_c_ctn(void)
-{
- surfxml_call_cb_functions(ETag_surfxml_link_c_ctn_cb_list);
-}
-
-void STag_surfxml_process(void)
-{
- surfxml_call_cb_functions(STag_surfxml_process_cb_list);
-}
-
-void ETag_surfxml_process(void)
-{
- surfxml_call_cb_functions(ETag_surfxml_process_cb_list);
-}
-
-void STag_surfxml_argument(void)
-{
- surfxml_call_cb_functions(STag_surfxml_argument_cb_list);
-}
-
-void ETag_surfxml_argument(void)
-{
- surfxml_call_cb_functions(ETag_surfxml_argument_cb_list);
-}
-
-void STag_surfxml_prop(void)
-{
- surfxml_call_cb_functions(STag_surfxml_prop_cb_list);
-}
-void ETag_surfxml_prop(void)
-{
- surfxml_call_cb_functions(ETag_surfxml_prop_cb_list);
-}
-
-void STag_surfxml_set(void)
-{
- surfxml_call_cb_functions(STag_surfxml_set_cb_list);
-}
-
-void ETag_surfxml_set(void)
-{
- surfxml_call_cb_functions(ETag_surfxml_set_cb_list);
-}
-
-void STag_surfxml_foreach(void)
-{
- /* Save the current buffer */
- old_buff = surfxml_bufferstack;
- surfxml_call_cb_functions(STag_surfxml_foreach_cb_list);
-}
-
-void ETag_surfxml_foreach(void)
-{
- surfxml_call_cb_functions(ETag_surfxml_foreach_cb_list);
-
- /* free the temporary dynar and restore original */
- xbt_dynar_free(&STag_surfxml_host_cb_list);
- xbt_dynar_free(&ETag_surfxml_host_cb_list);
-
- STag_surfxml_host_cb_list = main_STag_surfxml_host_cb_list;
- ETag_surfxml_host_cb_list = main_ETag_surfxml_host_cb_list;
-
- /* free the temporary dynar and restore original */
- xbt_dynar_free(&STag_surfxml_link_cb_list);
- xbt_dynar_free(&ETag_surfxml_link_cb_list);
-
- STag_surfxml_link_cb_list = main_STag_surfxml_link_cb_list;
- ETag_surfxml_link_cb_list = main_ETag_surfxml_link_cb_list;
-
-}
-
-void STag_surfxml_route_c_multi(void)
-{
- surfxml_call_cb_functions(STag_surfxml_route_c_multi_cb_list);
-}
-
-void ETag_surfxml_route_c_multi(void)
-{
- surfxml_call_cb_functions(ETag_surfxml_route_c_multi_cb_list);
-}
-
-void STag_surfxml_cluster(void)
-{
- surfxml_call_cb_functions(STag_surfxml_cluster_cb_list);
-}
-
-void ETag_surfxml_cluster(void)
-{
- surfxml_call_cb_functions(ETag_surfxml_cluster_cb_list);
-}
-
-void STag_surfxml_trace(void)
-{
- surfxml_call_cb_functions(STag_surfxml_trace_cb_list);
-}
-
-void ETag_surfxml_trace(void)
-{
- surfxml_call_cb_functions(ETag_surfxml_trace_cb_list);
-}
-
-void STag_surfxml_trace_c_connect(void)
-{
- surfxml_call_cb_functions(STag_surfxml_trace_c_connect_cb_list);
-}
-
-void ETag_surfxml_trace_c_connect(void)
-{
- surfxml_call_cb_functions(ETag_surfxml_trace_c_connect_cb_list);
-}
-
-void STag_surfxml_random(void)
-{
- surfxml_call_cb_functions(STag_surfxml_random_cb_list);
-}
-
-void ETag_surfxml_random(void)
-{
- surfxml_call_cb_functions(ETag_surfxml_random_cb_list);
-}
+#define parse_method(type,name) \
+void type##Tag_surfxml_##name(void) \
+{ surfxml_call_cb_functions(type##Tag_surfxml_##name##_cb_list); }
+
+parse_method(E, platform);
+parse_method(S, host);
+parse_method(E, host);
+parse_method(S, router);
+parse_method(E, router);
+parse_method(S, link);
+parse_method(E, link);
+parse_method(S, route);
+parse_method(E, route);
+parse_method(S, link_ctn);
+parse_method(E, link_ctn);
+parse_method(S, process);
+parse_method(E, process);
+parse_method(S, argument);
+parse_method(E, argument);
+parse_method(S, prop);
+parse_method(E, prop);
+parse_method(S, trace);
+parse_method(E, trace);
+parse_method(S, trace_connect);
+parse_method(E, trace_connect);
+parse_method(S, random);
+parse_method(E, random);
+parse_method(S, AS);
+parse_method(E, AS);
+parse_method(S, ASroute);
+parse_method(E, ASroute);
+parse_method(S, bypassRoute);
+parse_method(E, bypassRoute);
+parse_method(S, cluster);
+parse_method(E, cluster);
+parse_method(S, config);
+parse_method(E, config);
+
+/* Open and Close parse file */