Sujet : Re: Roman numerals , recognizer "0r".
De : dxforth (at) *nospam* gmail.com (dxf)
Groupes : comp.lang.forthDate : 08. Jun 2025, 17:07:07
Autres entêtes
Organisation : i2pn2 (i2pn.org)
Message-ID : <de084ed29e5acc412c06ed739c24929f22313288@i2pn2.org>
References : 1 2
User-Agent : Mozilla Thunderbird
On 9/06/2025 12:41 am, LIT wrote:
0 VARIABLE FORMER
0 VARIABLE PRESENT
HERE 73 C, 86 C, 88 C, 76 C, 67 C, 68 C, 77 C, \ I V X L C D M
HERE 0 C, 1 C, 2 C, 10 C, 20 C, 100 C, 200 C,
: VAL ( ch -- u )
[ 0 ] LITERAL SWAP
LITERAL LITERAL
DO
DUP I C@ =
IF DROP I 7 + C@ DUP 0= SWAP 5 * + NIP 1 SWAP LEAVE THEN
LOOP
OVER IF NIP ELSE DROP THEN
[ 0 0 ] ; 2DROP
Yep. Nothing better than FigForth :) How about ...
: CREATE 0 VARIABLE -2 ALLOT ;