void symbol_Init(BOOL Signature) /************************************************************** INPUT: A flag indicating whether a signature is used or not. RETURNS: None. SUMMARY: Initializes the Symbol Module. EFFECTS: Initializes global variables. CAUTION: MUST BE CALLED BEFORE ANY OTHER Symbol-FUNCTION. ***************************************************************/ { symbol_ResetSkolemIndex(); symbol_ContextClean(); if (Signature) symbol_SIGNATURE = (SIGNATURE*)memory_Malloc(sizeof(SIGNATURE[symbol__MAXSIGNATURE])); symbol_STANDARDVARCOUNTER = symbol_GetInitialStandardVarCounter(); symbol_INDEXVARCOUNTER = symbol_GetInitialIndexVarCounter(); symbol_ACTINDEX = 1; symbol_ORDERING = 1; symbol_VARSTRING = memory_Malloc(symbol__SYMBOLMAXLEN); symbol_HASSIGNATURE = Signature; symbol_FREEDSYMBOLS = list_Nil(); }
void cont_Check(void) /********************************************************** INPUT: None. RETURNS: None. EFFECT: Frees internal structures of the unify module. ********************************************************/ { #ifdef CHECK if (cont_LASTBINDING || (cont_BINDINGS != 0) || !symbol_Equal(cont_INDEXVARSCANNER, symbol_GetInitialIndexVarCounter())) { misc_StartErrorReport(); misc_ErrorReport("\n In cont_Check: There are variable bindings not reset.\n"); misc_FinishErrorReport(); } #endif }