# Różnice

Różnice między wybraną wersją a wersją aktualną.

 — pl:prolog:pllib:dcg_numbers [2019/06/27 15:50] (aktualna) Linia 1: Linia 1: + ====== Dcg numbers ====== + {{tag>​DCG numbers}} + ===== Description ===== + A DCG for recognizing numbers + + **Source**: ​ The Art of Prolog + ===== Download ===== + Program source code: {{dcg_numbers.pl}} + ===== Listing ===== + + number(0) --> [zero]. + number(N) --> xxx(N). + + xxx(N) --> + digit(D), [hundred], rest_xxx(N1),​ {N is D100+N1}. + xxx(N) --> xx(N). + + rest_xxx(0) --> [ ]. + rest_xxx(N) --> [and], xx(N). + + xx(N) --> digit(N). + xx(N) --> teen(N). + xx(N) --> tens(T), rest_xx(N1),​ {N is T+N1}. + + rest_xx(0) --> [ ]. + rest_xx(N) --> digit(N). + + digit(1) --> [one]. ​        ​teen(10) --> [ten]. + digit(2) --> [two]. ​        ​teen(11) --> [eleven]. + digit(3) --> [three]. ​      ​teen(12) --> [twelve]. + digit(4) --> [four]. ​       teen(13) --> [thirteen]. + digit(5) --> [five]. ​       teen(14) --> [fourteen]. + digit(6) --> [six]. ​        ​teen(15) --> [fifteen]. + digit(7) --> [seven]. ​      ​teen(16) --> [sixteen]. + digit(8) --> [eight]. ​      ​teen(17) --> [seventeen]. + digit(9) --> [nine]. ​       teen(18) --> [eighteen]. + teen(19) --> [nineteen]. + tens(20) --> [twenty]. + tens(30) --> [thirty]. + tens(40) --> [forty]. + tens(50) --> [fifty]. + tens(60) --> [sixty]. + tens(70) --> [seventy]. + tens(80) --> [eighty]. + tens(90) --> [ninety]. + + %     ​Program 19.9:  A DCG for recognizing numbers + ​ + ===== Comments =====
pl/prolog/pllib/dcg_numbers.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)