Пример #1
0
int main(int argc, char *argv[])
{
	kbool_t ret = 1;
	int scriptidx = konoha_ginit(argc, argv);
	if(builtin_test != NULL) {
		return konoha_builtintest(builtin_test);
	}
	if(test_script != NULL) {
		return konoha_test(test_script);
	}
	konoha_t konoha = konoha_open();
	if(preimport != NULL) {
		konoha_preimport((CTX_t)konoha, preimport);
	}
	if(startup_script != NULL) {
		konoha_startup(konoha, startup_script);
	}
	if(scriptidx < argc) {
		ret = konoha_load(konoha, argv[scriptidx]);
	}
	if(ret && interactive_flag) {
		ret = konoha_shell(konoha);
	}
	konoha_close(konoha);
	MODGC_check_malloced_size();
	return ret ? konoha_AssertResult: 1;
}
Пример #2
0
static const char *parse_option(int *argc, const char *argv[], const char *argv_[])
{
    int i, argc_ = 0;
    if (*argc <= 1) {
        fprintf(stderr, "usage: %s script.k\n", argv[0]);
        exit(EXIT_FAILURE);
    }
    for (i = 0; i < *argc; ++i) {
        kbytes_t t = B(argv[i]);
        if (knh_bytes_equals(t, STEXT("--emit-llvm"))) {
            compile_mode = EMIT_LLVM;
            continue;
        }
        if (knh_bytes_equals(t, STEXT("--emit-js"))) {
            compile_mode = EMIT_JS;
            continue;
        }
        if (knh_bytes_equals(t, STEXT("--emit-c++"))) {
            compile_mode = EMIT_CPP;
            continue;
        }
        if (compile_mode == EMIT_LLVM && knh_bytes_equals(t, STEXT("--run"))) {
            compiler_run_main = 1;
            continue;
        }
        argv_[argc_++] = argv[i];
    }
    konoha_ginit(argc_, argv_);
    *argc = argc_;
    return argv_[1];
}
Пример #3
0
int main(int argc, const char *argv[])
{
	MPI_Init(&argc, (char***)&argv);
	konoha_ginit(argc, argv);
	konoha_t konoha = konoha_open();
	int _world_rank;
	MPI_Comm_rank(MPI_COMM_WORLD, &_world_rank);
#ifdef KNH_MPI_PROFILE
	double _begin = MPI_Wtime();
#endif
	konoha_main(konoha, argc, argv);
#ifdef KNH_MPI_PROFILE
	double _finish = MPI_Wtime();
	double _duration = _finish - _begin;
	{
		CTX ctx = (CTX)konoha;
		KNH_NTRACE2(ctx, "konoha_main(MPI)", K_NOTICE,
					KNH_LDATA(LOG_f("begin", _begin), LOG_f("finish", _finish), LOG_f("duration", _duration), LOG_i("myrank", _world_rank)));
	}
#endif
	konoha_close(konoha);
	MPI_Finalize();
	return 0;
}