- workstation = SIMIX_host_get_table();
- for (i = 0; i < SIMIX_host_get_number(); i++) {
- __MSG_host_create(workstation[i], NULL);
+ xbt_dict_foreach(SIMIX_host_get_dict(), c, name, h) {
+ __MSG_host_create(h, NULL);
+ }
+ return;
+}
+
+/**
+ * \brief A platform constructor bypassing the parser.
+ *
+ * load lua script file to set up new platform, including hosts,links
+ * and the routing table
+ */
+
+void MSG_load_platform_script(const char *script_file)
+{
+#ifdef HAVE_LUA
+ lua_State *L = lua_open();
+ luaL_openlibs(L);
+
+ if (luaL_loadfile(L, script_file) || lua_pcall(L, 0, 0, 0)) {
+ printf("error: %s\n", lua_tostring(L, -1));
+ return;