diff --git a/extlib/benz/gc.c b/extlib/benz/gc.c index b441d786..d9bda339 100644 --- a/extlib/benz/gc.c +++ b/extlib/benz/gc.c @@ -521,26 +521,14 @@ gc_mark(pic_state *pic, pic_value v) static void gc_mark_global_symbols(pic_state *pic) { - M(sDEFINE); M(sLAMBDA); M(sIF); M(sBEGIN); M(sQUOTE); M(sSETBANG); - M(sQUASIQUOTE); M(sUNQUOTE); M(sUNQUOTE_SPLICING); - M(sSYNTAX_QUOTE); M(sSYNTAX_QUASIQUOTE); M(sSYNTAX_UNQUOTE); - M(sSYNTAX_UNQUOTE_SPLICING); - M(sDEFINE_MACRO); M(sIMPORT); M(sEXPORT); - M(sDEFINE_LIBRARY); - M(sCOND_EXPAND); M(sAND); M(sOR); M(sELSE); M(sLIBRARY); - M(sONLY); M(sRENAME); M(sPREFIX); M(sEXCEPT); - M(sCONS); M(sCAR); M(sCDR); M(sNILP); - M(sSYMBOLP); M(sPAIRP); - M(sADD); M(sSUB); M(sMUL); M(sDIV); M(sMINUS); - M(sEQ); M(sLT); M(sLE); M(sGT); M(sGE); M(sNOT); + M(sQUOTE); M(sQUASIQUOTE); M(sUNQUOTE); M(sUNQUOTE_SPLICING); + M(sSYNTAX_QUOTE); M(sSYNTAX_QUASIQUOTE); M(sSYNTAX_UNQUOTE); M(sSYNTAX_UNQUOTE_SPLICING); + M(sDEFINE_LIBRARY); M(sIMPORT); M(sEXPORT); M(sCOND_EXPAND); M(sREAD); M(sFILE); - M(sCALL); M(sTAILCALL); M(sCALL_WITH_VALUES); M(sTAILCALL_WITH_VALUES); - M(sGREF); M(sLREF); M(sCREF); M(sRETURN); + M(sCALL); M(sGREF); M(sLREF); M(sCREF); - M(uDEFINE); M(uLAMBDA); M(uIF); M(uBEGIN); M(uQUOTE); M(uSETBANG); - M(uDEFINE_MACRO); M(uIMPORT); M(uEXPORT); - M(uDEFINE_LIBRARY); - M(uCOND_EXPAND); + M(uDEFINE); M(uLAMBDA); M(uIF); M(uBEGIN); M(uQUOTE); M(uSETBANG); M(uDEFINE_MACRO); + M(uDEFINE_LIBRARY); M(uIMPORT); M(uEXPORT); M(uCOND_EXPAND); M(uCONS); M(uCAR); M(uCDR); M(uNILP); M(uSYMBOLP); M(uPAIRP); M(uADD); M(uSUB); M(uMUL); M(uDIV); diff --git a/extlib/benz/include/picrin.h b/extlib/benz/include/picrin.h index 7479ab60..a52fad61 100644 --- a/extlib/benz/include/picrin.h +++ b/extlib/benz/include/picrin.h @@ -95,31 +95,16 @@ struct pic_state { struct pic_lib *lib, *prev_lib; - pic_sym *sDEFINE, *sLAMBDA, *sIF, *sBEGIN, *sQUOTE, *sSETBANG; - pic_sym *sQUASIQUOTE, *sUNQUOTE, *sUNQUOTE_SPLICING; - pic_sym *sSYNTAX_QUOTE, *sSYNTAX_QUASIQUOTE, *sSYNTAX_UNQUOTE; - pic_sym *sSYNTAX_UNQUOTE_SPLICING; - pic_sym *sDEFINE_MACRO, *sIMPORT, *sEXPORT; - pic_sym *sDEFINE_LIBRARY; - pic_sym *sCOND_EXPAND, *sAND, *sOR, *sELSE, *sLIBRARY; - pic_sym *sONLY, *sRENAME, *sPREFIX, *sEXCEPT; - pic_sym *sCONS, *sCAR, *sCDR, *sNILP; - pic_sym *sSYMBOLP, *sPAIRP; - pic_sym *sADD, *sSUB, *sMUL, *sDIV, *sMINUS; - pic_sym *sEQ, *sLT, *sLE, *sGT, *sGE, *sNOT; + pic_sym *sQUOTE, *sQUASIQUOTE, *sUNQUOTE, *sUNQUOTE_SPLICING; + pic_sym *sSYNTAX_QUOTE, *sSYNTAX_QUASIQUOTE, *sSYNTAX_UNQUOTE, *sSYNTAX_UNQUOTE_SPLICING; + pic_sym *sDEFINE_LIBRARY, *sIMPORT, *sEXPORT, *sCOND_EXPAND; + pic_sym *sGREF, *sCREF, *sLREF, *sCALL; pic_sym *sREAD, *sFILE; - pic_sym *sGREF, *sCREF, *sLREF; - pic_sym *sCALL, *sTAILCALL, *sRETURN; - pic_sym *sCALL_WITH_VALUES, *sTAILCALL_WITH_VALUES; - pic_sym *uDEFINE, *uLAMBDA, *uIF, *uBEGIN, *uQUOTE, *uSETBANG; - pic_sym *uDEFINE_MACRO, *uIMPORT, *uEXPORT; - pic_sym *uDEFINE_LIBRARY; - pic_sym *uCOND_EXPAND; - pic_sym *uCONS, *uCAR, *uCDR, *uNILP; - pic_sym *uSYMBOLP, *uPAIRP; - pic_sym *uADD, *uSUB, *uMUL, *uDIV; - pic_sym *uEQ, *uLT, *uLE, *uGT, *uGE, *uNOT; + pic_sym *uDEFINE, *uLAMBDA, *uIF, *uBEGIN, *uQUOTE, *uSETBANG, *uDEFINE_MACRO; + pic_sym *uDEFINE_LIBRARY, *uIMPORT, *uEXPORT, *uCOND_EXPAND; + pic_sym *uCONS, *uCAR, *uCDR, *uNILP, *uSYMBOLP, *uPAIRP; + pic_sym *uADD, *uSUB, *uMUL, *uDIV, *uEQ, *uLT, *uLE, *uGT, *uGE, *uNOT; pic_sym *uVALUES, *uCALL_WITH_VALUES; struct pic_lib *PICRIN_BASE; diff --git a/extlib/benz/state.c b/extlib/benz/state.c index 9f5cb702..51788c6f 100644 --- a/extlib/benz/state.c +++ b/extlib/benz/state.c @@ -284,11 +284,6 @@ pic_open(pic_allocf allocf, void *userdata) #define S(slot,name) pic->slot = pic_intern_cstr(pic, name) - S(sDEFINE, "define"); - S(sLAMBDA, "lambda"); - S(sIF, "if"); - S(sBEGIN, "begin"); - S(sSETBANG, "set!"); S(sQUOTE, "quote"); S(sQUASIQUOTE, "quasiquote"); S(sUNQUOTE, "unquote"); @@ -297,46 +292,16 @@ pic_open(pic_allocf allocf, void *userdata) S(sSYNTAX_QUASIQUOTE, "syntax-quasiquote"); S(sSYNTAX_UNQUOTE, "syntax-unquote"); S(sSYNTAX_UNQUOTE_SPLICING, "syntax-unquote-splicing"); - S(sDEFINE_MACRO, "define-macro"); S(sIMPORT, "import"); S(sEXPORT, "export"); S(sDEFINE_LIBRARY, "define-library"); S(sCOND_EXPAND, "cond-expand"); - S(sAND, "and"); - S(sOR, "or"); - S(sELSE, "else"); - S(sLIBRARY, "library"); - S(sONLY, "only"); - S(sRENAME, "rename"); - S(sPREFIX, "prefix"); - S(sEXCEPT, "except"); - S(sCONS, "cons"); - S(sCAR, "car"); - S(sCDR, "cdr"); - S(sNILP, "null?"); - S(sSYMBOLP, "symbol?"); - S(sPAIRP, "pair?"); - S(sADD, "+"); - S(sSUB, "-"); - S(sMUL, "*"); - S(sDIV, "/"); - S(sMINUS, "minus"); - S(sEQ, "="); - S(sLT, "<"); - S(sLE, "<="); - S(sGT, ">"); - S(sGE, ">="); - S(sNOT, "not"); S(sREAD, "read"); S(sFILE, "file"); S(sCALL, "call"); - S(sTAILCALL, "tail-call"); S(sGREF, "gref"); S(sLREF, "lref"); S(sCREF, "cref"); - S(sRETURN, "return"); - S(sCALL_WITH_VALUES, "call-with-values"); - S(sTAILCALL_WITH_VALUES, "tailcall-with-values"); pic_gc_arena_restore(pic, ai); diff --git a/extlib/benz/symbol.c b/extlib/benz/symbol.c index 772ecf96..b31f7962 100644 --- a/extlib/benz/symbol.c +++ b/extlib/benz/symbol.c @@ -32,7 +32,7 @@ pic_intern_cstr(pic_state *pic, const char *cstr) strcpy(copy, cstr); kh_key(h, it) = copy; - kh_val(h, it) = pic->sDEFINE; /* insert dummy */ + kh_val(h, it) = pic->sQUOTE; /* insert dummy */ sym = (pic_sym *)pic_obj_alloc(pic, sizeof(pic_sym), PIC_TT_SYMBOL); sym->cstr = copy;