Download Practica 2 - the CLIP Lab
Document related concepts
no text concepts found
Transcript
Practica 2
sust("nv","mb").
sust("qu","k").
sust("ll","y").
sust([],[_]).
sust2(S1,S2) :- sust(S1,S2).
sust2(S1,S2) :- sust(S2,S1).
sust2([_],[_]).
sust2([X,Y],[Y,X]).
palabra_alternativa(Pa,Sa) :atom_codes(Pa, P),
\+ palabra(P),
sust2(S_P, S_S),
append(P0,P1,P),
append(S_P,PN,P1),
append(S_S,PN,S1),
append(P0,S1,S),
palabra(S),
atom_codes(Sa,S).
append([],L,L).
append([X|Xs],L,[X|Ys]) :append(Xs,L,Ys).
palabra("amor").
palabra("ayer").
...
1
Practica 2 (Cont.)
intro_palabra($(N), Dic, [$(N)|Dic]).
intro_palabra([], Dic, [$|Dic]).
intro_palabra([C|Cs], Dic, NDic) :intro_palabra(C, Cs, Dic, NDic).
intro_palabra(C, Cs, Dic, NDic) :select(C+Sig, Dic, RDic), !,
intro_palabra(Cs, Sig, NSig),
NDic = [C+NSig|RDic].
intro_palabra(C, Cs, Dic, [C+Sig|Dic]) :intro_palabra(Cs, [], Sig).
select(E, [E|Es], Es).
select(E, [X|Es], [X|L]) :select(E, Es, L).
2
Practica 2 (Cont.)
es_palabra([], Dic) :member($,Dic).
es_palabra(Cs,Dic) :member($(N), Dic),
terminacion(N, TDic),
es_palabra(Cs, TDic).
es_palabra([C|Cs],Dic) :member(C+Sig,Dic),
es_palabra(Cs,Sig).
terminacion(verbo_ar,
[a+[d+[o+[$],a+[$]],n+[$],i+[s+[$]],m+[o+[s+[$]]],$,s+[$]],o+[$]]).
terminacion(gen_num, [o+[s+[$],$],a+[s+[$],$]]).
3
Related documents