YAP
7.1.0
varnumbers.yap
Go to the documentation of this file.
1
/**
2
* @file varnumbers.yap
3
* @author VITOR SANTOS COSTA <vsc@VITORs-MBP.lan>
4
* @date 2006
5
*
6
* @brief opposite to numbervars
7
*
8
*
9
*/
10
11
:- module(
varnumbers
, [
12
numbervars/1,
13
max_var_number/3,
14
varnumbers/2
15
]).
16
17
/**
18
* @defgroup varnumbers Variabilize term.
19
* @ingroup YAPLibrary
20
* @{
21
*/
22
23
24
numbervars(
Term
)
:-
25
numbervars
(
Term
,
0
,
_
).
26
27
max_var_number(
V
,
Max
,
Max
)
:-
var
(
V
),
var.
28
max_var_number(
'$VAR'
(
I
),
Max0
,
Max
)
:-
max_var_number,
29
Max
is
max
(
I
,
Max0
).
30
max_var_number(
S
,
Max0
,
Max
)
:-
31
functor
(
S
,
_
,
Ar
),
32
max_var_numberl(
0
,
Ar
,
S
,
Max0
,
Max
).
33
34
max_var_numberl(
I0
,
Ar
,
T
,
Max0
,
Max
)
:-
35
(
I0
=:=
Ar
->
36
Max0
=
Max
37
;
38
I
is
I0
+
1
,
39
arg
(
I
,
T
,
A
),
40
max_var_number(
A
,
Max0
,
MaxI
),
41
max_var_numberl(
I
,
Ar
,
T
,
MaxI
,
Max
)
42
).
43
44
var_numbers(
GT
,
VT
)
:-
45
unnumbervars(
GT
,
VT
).
46
47
%% @}
48
numbervars/3
numbervars( t,+ _N1,- Nn)
varnumbers/2
varnumbers(+ Term, Term)
arg/3
arg(+ N,+ T, A)
functor/3
functor( T, F, N)
var/1
var( T)
max/2
max( X, Vs)
library
varnumbers.yap
Generated by
1.9.3