예제 #1
0
파일: fflisp.c 프로젝트: grouzen/fflisp
void sigint_handler(int signum)
{
    heap_clean();
    printf("\nBye Bye!\n");
    exit(EXIT_SUCCESS);

    return;
}
예제 #2
0
파일: fflisp.c 프로젝트: grouzen/fflisp
int main(int argc, char *argv[])
{
    int opt;
    static struct option long_options[] = {
        {"load", 1, NULL, 'l'},
        {"help", 0, NULL, 'h'},
        {0, 0, 0, 0}
    };

    signal(SIGINT, sigint_handler);

    /* Initialize heap. */
    heap = heap_init();
    /* Define global alias to TRUE object. */
    t = heap_grab(NEW_SYMBOL("T"));
    /* Define global alias to NIL object. */
    nil = NULL;
    /* Configure environment. */
    environment = heap_grab(env_init());
    
    welcome();
    
    while((opt = getopt_long_only(argc, argv, "", long_options, NULL)) != -1) {
        switch(opt) {
        case 'l':
#if 0
            printf("load file: %s.\n", optarg);
            if(load(optarg)) {
                printf("file loaded.\n");
            } else {
                printf("file loading failed.\n");
            }
#endif
            load(optarg);
            
            break;
        case 'h':
        default:
            usage();
            heap_clean();
            exit(EXIT_FAILURE);
        }
    }
    
    repl(stdin);
    return 0;
}
예제 #3
0
파일: astar.c 프로젝트: Elzair/nazghul
static inline void astar_search_init(void)
{
	heap_clean(schedule);
}