42 using namespace YACS::ENGINE;
64 throw Exception(
"Runtime is not yet initialized");
88 _builtinCatalog =
new Catalog(
"builtins");
89 std::map<std::string,TypeCode*>& typeMap=_builtinCatalog->_typeMap;
110 char* valenv=getenv(
"YACS_TRACELEVEL");
113 std::istringstream iss(valenv);
120 char *maxThreadStr = getenv(
"YACS_MAX_THREADS");
121 if (maxThreadStr != NULL)
123 int maxThreads = atoi(maxThreadStr);
124 DEBTRACE(
"maxThreads = " << maxThreads);
129 char *threadStackSizeStr = getenv(
"YACS_THREADS_STACK_SIZE");
130 if (threadStackSizeStr != NULL)
132 size_t threadStackSize = strtoul(threadStackSizeStr, NULL, 0);
133 DEBTRACE(
"threadStackSize = " << threadStackSize);
145 delete _builtinCatalog;
156 for(std::vector<Catalog *>::iterator it=_catalogs.begin();it !=_catalogs.end();it++)
163 std::list<TypeCodeObjref *> ltc)
169 const std::string& name,
182 throw Exception(
"InDataNode factory not implemented");
187 throw Exception(
"OutDataNode factory not implemented");
192 throw Exception(
"FuncNode factory not implemented");
197 throw Exception(
"ScriptNode factory not implemented");
202 throw Exception(
"RefNode factory not implemented");
207 throw Exception(
"CompoNode factory not implemented");
212 throw Exception(
"SInlineNode factory not implemented");
216 const std::string& kind)
218 throw Exception(
"ComponentInstance factory not implemented");
223 throw Exception(
"Container factory not implemented");
228 return new Proc(name);
233 return new Bloc(name);
259 const std::string& kind,
Proc * procForTypes)
261 return new OptimizerLoop(name,algLib,factoryName,algInitOnFile,
true, procForTypes);
282 if (_catalogLoaderFactoryMap.find(sourceKind) == _catalogLoaderFactoryMap.end())
284 throw Exception(
"This type of catalog loader does not exist: " + sourceKind);
290 proto->
load(cata,path);
302 _catalogLoaderFactoryMap[name]=factory;
311 return _builtinCatalog;
320 _catalogs.push_back(catalog);
330 if (_builtinCatalog->_typeMap.count(name) != 0)
331 return _builtinCatalog->_typeMap[name];
332 for(std::vector<Catalog *>::const_iterator it=_catalogs.begin();it !=_catalogs.end();it++)
334 if ((*it)->_typeMap.count(name) != 0)
335 return (*it)->_typeMap[name];
352 throw Exception(
"convertNeutral is not implemented by your runtime");
366 throw Exception(
"convertNeutralAsString is not implemented by your runtime");