picrin/src/tiny-main.c

40 lines
637 B
C

/**
* See Copyright Notice in picrin.h
*/
#include "picrin.h"
#include "picrin/extra.h"
int
main()
{
pic_state *pic;
pic_value e, form;
int status;
pic = pic_open(pic_default_allocf, NULL);
pic_try {
while (1) {
size_t ai = pic_enter(pic);
pic_printf(pic, "> ");
form = pic_read(pic, pic_stdin(pic));
if (pic_eof_p(pic, form)) {
break;
}
pic_printf(pic, "~s\n", pic_funcall(pic, "eval", 1, form));
pic_leave(pic, ai);
}
status = 0;
}
pic_catch(e) {
pic_print_error(pic, pic_stderr(pic), e);
status = 1;
}
pic_close(pic);
return status;
}