psc_xsb.h File Reference

#include "psc_defs.h"

Data Structures

struct  psc_rec
struct  psc_pair

Defines

#define get_type(psc)   ((psc)->entry_type)
#define get_env(psc)   ((psc)->env & T_ENV)
#define get_spy(psc)   ((psc)->env & T_SPY)
#define get_shared(psc)   ((psc)->env & T_SHARED)
#define get_private(psc)   ((psc)->env & ~T_SHARED & T_SHARED_DET)
#define get_tabled(psc)   ((psc)->env & T_TABLED)
#define get_subsumptive_tabled(psc)   ((psc)->env & T_TABLED_VAR & ~T_TABLED_SUB)
#define get_variant   tabled(psc) ((psc)->env & T_TABLED_SUB & ~T_TABLED_VAR)
#define get_arity(psc)   ((psc)->arity)
#define get_ep(psc)   ((psc)->ep)
#define get_data(psc)   ((psc)->data)
#define get_name(psc)   ((psc)->nameptr)
#define set_type(psc, type)   (psc)->entry_type = type
#define set_env(psc, envir)   (psc)->env = ((psc)->env & ~T_ENV) | envir
#define set_spy(psc, spy)   (psc)->env = ((psc)->env & ~T_SPY) | spy
#define set_shared(psc, shar)   (psc)->env = ((psc)->env & ~T_SHARED) | shar
#define set_tabled(psc, tab)   (psc)->env = ((psc)->env & ~T_TABLED) | tab
#define set_arity(psc, ari)   ((psc)->arity = ari)
#define set_length(psc, len)   ((psc)->length = len)
#define set_ep(psc, val)   ((psc)->ep = val)
#define set_data(psc, val)   ((psc)->data = val)
#define set_name(psc, name)   ((psc)->nameptr = name)
#define set_forn(psc, val)
#define pair_psc(pair)   ((pair)->psc_ptr)
#define pair_next(pair)   ((pair)->next)
#define hilog_psc(psc)   (((!strcmp(get_name(psc),"apply")) && (get_arity(psc) > 1)))
#define hilog_cs(term)
#define hilog_term(term)   ((cell_tag(term) == XSB_STRUCT) && (hilog_psc(get_str_psc(term))))

Typedefs

typedef psc_recPsc
typedef psc_pairPair
typedef Psc global_mod
typedef Psc true_psc
typedef Psc if_psc
typedef Psc list_psc
typedef Psc comma_psc
typedef Psc box_psc
typedef Psc tnot_psc
typedef Psc colon_psc
typedef Psc delay_psc
typedef char * nil_string
typedef char * true_string
typedef Pair list_pscPair
typedef char * list_dot_string
typedef Psc ret_psc []

Functions

Pair link_sym (Psc, Psc)
Pair insert_module (int, char *)
Pair insert (char *, byte, Psc, int *)
char * string_find (char *, int)
Psc get_ret_psc (int)
static char * get_ret_string ()
Psc get_intern_psc ()
Table_Info_Frameget_tip (Psc)
void print_symbol_table ()
Psc get_psc_from_ep (void *)

Define Documentation

#define get_arity psc   )     ((psc)->arity)
 

#define get_data psc   )     ((psc)->data)
 

#define get_env psc   )     ((psc)->env & T_ENV)
 

#define get_ep psc   )     ((psc)->ep)
 

#define get_name psc   )     ((psc)->nameptr)
 

#define get_private psc   )     ((psc)->env & ~T_SHARED & T_SHARED_DET)
 

#define get_shared psc   )     ((psc)->env & T_SHARED)
 

#define get_spy psc   )     ((psc)->env & T_SPY)
 

#define get_subsumptive_tabled psc   )     ((psc)->env & T_TABLED_VAR & ~T_TABLED_SUB)
 

#define get_tabled psc   )     ((psc)->env & T_TABLED)
 

#define get_type psc   )     ((psc)->entry_type)
 

#define get_variant   tabled(psc) ((psc)->env & T_TABLED_SUB & ~T_TABLED_VAR)
 

#define hilog_cs term   ) 
 

Value:

/* to be used when known that term is a XSB_STRUCT */ \
                ((hilog_psc(get_str_psc(term))))

#define hilog_psc psc   )     (((!strcmp(get_name(psc),"apply")) && (get_arity(psc) > 1)))
 

#define hilog_term term   )     ((cell_tag(term) == XSB_STRUCT) && (hilog_psc(get_str_psc(term))))
 

#define pair_next pair   )     ((pair)->next)
 

#define pair_psc pair   )     ((pair)->psc_ptr)
 

#define set_arity psc,
ari   )     ((psc)->arity = ari)
 

#define set_data psc,
val   )     ((psc)->data = val)
 

#define set_env psc,
envir   )     (psc)->env = ((psc)->env & ~T_ENV) | envir
 

#define set_ep psc,
val   )     ((psc)->ep = val)
 

#define set_forn psc,
val   ) 
 

Value:

{                   \
    cell_opcode(get_ep(psc)) = call_forn;      \
    *(((byte **)get_ep(psc))+1) = val;         \
}

#define set_length psc,
len   )     ((psc)->length = len)
 

#define set_name psc,
name   )     ((psc)->nameptr = name)
 

#define set_shared psc,
shar   )     (psc)->env = ((psc)->env & ~T_SHARED) | shar
 

#define set_spy psc,
spy   )     (psc)->env = ((psc)->env & ~T_SPY) | spy
 

#define set_tabled psc,
tab   )     (psc)->env = ((psc)->env & ~T_TABLED) | tab
 

#define set_type psc,
type   )     (psc)->entry_type = type
 


Typedef Documentation

typedef Psc box_psc
 

typedef Psc colon_psc
 

typedef Psc comma_psc
 

typedef Psc delay_psc
 

typedef Psc global_mod
 

typedef Psc if_psc
 

typedef char* list_dot_string
 

typedef Psc list_psc
 

typedef Pair list_pscPair
 

typedef char* nil_string
 

typedef struct psc_pair* Pair
 

typedef struct psc_rec* Psc
 

typedef Psc ret_psc[]
 

typedef Psc tnot_psc
 

typedef Psc true_psc
 

typedef char* true_string
 


Function Documentation

Psc get_intern_psc  ) 
 

Psc get_psc_from_ep void *   ) 
 

Psc get_ret_psc int   ) 
 

static char* get_ret_string  )  [inline, static]
 

struct Table_Info_Frame* get_tip Psc   ) 
 

Pair insert char *  ,
byte  ,
Psc  ,
int
 

Pair insert_module int  ,
char * 
 

Pair link_sym Psc  ,
Psc 
 

void print_symbol_table  ) 
 

char* string_find char *  ,
int 
 


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