コード例 #1
0
ファイル: main.c プロジェクト: SOII-2016/shelldoge
int main(int argc, char *argv[]) {
	int exit = 0;
	char *line;			/* string to be read from input */
	FILE *input;		/* file input stream */

	dogeFullColor();

	newProcessList();
	prepareSignals();
	
	input = handleArguments(argc, argv);

	while(!exit) {
		showcwd("$");
		line = readline(input);
		
		if(checkExit(line)) {
			exit = 1;
		} else {
			execute(line);
		}

		free(line);
	}

	destroyProcessList();

	return EXIT_SUCCESS;
}
コード例 #2
0
ファイル: move_generator.cpp プロジェクト: elentaran/GoBot
move_generator::move_generator(int nb_args, char* args[]) {

    _gameGoban = Goban();
    _komi = DEFAULT_KOMI;
    _nb_sim = -1;
    clear();
    handleArguments(nb_args, args);
    initPatternValue();
}
コード例 #3
0
Wrapper::Wrapper(int argc, char *argv[]) :
        default_file("targets/qtjambi_masterinclude.h"),
        default_system("targets/build_all.xml"),
        pp_file("preprocessed.tmp"),
        defineUndefineStageCurrent(1),
        debugCppMode(DEBUGLOG_DEFAULTS) {

    gs = GeneratorSet::getInstance();
    args = parseArguments(argc, argv);
    handleArguments();
    assignVariables();
}
コード例 #4
0
ファイル: bin2h.c プロジェクト: nzeemin/nzeemin-opensrc
int main(int argc, char** argv)
{
	if (argc <= 1 || (argc > 1 && strcmp(argv[1], "/?") == 0))
	{
		if (argc == 0)
			printUsage("bin2h");
		else
			printUsage(argv[0]);

		return 1;
	}
	
	newFileName[0] = '\0';
	variableName[0] = '\0';

	// Handle arguments
	if (!handleArguments(argc, argv))
	{
		return 1;
	}

	sprintf(fileNameNoExtension, fileName);
	char* lastDot = strrchr(fileNameNoExtension, '.');
	if (lastDot != NULL)
	{
		*lastDot = '\0';
	}

	if (strlen(variableName) == 0)
		sprintf(variableName, "%s", fileNameNoExtension);

	if (strlen(newFileName) == 0)
		sprintf(newFileName, "%s.h", variableName);

	// Load file and output result
	if (!loadFile())
	{
		return 2;
	}

	bool status = output();
	
	free(buffer);

	if (!status)
	{
		return 3;
	}

	return 0;
}
コード例 #5
0
ファイル: main.c プロジェクト: stoicism2323/cReddit
int main(int argc, char *argv[])
{
    RedditUserLogged *user = NULL;
    char *subreddit = NULL;
    char *password = NULL, *username = NULL;
    optParser parser;

    DEBUG_START(DEBUG_FILE, DEBUG_FILENAME);

    memset(&parser, 0, sizeof(optParser));

    parser.argc = argc;
    parser.argv = argv;

    optAddOptions (&parser, mainOptions, MOPT_ARG_COUNT);

    handleArguments(&parser);

    if (mainOptions[MOPT_HELP].isSet) {
        displayHelp(&parser);
        return 0;
    }

    optClearParser(&parser);

    setlocale(LC_CTYPE, "");


    initscr();
    raw();//We want character for character input
    keypad(stdscr,1);//Enable extra keys like arrowkeys
    noecho();
    start_color();
    use_default_colors();
    init_pair(1, -1, -1);
    init_pair(2, COLOR_BLACK, COLOR_WHITE);

    DEBUG_PRINT(L"Starting...\n");

    /* Start libreddit */
    redditGlobalInit();

    globalState = redditStateNew();

    globalState->userAgent = redditCopyString("cReddit/0.0.1");

    redditStateSet(globalState);

    if (mainOptions[MOPT_USERNAME].isSet) {
        username = mainOptions[MOPT_USERNAME].svalue;
        if (!mainOptions[MOPT_PASSWORD].isSet)
            password = getPassword();
        else
            password = mainOptions[MOPT_PASSWORD].svalue;

        user = redditUserLoggedNew();
        redditUserLoggedLogin(user, username, password);

        /* Don't want to leave that important Reddit password in memory */
        memset(password, 0, strlen(password));
        if (!mainOptions[MOPT_PASSWORD].isSet)
            free(password);
    }
    if (mainOptions[MOPT_SUBREDDIT].isSet) {
        subreddit = mainOptions[MOPT_SUBREDDIT].svalue;
        if (!startsWith("/r/", subreddit) && strcmp("/", subreddit) != 0)
            prepend("/r/", subreddit);

    } else {
        subreddit = "/";
    }
    showSubreddit(subreddit);

    redditUserLoggedFree(user);
    redditStateFree(globalState);
    redditGlobalCleanup();
    endwin();

    DEBUG_END(DEBUG_FILE);
    return 0;
}
コード例 #6
0
ファイル: Universe.cpp プロジェクト: jdegeete/SOMpp
void Universe::initialize(long _argc, char** _argv) {
#ifdef GENERATE_ALLOCATION_STATISTICS
    allocationStats["VMArray"] = {0,0};
#endif

    heapSize = 1 * 1024 * 1024;

    vector<StdString> argv = handleArguments(_argc, _argv);
    
    // remember file that was executed (for writing statistics)
    if (argv.size() > 0)
        bm_name = argv[0];

    Heap<HEAP_CLS>::InitializeHeap(heapSize);

    interpreter = new Interpreter();

#if CACHE_INTEGER
# warning is _store_ptr sufficient/correct here?
    // create prebuilt integers
    for (long it = INT_CACHE_MIN_VALUE; it <= INT_CACHE_MAX_VALUE; ++it) {
        prebuildInts[(unsigned long)(it - INT_CACHE_MIN_VALUE)] = _store_ptr(new (GetHeap<HEAP_CLS>()) VMInteger(it));
    }
#endif

    InitializeGlobals();

    VMObject* systemObject = NewInstance(load_ptr(systemClass));

    SetGlobal(SymbolForChars("nil"),    load_ptr(nilObject));
    SetGlobal(SymbolForChars("true"),   load_ptr(trueObject));
    SetGlobal(SymbolForChars("false"),  load_ptr(falseObject));
    SetGlobal(SymbolForChars("system"), systemObject);
    SetGlobal(SymbolForChars("System"), load_ptr(systemClass));
    SetGlobal(SymbolForChars("Block"),  load_ptr(blockClass));

    symbolIfTrue  = _store_ptr(SymbolForChars("ifTrue:"));
    symbolIfFalse = _store_ptr(SymbolForChars("ifFalse:"));

    

    VMMethod* bootstrapMethod = NewMethod(SymbolForChars("bootstrap"), 1, 0);
    bootstrapMethod->SetBytecode(0, BC_HALT);
    bootstrapMethod->SetNumberOfLocals(0);

    bootstrapMethod->SetMaximumNumberOfStackElements(2);
    bootstrapMethod->SetHolder(load_ptr(systemClass));

    if (argv.size() == 0) {
        Shell* shell = new Shell(bootstrapMethod);
        shell->Start();
        return;
    }

    /* only trace bootstrap if the number of cmd-line "-d"s is > 2 */
    short trace = 2 - dumpBytecodes;
    if (!(trace > 0))
        dumpBytecodes = 1;

    VMArray* argumentsArray = NewArrayFromStrings(argv);

    VMFrame* bootstrapFrame = interpreter->PushNewFrame(bootstrapMethod);
    bootstrapFrame->Push(systemObject);
    bootstrapFrame->Push(argumentsArray);

    VMInvokable* initialize = load_ptr(systemClass)->LookupInvokable(
                                            SymbolForChars("initialize:"));
    (*initialize)(bootstrapFrame);

    // reset "-d" indicator
    if (!(trace > 0))
        dumpBytecodes = 2 - trace;

    interpreter->Start();
}