Unified · Split
| @@ -39,7 +39,7 @@ typedef struct { · 38 unmodified lines | ||
| 39 | 39 | }CharPtrInt; |
| 40 | 40 | |
| 41 | 41 | enum { |
| 42 | − P_LET, P_SET, P_IF, P_LAMBDA, P_MAC, P_WHILE, P_QUOTE, P_AND, P_OR, P_DO, P_CONS, | |
| 42 | + P_LET, P_SET, P_IF, P_LAMBDA, P_MAC, P_WHILE, P_QUOTE, P_AND, P_OR, P_BEGIN, P_CONS, | |
| 43 | 43 | P_CAR, P_CDR, P_SETCAR, P_SETCDR, P_LIST, P_NOT, P_EQ, P_PRINT, |
| 44 | 44 | P_ATOM, P_NUMBER, P_BOOLEAN, |
| 45 | 45 | P_EQN, P_LT, P_LTE, P_ADD, P_SUB, P_MUL, P_DIV, |
| @@ -48,7 +48,7 @@ enum { · 2 unmodified lines | ||
| 48 | 48 | }; |
| 49 | 49 | |
| 50 | 50 | static const char *primnames[P_MAX] = { |
| 51 | − "let", "define", "if", "lambda", "mac", "while", "quote", "and", "or", "do", "cons", | |
| 51 | + "let", "define", "if", "lambda", "mac", "while", "quote", "and", "or", "begin", "cons", | |
| 52 | 52 | "car", "cdr", "setcar", "setcdr", "list", "not", "eq?", "print", |
| 53 | 53 | "atom?", "number?", "boolean?", |
| 54 | 54 | "=", "<", "<=", "+", "-", "*", "/", |
| @@ -687,7 +687,7 @@ evallist(aaContext *ctx, aaObject *lst, aaObject *env) · 632 unmodified lines | ||
| 687 | 687 | } |
| 688 | 688 | |
| 689 | 689 | static aaObject * |
| 690 | −dolist(aaContext *ctx, aaObject *lst, aaObject *env) | |
| 690 | +runlist(aaContext *ctx, aaObject *lst, aaObject *env) | |
| 691 | 691 | { |
| 692 | 692 | aaObject *res; |
| 693 | 693 | int save = aa_savegc(ctx); |
| @@ -778,7 +778,7 @@ eval(aaContext *ctx, aaObject *obj, aaObject *env, aaObject **newenv) · 84 unmodified lines | ||
| 778 | 778 | va = aa_nextarg(ctx, &arg, 0); |
| 779 | 779 | n = aa_savegc(ctx); |
| 780 | 780 | while(!ISNIL(eval(ctx, va, env, nil))){ |
| 781 | − dolist(ctx, arg, env); | |
| 781 | + runlist(ctx, arg, env); | |
| 782 | 782 | aa_restoregc(ctx, n); |
| 783 | 783 | } |
| 784 | 784 | break; |
| @@ -795,8 +795,8 @@ eval(aaContext *ctx, aaObject *obj, aaObject *env, aaObject **newenv) · 10 unmodified lines | ||
| 795 | 795 | while (!ISNIL(arg) && ISNIL(res = evalarg())); |
| 796 | 796 | break; |
| 797 | 797 | |
| 798 | − case P_DO: | |
| 799 | − res = dolist(ctx, arg, env); | |
| 798 | + case P_BEGIN: | |
| 799 | + res = runlist(ctx, arg, env); | |
| 800 | 800 | break; |
| 801 | 801 | |
| 802 | 802 | case P_CONS: |
| @@ -876,14 +876,14 @@ eval(aaContext *ctx, aaObject *obj, aaObject *env, aaObject **newenv) · 73 unmodified lines | ||
| 876 | 876 | arg = evallist(ctx, arg, env); |
| 877 | 877 | va = CDR(fn); /* (env params ...) */ |
| 878 | 878 | vb = CDR(va); /* (params ...) */ |
| 879 | − res = dolist(ctx, CDR(vb), argstoenv(ctx, CAR(vb), arg, CAR(va))); | |
| 879 | + res = runlist(ctx, CDR(vb), argstoenv(ctx, CAR(vb), arg, CAR(va))); | |
| 880 | 880 | break; |
| 881 | 881 | |
| 882 | 882 | case AA_TMACRO: |
| 883 | 883 | va = CDR(fn); /* (env params ...) */ |
| 884 | 884 | vb = CDR(va); /* (params ...) */ |
| 885 | 885 | /* replace caller object with code generated by macro and re-eval */ |
| 886 | − *obj = *dolist(ctx, CDR(vb), argstoenv(ctx, CAR(vb), arg, CAR(va))); | |
| 886 | + *obj = *runlist(ctx, CDR(vb), argstoenv(ctx, CAR(vb), arg, CAR(va))); | |
| 887 | 887 | aa_restoregc(ctx, gc); |
| 888 | 888 | ctx->calllist = CDR(&cl); |
| 889 | 889 | return eval(ctx, obj, env, nil); |