Defines | |
| #define | XSB_Deref(op) XSB_Deref2(op,break) |
| #define | XSB_Deref2(op, stat) |
| #define | XSB_CptrDeref(op) |
| #define | printderef(op) |
|
|
Value: |
|
|
Value: { \
while (isref(op)) { \
if (op == (CPtr) cell(op)) break; \
op = (CPtr) cell(op); \
} \
while (isattv(op)) { \
if (cell((CPtr) dec_addr(op)) == dec_addr(op)) \
break; \
else { \
op = (CPtr) cell((CPtr) dec_addr(op)); \
while (isref(op)) { \
if (op == (CPtr) cell(op)) break; \
op = (CPtr) cell(op); \
} \
} \
} \
}
|
|
|
|
|
|
Value: { \
while (isref(op)) { \
if (op == follow(op)) \
stat; \
op = follow(op); \
} \
while (isattv(op)) { \
if (cell((CPtr) dec_addr(op)) == dec_addr(op)) \
break; /* end of an attv */ \
else { \
op = cell((CPtr) dec_addr(op)); \
while (isref(op)) { \
if (op == follow(op)) \
stat; \
op = follow(op); \
} \
} \
} \
}
|
1.4.5