int f_cond(int arglist){ int arg1,arg2,arg3; if(nullp(arglist)) return(NIL); arg1 = car(arglist); checkarg(LIST_TEST, "cond", arg1); arg2 = car(arg1); arg3 = cdr(arg1); if(! (nullp(eval(arg2)))) return(f_begin(arg3)); else return(f_cond(cdr(arglist))); }
void Data::read(string xmlFile) { if(_xml.size() == 0) { _xml = xmlFile; if(xmlFile[0] != '/') { char buf[1024]; getcwd(buf, 1024); stringstream sst; sst << buf << "/" << xmlFile; _xml = sst.str(); } } cout << "reading xml file: " << _xml << endl; YarsXSDSaxParser *parser = new YarsXSDSaxParser(); parser->read(xmlFile); if(parser->errors() > 0) { FORF(vector<string>, i, parser, w_begin(), w_end()) cout << "WARNING: " << *i << endl; FORF(vector<string>, i, parser, e_begin(), e_end()) cout << "ERROR: " << *i << endl; FORF(vector<string>, i, parser, f_begin(), f_end()) cout << "FATAL: " << *i << endl; delete parser; exit(-1); } delete parser; __writeCfg(); if(_initialisationCompleted == false) { if(_root->population() == NULL) { _root->initialiseFirstPopulationFromConfiguration(); } _root->population()->addObserver(this); _initialisationCompleted = true; } }