Path: utzoo!attcan!uunet!willett!ForthNet From: ForthNet@willett.UUCP (ForthNet articles from GEnie) Newsgroups: comp.lang.forth Subject: F-PC Forth Tutorial Message-ID: <1057.UUL1.3#5129@willett.UUCP> Date: 1 Jun 90 03:45:55 GMT Organization: Latest link in the ForthNet chain. (Pgh, PA) Lines: 91 Date: 05-30-90 (22:54) Number: 19 (Echo) To: JACK BROWN Refer#: NONE From: ROY RICE Read: NO Subj: LESSON3, EX3.10 Status: PUBLIC MESSAGE \ RARL3C.SEQ continuation of answers to lesson3 \ l3p5 conditionals ex.3.10 : .FLAG ( f --) \ tell us the type flag on stack 0= IF ." FALSE " ELSE ." TRUE " THEN ; : EQUTEST ( n m -- ) \ test of equality/inequality CR ." TEST= TEST<> TEST> TEST<" CR 2DUP = .FLAG 4 SPACES 2DUP <> .FLAG 4 SPACES 2DUP > .FLAG 4 SPACES < .FLAG 4 SPACES CR ; : 0TEST ( n --) \ test 0=, etc. CR ." TEST0= TEST0<> TEST0> TEST0<" CR DUP 0= .FLAG 4 SPACES DUP 0<> .FLAG 4 SPACES DUP 0> .FLAG 4 SPACES 0< .FLAG 4 SPACES CR ; : LOGITEST ( f1 f2 -- ) \ test logical operators CR ." TEST AND TEST OR TEST NOT " CR 2DUP AND .FLAG 4 SPACES 2DUP OR .FLAG 4 SPACES DUP .FLAG ." NOT --> " NOT .FLAG CR 22 SPACES DUP .FLAG ." NOT --> " NOT .FLAG CR ; COMMENT: Here are the rsults of the test of above: -1 1 EQUTEST TEST= TEST<> TEST> TEST< FALSE TRUE FALSE TRUE ok 1 -1 EQUTEST TEST= TEST<> TEST> TEST< FALSE TRUE TRUE FALSE ok -5 -7 EQUTEST TEST= TEST<> TEST> TEST< FALSE TRUE TRUE FALSE ok -7 -5 EQUTEST TEST= TEST<> TEST> TEST< FALSE TRUE FALSE TRUE ok 0 0 EQUTEST TEST= TEST<> TEST> TEST< TRUE FALSE FALSE FALSE 0 0TEST TEST0= TEST0<> TEST0> TEST0< TRUE FALSE FALSE FALSE 65535 0TEST TEST0= TEST0<> TEST0> TEST0< FALSE TRUE FALSE TRUE -32000 0TEST TEST0= TEST0<> TEST0> TEST0< FALSE TRUE FALSE TRUE 32767 0TEST TEST0= TEST0<> TEST0> TEST0< FALSE TRUE TRUE FALSE 32768 0TEST TEST0= TEST0<> TEST0> TEST0< FALSE TRUE FALSE TRUE : T TRUE ; : F FALSE ; ok T F LOGITEST TEST AND TEST OR TEST NOT FALSE TRUE FALSE NOT --> TRUE TRUE NOT --> FALSE T T LOGITEST TEST AND TEST OR TEST NOT TRUE TRUE TRUE NOT --> FALSE TRUE NOT --> FALSE F T LOGITEST TEST AND TEST OR TEST NOT FALSE TRUE TRUE NOT --> FALSE FALSE NOT --> TRUE F F LOGITEST TEST AND TEST OR TEST NOT FALSE FALSE FALSE NOT --> TRUE FALSE NOT --> TRUE comment; ----- This message came from GEnie via willett through a semi-automated process. Report problems to: uunet!willett!dwp or willett!dwp@hobbes.cert.sei.cmu.edu