PMARSDLL_API int pMarsBeginMatch(int argc, char** argv, char* errFile) { freopen( errFile, "w", stderr ); if (parse_param(argc,argv)==SUCCESS) { reset_regs(); init(); body_load(); if (errorcode != SUCCESS) { freopen( "CON", "w", stderr ); return 2; } if (rounds!=0) { begin_match(); } } else { freopen( "CON", "w", stderr ); return 1; } return 0; }
static void module_iterate(vpiHandle i) { vpiHandle module; while (module = vpi_scan(i)) { vpi_printf("%s\n", vpi_get_str(vpiFullName, module)); reset_regs(module); module_iterate(vpi_iterate(vpiModule, module)); } }
PMARSDLL_API warrior_struct* pMarsParse(int argc, char** argv, char* errFile) { warrior_struct* res=NULL; freopen( errFile, "w", stderr ); if (parse_param(argc,argv)==SUCCESS) { reset_regs(); init(); if (assemble(warrior[0].fileName,0)==SUCCESS) { res=&warrior[0]; } } freopen( "CON", "w", stderr ); if (res!=NULL) { remove(errFile); } return res; }
my_vm(RP_mapping *_m) : map(_m) { reset_regs(); }