GNU PROLOG with UTF8 support
term_supp.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------*
2  * GNU Prolog *
3  * *
4  * Part : Prolog buit-in predicates *
5  * File : term_supp.h *
6  * Descr.: term support - header file *
7  * Author: Daniel Diaz *
8  * *
9  * Copyright (C) 1999-2015 Daniel Diaz *
10  * *
11  * This file is part of GNU Prolog *
12  * *
13  * GNU Prolog is free software: you can redistribute it and/or *
14  * modify it under the terms of either: *
15  * *
16  * - the GNU Lesser General Public License as published by the Free *
17  * Software Foundation; either version 3 of the License, or (at your *
18  * option) any later version. *
19  * *
20  * or *
21  * *
22  * - the GNU General Public License as published by the Free *
23  * Software Foundation; either version 2 of the License, or (at your *
24  * option) any later version. *
25  * *
26  * or both in parallel, as here. *
27  * *
28  * GNU Prolog is distributed in the hope that it will be useful, *
29  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
30  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
31  * General Public License for more details. *
32  * *
33  * You should have received copies of the GNU General Public License and *
34  * the GNU Lesser General Public License along with this program. If *
35  * not, see http://www.gnu.org/licenses/. *
36  *-------------------------------------------------------------------------*/
37 
38 
39 /*---------------------------------*
40  * Constants *
41  *---------------------------------*/
42 
43 /*---------------------------------*
44  * Type Definitions *
45  *---------------------------------*/
46 
47 /*---------------------------------*
48  * Global Variables *
49  *---------------------------------*/
50 
51 #ifdef TERM_SUPP_FILE
52 
55 
56 PlLong pl_glob_dico_var[MAX_VAR_IN_TERM]; /* a general purpose dico */
57 
58 #else
59 
62 
63 extern PlLong pl_glob_dico_var[];
64 
65 #endif
66 
67 
68 
69 
70 /*---------------------------------*
71  * Function Prototypes *
72  *---------------------------------*/
73 
74 PlLong Pl_Term_Compare(WamWord start_u_word, WamWord start_v_word);
75 
76 Bool Is_List(WamWord start_word);
77 
78 Bool Is_Partial_List(WamWord start_word);
79 
80 Bool Is_List_Or_Partial(WamWord start_word);
81 
82 Bool Pl_Treat_Vars_Of_Term(WamWord start_word, Bool generic_var,
83  Bool (*fct) ());
84 
85 int Pl_List_Length(WamWord start_word);
86 
87 int Pl_Term_Size(WamWord start_word);
88 
89 void Pl_Copy_Term(WamWord *dst_adr, WamWord *src_adr);
90 
91 void Pl_Copy_Contiguous_Term(WamWord *dst_adr, WamWord *src_adr);
92 
93 int Pl_Get_Pred_Indicator(WamWord pred_indic_word, Bool must_be_ground,
94  int *arity);
95 
96 Bool Pl_Acyclic_Term_1(WamWord start_word);
Bool Is_List_Or_Partial(WamWord start_word)
PlLong Pl_Term_Compare(WamWord start_u_word, WamWord start_v_word)
Definition: term_supp.c:89
Bool Pl_Treat_Vars_Of_Term(WamWord start_word, Bool generic_var, Bool(*fct)())
Definition: term_supp.c:188
void Pl_Copy_Contiguous_Term(WamWord *dst_adr, WamWord *src_adr)
Definition: term_supp.c:483
int Pl_Term_Size(WamWord start_word)
Definition: term_supp.c:279
#define MAX_VAR_IN_TERM
Definition: b_params.h:41
Bool Pl_Acyclic_Term_1(WamWord start_word)
Definition: term_supp.c:655
Bool Is_Partial_List(WamWord start_word)
WamWord pl_pi_arity_word
intptr_t PlLong
Definition: gprolog.h:88
void Pl_Copy_Term(WamWord *dst_adr, WamWord *src_adr)
Definition: term_supp.c:337
int Pl_Get_Pred_Indicator(WamWord pred_indic_word, Bool must_be_ground, int *arity)
Definition: term_supp.c:924
int Pl_List_Length(WamWord start_word)
Definition: term_supp.c:248
long WamWord
Definition: LINUX_SIGSEGV.c:4
char * fct[MAX_FCT]
Definition: extract_asm.c:79
Bool Is_List(WamWord start_word)
WamWord pl_pi_name_word
int Bool
Definition: bool.h:65
PlLong pl_glob_dico_var[]