fig7_3.pl
来自「超多的prolog源代码 具体内容见压缩包里面的programs.txt」· PL 代码 · 共 35 行
PL
35 行
% Figure 7.3 A procedure for substituting a subterm of a term by another subterm.
% substitute( Subterm, Term, Subterm1, Term1):
% if all occurrences of Subterm in Term are substituted
% with Subterm1 then we get Term1.
% Case 1: Substitute whole term
substitute( Term, Term, Term1, Term1) :- !.
% Case 2: Nothing to substitute
substitute( _, Term, _, Term) :-
atomic(Term), !.
% Case 3: Do substitution on arguments
substitute( Sub, Term, Sub1, Term1) :-
Term =.. [F|Args], % Get arguments
substlist( Sub, Args, Sub1, Args1), % Perform substitution on them
Term1 =.. [F|Args1].
substlist( _, [], _, []).
substlist( Sub, [Term|Terms], Sub1, [Term1|Terms1]) :-
substitute( Sub, Term, Sub1, Term1),
substlist( Sub, Terms, Sub1, Terms1).
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?