Ejemplo n.º 1
0
 static void interactiveLoop()
 {
     setjmp(recovery);
     string line;
     while(true) {
         llvm::errs().flush();
         llvm::errs() << "clay>";
         char buf[255];
         line = fgets(buf, 255, stdin);
         line = stripSpaces(line);
         if (line[0] == ':') {
             replCommand(line.substr(1, line.size() - 1));
         } else {
             eval(line);
         }
     }
     engine->runStaticConstructorsDestructors(true);
 }
Ejemplo n.º 2
0
    static void interactiveLoop()
    {
        setjmp(recovery);
        linenoiseSetMultiLine(1);
        linenoiseHistorySetMaxLen(100);

        char *buf;
        while ((buf = linenoise("clay> ")) != NULL) {
            linenoiseHistoryAdd(buf);
            string line = stripSpaces(buf);
            if (line[0] == ':') {
                replCommand(line.substr(1, line.size() - 1));
            } else {
                eval(line);
            }
            free(buf);
        }
        engine->runStaticConstructorsDestructors(true);
    }