| OCR Text |
Show return FALSE; } } else tempref1 = push_area (&hp, sizeof (cons_cell)) ; TAG (tempre£1, LIST); tempre£2 = heap_constant (v); RSMASH (tempref1, sarp); ((cons_cell *) VIRT (tempref1))->cc_car = tempref2; ((cons_cell *) VIRT (tempref1))->cc_cdr = NULL; if (consptr) { RSMASH (consptr, sarp); ((cons_cell *) VIRT (consptr))->cc_cdr = tempref1; consptr = tempref1; return TRUE; boolean Unify_nil() { register SAR * sarp = smash_ sarp; register ref tempref1; register ref tempref2; if (mode == READ) { tempref1 = deref (consptr); if (RUNBOUND (tempref1, sarp)) tempref2 =heap constant (EMPTYLIST); varbind (temprefl, tempref2); else { if (TYPE (tempref1) != CONSTANT I I EMPTYLIST != *((int *) VIRT (temprefl))) return FALSE; else tempref1 = heap_constant (EMPTYLIST); if (consptr) { RSMASH (consptr, smash_sarp); ((cons_cell *) VIRT (consptr))->cc_cdr = temprefl; return TRUE; unify_ void (n) int n; register SAR * sarp = smash_ sarp; ref cons_ref; ref cell_ref; 129 |