Term Manipulation

Define:

1. DEB_DOOBOUT:

1. DEB_DOOBIN:

1. DEB_DOOB:

1. push_sub_term:

1. pop_sub_term:

1. RESET_TERM_VISITOR/0:

1. RESET_TERM_VISITOR/1:

1. RESET_TERM_VISITOR/3:

1. RESET_TERM_VISITOR/4:

1. RESET_TERM_VISITOR/5:

1. LIST_HOOK_CODE:

1. COMPOUND_HOOK_CODE:

1. COMPOUND_HOOK_CODE:

1. COMPOUND_HOOK_CODE:

1. VAR_HOOK_CODE: : routine to locate all variables in a term, and its application s

1. VAR_HOOK_CODE: : routine to locate all variables in a term, and its application s

1. VAR_HOOK_CODE: : routine to locate all variables in a term, and its application s

1. VAR_HOOK_CODE: : routine to locate all variables in a term, and its application s

1. VAR_HOOK_CODE: : routine to locate all variables in a term, and its application s

1. VAR_HOOK_CODE: : routine to locate all variables in a term, and its application s

1. VAR_HOOK_CODE: : routine to locate all variables in a term, and its application s

1. VAR_HOOK_CODE: : routine to locate all variables in a term, and its application s

1. VAR_HOOK_CODE: : routine to locate all variables in a term, and its application s

1. VAR_HOOK_CODE: : routine to locate all variables in a term, and its application s

1. ATOMIC_HOOK_CODE:

1. ATOMIC_HOOK_CODE:

Functions:

1. static bool push_sub_term__(Ystack_t sp, CELL d0, CELL pt0, CELL b, CELL e):

1. static bool pop_sub_term__(Ystack_t *sp, CELL b, CELL e):

1. static void reset_list_of_term_vars(Term t USES_REGS):

1. static Term term_error_handler(Term bindp, Term t0, Ystack_t stt):

1. static Term cyclic_complex_term(Term t USES_REGS): : routine to locate all variables in a term, and its applications

1. bool Yap_IsCyclicTerm(Term t USES_REGS):

1. static Int cyclic_term(USES_REGS1):

1. static bool ground_complex_term(Term t USES_REGS):

1. bool Yap_IsGroundTerm(Term t):

1. static Int ground(USES_REGS1):

1. static CELL * non_ground_complex_term(Term t USES_REGS):

1. static Int non_ground(USES_REGS1):

1. static bool var_in_complex_term(Term t, Term v USES_REGS):

1. static Int var_in_term(USES_REGS1):

1. static Term vars_in_complex_term(Term t, Term tail USES_REGS): : routine to locate all variables in a term, and its applications.

1. static void mark_vars_in_complex_term(Term t USES_REGS): : routine to locate all variables in a term, and its applications.

1. static void unmark_vars_in_complex_term(Term t USES_REGS): : routine to locate all variables in a term, and its applications.

1. static Term marked_vars_in_complex_term(Term t, Term tail USES_REGS): : routine to locate all variables in a term, and its applications.

1. static Int variables_in_term(USES_REGS1): : "variables_in_term( +t, +_SetOfVariables, +ExtendedSetOfVariables " ) ;

@class variables_in_term_3

)

SetOfVariables must be a list of unbound variables. If so, ExtendedSetOfVariables will include all te variables in the union of vars(_T_) and SetOfVariables.

1. static Int term_variable/3(USES_REGS1):

1. static Term occurrences_in_complex_term(Term t, Term tail USES_REGS):

1. static Int term_variable_occurrences(USES_REGS1):

1. static Int term_variable_occurrence/3(USES_REGS1):

1. static Int term_variables_union(USES_REGS1):

1. static Int term_variables_difference(USES_REGS1):

1. static Int term_variables_intersection(USES_REGS1):

1. Term Yap_TermVariables(Term t, Term t0 USES_REGS): : Extends list with all the variables in a term.

[t]the term [list]the original list. [USES_REGS]threading

1. static Int p_new_variables_in_term(USES_REGS1):

1. static Int free_variables_in_term(USES_REGS1):

1. static bool undo_vbindings(Term t, Term t0 USES_REGS): : all attributed variables

1. static Term attvars_in_complex_term(Term t, Term tail USES_REGS): : routine to locate all variables in a term, and its applications.

1. static Int term_attvars(USES_REGS1):

1. static bool undo_vterms(Term t, Term t0 USES_REGS): : all attributed variables

1. static Term attterms_in_complex_term(Term t, Term tail USES_REGS): : routine to locate all variables in a term, and its applications.

1. static Int term_attterms(USES_REGS1):

1. static int numbervars_in_complex_term(Term t, int numbv, Functor fvar, bool handle_singles, const char *prefix USES_REGS):

1. int Yap_NumberVars(Term t, int numbv, Functor f, bool handle_singles, const char *prefix USES_REGS): : numbervariables in term t

1. static Int numbervars(USES_REGS1):

1. static Int singleton_vs_numbervars(USES_REGS1):

1. static bool unnumbervars_in_complex_term(Term t, CELL *HLow USES_REGS):

1. static Int unnumbervars(USES_REGS1):

1. Int Yap_UnNumberTerm(Term t, CELL *HLow USES_REGS):

1. static Int varnumbers(USES_REGS1):

1. void Yap_InitTermCPreds(void):

Typedef:

1. typedef struct att_rec att_rec_t: : routine to locate attributed variables