2001-04-09 20:54:03 +01:00
|
|
|
/*************************************************************************
|
|
|
|
* *
|
|
|
|
* YAP Prolog *
|
|
|
|
* *
|
|
|
|
* Yap Prolog was developed at NCCUP - Universidade do Porto *
|
|
|
|
* *
|
|
|
|
* Copyright L.Damas, V.S.Costa and Universidade do Porto 1985-1997 *
|
|
|
|
* *
|
|
|
|
**************************************************************************
|
|
|
|
* *
|
|
|
|
* File: ground.pl *
|
|
|
|
* Last rev: *
|
|
|
|
* mods: *
|
|
|
|
* comments: Variables and ground *
|
|
|
|
* *
|
|
|
|
*************************************************************************/
|
|
|
|
|
2017-10-27 13:50:40 +01:00
|
|
|
/**
|
|
|
|
* @file ground.yap
|
|
|
|
* @author VITOR SANTOS COSTA <vsc@VITORs-MBP-2.lan>
|
|
|
|
* @date Thu Oct 19 12:01:27 2017
|
2018-06-05 20:51:49 +01:00
|
|
|
*
|
2017-10-27 13:50:40 +01:00
|
|
|
* @brief term operations
|
|
|
|
*
|
2018-06-05 20:51:49 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
2017-10-27 13:50:40 +01:00
|
|
|
* @addtogroup YAPTypes
|
2018-06-05 20:51:49 +01:00
|
|
|
* @{
|
|
|
|
*
|
|
|
|
*
|
2017-10-27 13:50:40 +01:00
|
|
|
*/
|
2001-04-09 20:54:03 +01:00
|
|
|
/*
|
|
|
|
% grounds all free variables
|
|
|
|
% as terms of the form '$VAR'(N)
|
2019-02-05 10:31:17 +00:00
|
|
|
_numbervars(Term, M, N) :-
|
2001-04-09 20:54:03 +01:00
|
|
|
'$variables_in_term'(Term, [], L),
|
|
|
|
'$numbermarked_vars'(L, M, N).
|
|
|
|
|
|
|
|
'$numbermarked_vars'([], M, M).
|
2018-06-05 20:51:49 +01:00
|
|
|
'$numbermarked_vars'([V|L], M, N) :-
|
2004-09-10 21:18:01 +01:00
|
|
|
attvar(V), !,
|
|
|
|
'$numbermarked_vars'(L, M, N).
|
2001-04-09 20:54:03 +01:00
|
|
|
'$numbermarked_vars'(['$VAR'(M)|L], M, N) :-
|
|
|
|
M1 is M+1,
|
|
|
|
'$numbermarked_vars'(L, M1, N).
|
|
|
|
|
2011-11-02 22:49:06 +00:00
|
|
|
*/
|
|
|
|
|
2018-06-05 20:51:49 +01:00
|
|
|
%% @}
|