pop_any()
This commit is contained in:
parent
83a5bc46df
commit
142f17fd37
|
|
@ -363,14 +363,23 @@ ht_has(char *str, u32 index, u32 length)
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
u32
|
u32
|
||||||
pop_list(u32 stack)
|
pop_any(u32 stack)
|
||||||
{
|
{
|
||||||
if (!stack) {
|
if (!stack) {
|
||||||
error = NOT_ENOUGH_VALUES_ON_STACK;
|
error = NOT_ENOUGH_VALUES_ON_STACK;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
u32 list = head(stack);
|
return head(stack);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
u32
|
||||||
|
pop_list(u32 stack)
|
||||||
|
{
|
||||||
|
u32 list = pop_any(stack);
|
||||||
|
CHECK_ERROR
|
||||||
if (TYPE_OF(list) != joyList) {
|
if (TYPE_OF(list) != joyList) {
|
||||||
error = NOT_A_LIST;
|
error = NOT_A_LIST;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
@ -593,10 +602,8 @@ swaack(u32 stack)
|
||||||
u32
|
u32
|
||||||
pop(u32 stack)
|
pop(u32 stack)
|
||||||
{
|
{
|
||||||
if (!stack) {
|
pop_any(stack);
|
||||||
error = NOT_ENOUGH_VALUES_ON_STACK;
|
CHECK_ERROR
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return tail(stack);
|
return tail(stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -604,11 +611,9 @@ pop(u32 stack)
|
||||||
u32
|
u32
|
||||||
dup(u32 stack)
|
dup(u32 stack)
|
||||||
{
|
{
|
||||||
if (!stack) {
|
u32 tos = pop_any(stack);
|
||||||
error = NOT_ENOUGH_VALUES_ON_STACK;
|
CHECK_ERROR
|
||||||
return 0;
|
return cons(tos, stack);
|
||||||
}
|
|
||||||
return cons(head(stack), stack);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue