tst_aux.h File Reference

#include "debugs/debug_tables.h"
#include "debugs/debug_tries.h"
#include "dynamic_stack.h"

Data Structures

struct  tstLogFrame

Defines

#define TST_TERMSTACK_INITSIZE   25
#define TermStack_Top   ((CPtr)DynStk_Top(tstTermStack))
#define TermStack_Base   ((CPtr)DynStk_Base(tstTermStack))
#define TermStack_NumTerms   DynStk_NumFrames(tstTermStack)
#define TermStack_ResetTOS   DynStk_ResetTOS(tstTermStack)
#define TermStack_IsEmpty   DynStk_IsEmpty(tstTermStack)
#define TermStack_SetTOS(Index)   DynStk_Top(tstTermStack) = TermStack_Base + Index
#define TermStack_Push(Term)
#define TermStack_BlindPush(Term)
#define TermStack_Pop(Term)
#define TermStack_Peek(Term)
#define TermStack_NOOP
#define TermStack_PushFunctorArgs(CS_Cell)
#define TermStack_PushListArgs(LIST_Cell)
#define TermStack_PushLowToHighVector(pVectorLow, Magnitude)
#define TermStack_PushHighToLowVector(pVectorHigh, Magnitude)
#define TermStack_PushArray(Array, NumElements)
#define LogFrame_Index(Frame)   ( (Frame)->index )
#define LogFrame_Value(Frame)   ( (Frame)->value )
#define TST_TERMSTACKLOG_INITSIZE   20
#define TermStackLog_Top   ((pLogFrame)DynStk_Top(tstTermStackLog))
#define TermStackLog_Base   ((pLogFrame)DynStk_Base(tstTermStackLog))
#define TermStackLog_ResetTOS   DynStk_ResetTOS(tstTermStackLog)
#define TermStackLog_PushFrame
#define TermStackLog_PopAndReset
#define TermStackLog_Unwind(Index)
#define TST_SYMBOLSTACK_INITSIZE   25
#define SymbolStack_Top   ((CPtr)DynStk_Top(tstSymbolStack))
#define SymbolStack_Base   ((CPtr)DynStk_Base(tstSymbolStack))
#define SymbolStack_NumSymbols   (SymbolStack_Top - SymbolStack_Base)
#define SymbolStack_ResetTOS   DynStk_ResetTOS(tstSymbolStack)
#define SymbolStack_IsEmpty   DynStk_IsEmpty(tstSymbolStack)
#define SymbolStack_Push(Symbol)
#define SymbolStack_Pop(Symbol)
#define SymbolStack_Peek(Symbol)
#define SymbolStack_PushPathRoot(Leaf, Root)
#define SymbolStack_PushPath(Leaf)
#define TST_TRAIL_INITSIZE   20
#define Trail_Top   ((CPtr *)DynStk_Top(tstTrail))
#define Trail_Base   ((CPtr *)DynStk_Base(tstTrail))
#define Trail_NumBindings   DynStk_NumFrames(tstTrail)
#define Trail_ResetTOS   DynStk_ResetTOS(tstTrail)
#define Trail_Push(Addr)
#define Trail_PopAndReset
#define Trail_Unwind_All   Trail_Unwind(0)
#define Trail_Unwind(Index)
#define ProcessNextSubtermFromTrieStacks(Symbol, StdVarNum)

Typedefs

typedef tstLogFramepLogFrame

Variables

DynamicStack tstTermStack
DynamicStack tstTermStackLog
DynamicStack tstSymbolStack
DynamicStack tstTrail

Define Documentation

#define LogFrame_Index Frame   )     ( (Frame)->index )
 

#define LogFrame_Value Frame   )     ( (Frame)->value )
 

#define ProcessNextSubtermFromTrieStacks Symbol,
StdVarNum   ) 
 

#define SymbolStack_Base   ((CPtr)DynStk_Base(tstSymbolStack))
 

#define SymbolStack_IsEmpty   DynStk_IsEmpty(tstSymbolStack)
 

#define SymbolStack_NumSymbols   (SymbolStack_Top - SymbolStack_Base)
 

#define SymbolStack_Peek Symbol   ) 
 

Value:

{               \
   CPtr curFrame;                               \
   DynStk_BlindPeek(tstSymbolStack,curFrame);   \
   Symbol = *curFrame;                          \
}

#define SymbolStack_Pop Symbol   ) 
 

Value:

{               \
   CPtr curFrame;                               \
   DynStk_BlindPop(tstSymbolStack,curFrame);    \
   Symbol = *curFrame;                          \
}

#define SymbolStack_Push Symbol   ) 
 

Value:

{               \
   CPtr nextFrame;                              \
   DynStk_Push(tstSymbolStack,nextFrame);       \
   *nextFrame = Symbol;                         \
 }

#define SymbolStack_PushPath Leaf   ) 
 

Value:

{               \
   BTNptr root;                                 \
   SymbolStack_PushPathRoot(Leaf,root);         \
 }

#define SymbolStack_PushPathRoot Leaf,
Root   ) 
 

Value:

{       \
   BTNptr btn = (BTNptr)Leaf;                   \
   while ( ! IsTrieRoot(btn) ) {                \
     SymbolStack_Push(BTN_Symbol(btn));         \
     btn = BTN_Parent(btn);                     \
   }                                            \
   Root = (void *)btn;                          \
 }

#define SymbolStack_ResetTOS   DynStk_ResetTOS(tstSymbolStack)
 

#define SymbolStack_Top   ((CPtr)DynStk_Top(tstSymbolStack))
 

#define TermStack_Base   ((CPtr)DynStk_Base(tstTermStack))
 

#define TermStack_BlindPush Term   ) 
 

Value:

{               \
   CPtr nextFrame;                              \
   DynStk_BlindPush(tstTermStack,nextFrame);    \
   *nextFrame = Term;                           \
 }

#define TermStack_IsEmpty   DynStk_IsEmpty(tstTermStack)
 

#define TermStack_NOOP
 

#define TermStack_NumTerms   DynStk_NumFrames(tstTermStack)
 

#define TermStack_Peek Term   ) 
 

Value:

{                       \
   CPtr curFrame;                               \
   DynStk_BlindPeek(tstTermStack,curFrame);     \
   Term = *curFrame;                            \
 }

#define TermStack_Pop Term   ) 
 

Value:

{                       \
   CPtr curFrame;                               \
   DynStk_BlindPop(tstTermStack,curFrame);      \
   Term = *curFrame;                            \
 }

#define TermStack_Push Term   ) 
 

Value:

{                       \
   CPtr nextFrame;                              \
   DynStk_Push(tstTermStack,nextFrame);         \
   *nextFrame = Term;                           \
 }

#define TermStack_PushArray Array,
NumElements   ) 
 

Value:

{       \
   counter i;                                           \
   DynStk_ExpandIfOverflow(tstTermStack,NumElements);   \
   for ( i = 0;  i < NumElements;  i++ )                \
     TermStack_BlindPush(Array[i]);                     \
 }

#define TermStack_PushFunctorArgs CS_Cell   ) 
 

Value:

#define TermStack_PushHighToLowVector pVectorHigh,
Magnitude   ) 
 

Value:

{       \
   int i, numElements;                                          \
   CPtr pElement;                                               \
                                                                \
   numElements = Magnitude;                                     \
   pElement = pVectorHigh - numElements;                        \
   DynStk_ExpandIfOverflow(tstTermStack,numElements);           \
   for (i = 0; i < numElements; i++) {                          \
     pElement++;                                                \
     TermStack_BlindPush(*pElement);                            \
   }                                                            \
 }

#define TermStack_PushListArgs LIST_Cell   ) 
 

Value:

