deref.h File Reference


Defines

#define XSB_Deref(op)   XSB_Deref2(op,break)
#define XSB_Deref2(op, stat)
#define XSB_CptrDeref(op)
#define printderef(op)

Define Documentation

#define printderef op   ) 
 

Value:

while (isref(op) && op > 0) { \
                         if (op==follow(op)) \
                            break; \
                         op=follow(op); }

#define XSB_CptrDeref op   ) 
 

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);                           \
      }                                                 \
    }                                                   \
  }                                                     \
}

#define XSB_Deref op   )     XSB_Deref2(op,break)
 

#define XSB_Deref2 op,
stat   ) 
 

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);                                \
      }                                                 \
    }                                                   \
  }                                                     \
}


Generated on Wed Jul 26 13:26:53 2006 for XSB by  doxygen 1.4.5