|
|
— |
pl:prolog:pllib:string2list [2019/06/27 15:50] (aktualna) |
| ====== String2list ====== |
| {{tag>lists}} |
| ===== Description ===== |
| Changing sing sequence to list of prolog atoms |
| |
| **Source**: PROLOG str. 140 Wydawnictwo PLJ Warszawa 1991 ISBN 83-85190-63-5 |
| ===== Download ===== |
| Program source code: {{string2list.pl}} |
| ===== Listing ===== |
| <code prolog> |
| utwór z_liste__at( [ ], [ ]) :- !. |
| |
| utworz_liste_at(Lancuch,[S³owo|Reszta]) :- |
| wybierz_slowo(Lancuch,Znaki_tw_slowo,Reszta_znakow), |
| name(S³owo,Znaki_tw_slowo), |
| utwórz_liste_at(Reszta_znakow,Reszta). |
| |
| wybierz_slowo([32|Ogon],[],Ogon) :- !. |
| |
| wybierz_slowo([],[],[]). |
| |
| wybierz_slowo([Znak|Ogon],Znaki_tw_slowo,Reszta) :-znak_przestank(Znak),!, |
| wybierz_slowo(Ogon,Znaki_tw_sIowo,Reszta). |
| |
| wybierz_slowo([Znak|Ogon1],[NowyZnak|Ogon2],Reszta):- wybierz_slowo(Ogon1,Ogon2,Res zta), zam_na_male(Znak,NowyZnak), !. |
| |
| znak_przestank(Znak) :- Znak =< 47. |
| znak_przestank(Znak) :- Znak >= 58, |
| Znak =< 64. |
| znak_przestank(Znak) :-.Znak >= 91, |
| Znak =< 96. |
| znak_przestank(Znak) :- Znak <= 123. |
| |
| zam_na_male(Znak,NowyZnak) :- Znak >= 65, |
| Znak =< 90, NowyZnak is Znak+32. |
| |
| zam_na_male(Znak,Znak) :- Znak < 65. |
| zam_na_male(Znak,Znak) :- Znak > 90. |
| </code> |
| ===== Comments ===== |
| |