{       \
   CPtr pListHeadCell = clref_val(LIST_Cell);   \
   DynStk_ExpandIfOverflow(tstTermStack,2);     \
   TermStack_BlindPush( *(pListHeadCell + 1) ); \
   TermStack_BlindPush( *(pListHeadCell) );     \
 }

#define TermStack_PushLowToHighVector pVectorLow,
Magnitude   ) 
 

Value:

{       \
   int i, numElements;                                          \
   CPtr pElement;                                               \
                                                                \
   numElements = Magnitude;                                     \
   pElement = pVectorLow + numElements;                         \
   DynStk_ExpandIfOverflow(tstTermStack,numElements);           \
   for (i = 0; i < numElements; i++) {                          \
     pElement--;                                                \
     TermStack_BlindPush(*pElement);                            \
   }                                                            \
 }

#define TermStack_ResetTOS   DynStk_ResetTOS(tstTermStack)
 

#define TermStack_SetTOS Index   )     DynStk_Top(tstTermStack) = TermStack_Base + Index
 

#define TermStack_Top   ((CPtr)DynStk_Top(tstTermStack))
 

#define TermStackLog_Base   ((pLogFrame)DynStk_Base(tstTermStackLog))
 

#define TermStackLog_PopAndReset
 

Value:

{                                       \
   pLogFrame curFrame;                                                  \
   DynStk_BlindPop(tstTermStackLog,curFrame)                            \
   TermStack_Base[LogFrame_Index(curFrame)] = LogFrame_Value(curFrame); \
 }

#define TermStackLog_PushFrame
 

Value:

{                               \
   pLogFrame nextFrame;                                         \
   DynStk_Push(tstTermStackLog,nextFrame);                      \
   LogFrame_Index(nextFrame) = TermStack_Top - TermStack_Base;  \
   LogFrame_Value(nextFrame) = *(TermStack_Top);                \
 }

#define TermStackLog_ResetTOS   DynStk_ResetTOS(tstTermStackLog)
 

#define TermStackLog_Top   ((pLogFrame)DynStk_Top(tstTermStackLog))
 

#define TermStackLog_Unwind Index   ) 
 

Value:

{                       \
   pLogFrame unwindBase = TermStackLog_Base + Index;    \
   while ( TermStackLog_Top > unwindBase )              \
     TermStackLog_PopAndReset;                          \
 }

#define Trail_Base   ((CPtr *)DynStk_Base(tstTrail))
 

#define Trail_NumBindings   DynStk_NumFrames(tstTrail)
 

#define Trail_PopAndReset
 

Value:

{                       \
   CPtr *curFrame;                              \
   DynStk_BlindPop(tstTrail,curFrame);          \
   bld_free(*curFrame);                         \
 }

#define Trail_Push Addr   ) 
 

Value:

{                       \
   CPtr *nextFrame;                             \
   DynStk_Push(tstTrail,nextFrame);             \
   *nextFrame = (CPtr)(Addr);                   \
 }

#define Trail_ResetTOS   DynStk_ResetTOS(tstTrail)
 

#define Trail_Top   ((CPtr *)DynStk_Top(tstTrail))
 

#define Trail_Unwind Index   ) 
 

Value:

{                       \
   CPtr *unwindBase = Trail_Base + Index;       \
   while ( Trail_Top > unwindBase )             \
     Trail_PopAndReset;                         \
 }

#define Trail_Unwind_All   Trail_Unwind(0)
 

#define TST_SYMBOLSTACK_INITSIZE   25
 

#define TST_TERMSTACK_INITSIZE   25
 

#define TST_TERMSTACKLOG_INITSIZE   20
 

#define TST_TRAIL_INITSIZE   20
 


Typedef Documentation

typedef tstLogFrame* pLogFrame
 


Variable Documentation

DynamicStack tstSymbolStack
 

DynamicStack tstTermStack
 

DynamicStack tstTermStackLog
 

DynamicStack tstTrail
 


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