diff --git a/blk/446 b/blk/446 index 0babd58..d7cb9b0 100644 --- a/blk/446 +++ b/blk/446 @@ -3,8 +3,8 @@ : (parsec) ( a -- n f ) ( apostrophe is ASCII 39 ) - DUP C@ 39 = NOT IF 0 EXIT THEN ( a 0 ) - DUP 2+ C@ 39 = NOT IF 0 EXIT THEN ( a 0 ) + DUP C@ 39 = OVER 2+ C@ 39 = AND ( a f ) + NOT IF 0 EXIT THEN ( a 0 ) ( surrounded by apos, good, return ) 1+ C@ 1 ( n 1 ) ; diff --git a/blk/447 b/blk/447 index 1421743..bac471c 100644 --- a/blk/447 +++ b/blk/447 @@ -2,8 +2,7 @@ : _ ( c -- n ) ( '0' is ASCII 48 ) 48 - - DUP 0< IF EXIT THEN ( bad ) - DUP 10 < IF EXIT THEN ( good ) + DUP 0< ( bad ) OVER 10 < ( good ) OR IF EXIT THEN ( 'a' is ASCII 97. 59 = 97 - 48 ) 49 - DUP 0< IF EXIT THEN ( bad ) diff --git a/blk/449 b/blk/449 index 1e5a236..eb50ae5 100644 --- a/blk/449 +++ b/blk/449 @@ -2,8 +2,7 @@ : _ ( c -- n ) ( '0' is ASCII 48 ) 48 - - DUP 0< IF EXIT THEN ( bad ) - DUP 2 < IF EXIT THEN ( good ) + DUP 0< ( bad ) OVER 2 < ( good ) OR IF EXIT THEN ( bad ) 255 - ; diff --git a/emul/forth.bin b/emul/forth.bin index 0b1025c..6c12adf 100644 Binary files a/emul/forth.bin and b/emul/forth.bin differ