Request for code clarification

dave selby <[email protected]> Thu, 21 Nov 2024 22:05:28 +0000
Newsgroups gmane.comp.lang.forth.gforth
Message-ID <CA+-BTTx3dLjYoJsh0VCVcmzA7rprFwpoC3hX6eKcuYUJTjshpA@mail.gmail.com>
Hello

Not sure if this is the correct forum to ask but there is a bit of code I
don't understand. I am looking to define (( .. )) and was looking at ( )
code, it all makes sense except for the first line

loadfile @ 0= IF postpone (  EXIT  THEN

Why would you postpone an earlier definition of ( if you are on the command
line and not compiling ?

Any help gratefully received ... been scratching my head about this for a
few days

Dave


: ( ( compilation 'ccc<close-paren>' -- ; run-time -- ) \ core,file paren
    loadfile @ 0= IF postpone (  EXIT  THEN
    BEGIN
>in @
')' parse  nip
>in @ rot - = \ is there no delimter?
    WHILE
refill 0=
IF
   warnings @
   IF
>stderr warning-color
." warning: ')' missing" cr
default-color
   THEN
   EXIT
THEN
    REPEAT ; immediate




Kind Regards

Dave Selby