Różnice

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

Odnośnik do tego porównania

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 =====
 +<code prolog>
 +        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
 +</​code>​
 +===== Comments =====
  
pl/prolog/pllib/dcg_numbers.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0