core: Remove cell_call_with_current_continuation special.
* include/mes/symbols.h (cell_call_with_current_continuation): Remove. * src/eval-apply.c (eval_apply): Update to use cell_symbol_call_with_current_continuation. * src/symbol.c (init_symbols_): Remove inititialization.
This commit is contained in:
parent
c6fd15469c
commit
020cb3661d
|
@ -30,7 +30,7 @@ SCM cell_undefined;
|
||||||
SCM cell_unspecified;
|
SCM cell_unspecified;
|
||||||
SCM cell_closure;
|
SCM cell_closure;
|
||||||
SCM cell_circular;
|
SCM cell_circular;
|
||||||
SCM cell_call_with_current_continuation;
|
|
||||||
SCM cell_vm_apply;
|
SCM cell_vm_apply;
|
||||||
SCM cell_vm_apply2;
|
SCM cell_vm_apply2;
|
||||||
SCM cell_vm_begin;
|
SCM cell_vm_begin;
|
||||||
|
@ -42,7 +42,6 @@ SCM cell_vm_begin_expand_primitive_load;
|
||||||
SCM cell_vm_begin_primitive_load;
|
SCM cell_vm_begin_primitive_load;
|
||||||
SCM cell_vm_begin_read_input_file;
|
SCM cell_vm_begin_read_input_file;
|
||||||
SCM cell_vm_call_with_current_continuation2;
|
SCM cell_vm_call_with_current_continuation2;
|
||||||
|
|
||||||
SCM cell_vm_call_with_values2;
|
SCM cell_vm_call_with_values2;
|
||||||
SCM cell_vm_eval;
|
SCM cell_vm_eval;
|
||||||
SCM cell_vm_eval2;
|
SCM cell_vm_eval2;
|
||||||
|
@ -138,14 +137,14 @@ SCM cell_type_broken_heart;
|
||||||
SCM cell_symbol_program;
|
SCM cell_symbol_program;
|
||||||
SCM cell_symbol_test;
|
SCM cell_symbol_test;
|
||||||
|
|
||||||
// CONSTANT SYMBOL_MAX 115
|
// CONSTANT SYMBOL_MAX 114
|
||||||
#define SYMBOL_MAX 115
|
#define SYMBOL_MAX 114
|
||||||
|
|
||||||
// CONSTANT CELL_UNSPECIFIED 7
|
// CONSTANT CELL_UNSPECIFIED 7
|
||||||
#define CELL_UNSPECIFIED 7
|
#define CELL_UNSPECIFIED 7
|
||||||
|
|
||||||
// CONSTANT CELL_SYMBOL_RECORD_TYPE 83
|
// CONSTANT CELL_SYMBOL_RECORD_TYPE 82
|
||||||
#define CELL_SYMBOL_RECORD_TYPE 83
|
#define CELL_SYMBOL_RECORD_TYPE 82
|
||||||
|
|
||||||
|
|
||||||
#endif /* __MES_SYMBOLS_H */
|
#endif /* __MES_SYMBOLS_H */
|
||||||
|
|
|
@ -520,27 +520,28 @@ apply:
|
||||||
push_cc (cons (CADR (R1), cell_nil), R1, CADDR (R1), cell_vm_return);
|
push_cc (cons (CADR (R1), cell_nil), R1, CADDR (R1), cell_vm_return);
|
||||||
goto begin_expand;
|
goto begin_expand;
|
||||||
}
|
}
|
||||||
else if (c == cell_call_with_current_continuation)
|
|
||||||
{
|
|
||||||
R1 = CDR (R1);
|
|
||||||
goto call_with_current_continuation;
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
check_apply (cell_f, CAR (R1));
|
check_apply (cell_f, CAR (R1));
|
||||||
}
|
}
|
||||||
else if (t == TSYMBOL)
|
else if (t == TSYMBOL)
|
||||||
{
|
{
|
||||||
if (CAR (R1) == cell_symbol_call_with_values)
|
c = CAR (R1);
|
||||||
|
if (c == cell_symbol_call_with_current_continuation)
|
||||||
|
{
|
||||||
|
R1 = CDR (R1);
|
||||||
|
goto call_with_current_continuation;
|
||||||
|
}
|
||||||
|
if (c == cell_symbol_call_with_values)
|
||||||
{
|
{
|
||||||
R1 = CDR (R1);
|
R1 = CDR (R1);
|
||||||
goto call_with_values;
|
goto call_with_values;
|
||||||
}
|
}
|
||||||
if (CAR (R1) == cell_symbol_current_module)
|
if (c == cell_symbol_current_module)
|
||||||
{
|
{
|
||||||
R1 = R0;
|
R1 = R0;
|
||||||
goto vm_return;
|
goto vm_return;
|
||||||
}
|
}
|
||||||
if (CAR (R1) == cell_symbol_boot_module)
|
if (c == cell_symbol_boot_module)
|
||||||
{
|
{
|
||||||
R1 = M0;
|
R1 = M0;
|
||||||
goto vm_return;
|
goto vm_return;
|
||||||
|
@ -724,6 +725,8 @@ eval:
|
||||||
goto vm_return;
|
goto vm_return;
|
||||||
if (R1 == cell_symbol_begin)
|
if (R1 == cell_symbol_begin)
|
||||||
goto vm_return;
|
goto vm_return;
|
||||||
|
if (R1 == cell_symbol_call_with_current_continuation)
|
||||||
|
goto vm_return;
|
||||||
R1 = assert_defined (R1, module_ref (R0, R1));
|
R1 = assert_defined (R1, module_ref (R0, R1));
|
||||||
goto vm_return;
|
goto vm_return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,7 +70,6 @@ init_symbols_ () /*:((internal)) */
|
||||||
cell_unspecified = init_symbol (g_symbol, TSPECIAL, "*unspecified*");
|
cell_unspecified = init_symbol (g_symbol, TSPECIAL, "*unspecified*");
|
||||||
cell_closure = init_symbol (g_symbol, TSPECIAL, "*closure*");
|
cell_closure = init_symbol (g_symbol, TSPECIAL, "*closure*");
|
||||||
cell_circular = init_symbol (g_symbol, TSPECIAL, "*circular*");
|
cell_circular = init_symbol (g_symbol, TSPECIAL, "*circular*");
|
||||||
cell_call_with_current_continuation = init_symbol (g_symbol, TSPECIAL, "*call/cc*");
|
|
||||||
|
|
||||||
cell_vm_apply = init_symbol (g_symbol, TSPECIAL, "core:apply");
|
cell_vm_apply = init_symbol (g_symbol, TSPECIAL, "core:apply");
|
||||||
cell_vm_apply2 = init_symbol (g_symbol, TSPECIAL, "*vm-apply2*");
|
cell_vm_apply2 = init_symbol (g_symbol, TSPECIAL, "*vm-apply2*");
|
||||||
|
@ -203,7 +202,6 @@ init_symbols () /*:((internal)) */
|
||||||
a = acons (cell_symbol_call_with_values, cell_symbol_call_with_values, a);
|
a = acons (cell_symbol_call_with_values, cell_symbol_call_with_values, a);
|
||||||
a = acons (cell_symbol_boot_module, cell_symbol_boot_module, a);
|
a = acons (cell_symbol_boot_module, cell_symbol_boot_module, a);
|
||||||
a = acons (cell_symbol_current_module, cell_symbol_current_module, a);
|
a = acons (cell_symbol_current_module, cell_symbol_current_module, a);
|
||||||
a = acons (cell_symbol_call_with_current_continuation, cell_call_with_current_continuation, a);
|
|
||||||
|
|
||||||
a = acons (cell_symbol_mes_version, make_string0 (MES_VERSION), a);
|
a = acons (cell_symbol_mes_version, make_string0 (MES_VERSION), a);
|
||||||
a = acons (cell_symbol_mes_datadir, make_string0 (g_datadir), a);
|
a = acons (cell_symbol_mes_datadir, make_string0 (g_datadir), a);
|
||||||
|
|
Loading…
Reference in a new issue