int main(int argc, char *argv[]) { /* Initialize random seed */ srand(time(NULL)); /* Initialize command line and fill all parameters */ cmdline_init(argc, argv); /* Check if user requires help */ if (help) { cmdline_print_usage(false); return 0; } /* Validate that a path was given */ if (!env_get_data_path()) { LOG_E("No path specified!\n"); goto err; } /* Initialize, run, and deinitialize machine */ if (!machine_init()) goto err; machine_run(); machine_deinit(); return 0; err: cmdline_print_usage(true); return 1; }
pointer sc_machine_run(scheme *sc, pointer args) { if (args!=sc->NIL) { if(sc->vptr->is_number(sc->vptr->pair_car(args)) && sc->vptr->is_number(sc->vptr->pair_car(sc->vptr->pair_cdr(args)))) { unsigned int m=sc->vptr->ivalue(sc->vptr->pair_car(args)); unsigned int c=sc->vptr->ivalue(sc->vptr->pair_car(sc->vptr->pair_cdr(args))); for (int i=0; i<c; i++) { machine_run(swarm[m]); } } } return sc->NIL; }