table_status_defs.h

00001 /* File:      table_status_defs.h
00002 ** Author(s): Ernie Johnson
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: table_status_defs.h,v 1.3 2006/03/17 18:17:59 tswift Exp $
00022 ** 
00023 */
00024 
00025 
00026 /*
00027  * Builtin codes indicating the type of tabled evaluation used for
00028  * a given predicate.  These values are shared with Prolog builtins
00029  * which allow users to select and change the evaluation method.
00030  */
00031 
00032 #define UNTABLED_PREDICATE       -1
00033 #define VARIANT_EVAL_METHOD       0x0
00034 #define SUBSUMPTIVE_EVAL_METHOD   0x1
00035 #define DISPATCH_BLOCK    0x3
00036 
00037 
00038 /*
00039  * Builtin codes indicating the type of a given tabled call.
00040  */
00041 
00042 #define UNDEFINED_CALL     -1   /* due to untabled predicate or error */
00043 #define PRODUCER_CALL       0
00044 #define SUBSUMED_CALL       1
00045 #define NO_CALL_ENTRY       2   /* for subsumptive predicates, does not
00046                                    necessarily mean that such a call was
00047                                    never made */
00048 
00049 /*
00050  * Builtin codes indicating the status of a given tabled call's answer
00051  * set.
00052  */
00053 
00054 #define UNDEFINED_ANSWER_SET     -1   /* due to untabled predicate, error,
00055                                          or the call not having an entry
00056                                          AND also no subsumer in the table */
00057 #define COMPLETED_ANSWER_SET      0
00058 #define INCOMPLETE_ANSWER_SET     1

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