00001 /* File: trassert.h 00002 ** Author(s): Prasad Rao 00003 ** Contact: xsb-contact@cs.sunysb.edu 00004 ** 00005 ** Copyright (C) The Research Foundation of SUNY, 1986, 1993-1998 00006 ** 00007 ** XSB is free software; you can redistribute it and/or modify it under the 00008 ** terms of the GNU Library General Public License as published by the Free 00009 ** Software Foundation; either version 2 of the License, or (at your option) 00010 ** any later version. 00011 ** 00012 ** XSB is distributed in the hope that it will be useful, but WITHOUT ANY 00013 ** WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00014 ** FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for 00015 ** more details. 00016 ** 00017 ** You should have received a copy of the GNU Library General Public License 00018 ** along with XSB; if not, write to the Free Software Foundation, 00019 ** Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00020 ** 00021 ** $Id: trassert.h,v 1.5 2005/01/14 18:31:37 ruim Exp $ 00022 ** 00023 */ 00024 00025 #include "context.h" 00026 00027 extern int trie_assert(CTXTdecl); 00028 extern int trie_retract(CTXTdecl); 00029 extern int trie_retract_safe(CTXTdecl); 00030 00031 00032 #define switch_to_trie_assert { \ 00033 smBTN = &smAssertBTN; \ 00034 smBTHT = &smAssertBTHT; \ 00035 } 00036 00037 #define switch_from_trie_assert { \ 00038 smBTN = &smTableBTN; \ 00039 smBTHT = &smTableBTHT; \ 00040 }