In article <6906a681$1@news.ausics.net>, dxf wrote:   
   >On 1/11/2025 11:37 am, dxf wrote:   
   >> On 1/11/2025 12:45 am, Gerry Jackson wrote:   
   >>> On 30/10/2025 19:46, albert@spenarnc.xs4all.nl wrote:   
   >>> ...   
   >>>> - never comment out conditional compilation.   
   >>>   
   >>> Why? I've shown that it can be done using \, that means that any use of   
   [IF] etc in the rest of the comment line is not executed   
   >>   
   >> This in fact was my intent during a debug session i.e. the [IF] was moved   
   >> elsewhere temporarily. I didn't want to delete the original as it was   
   >> always going to be restored - hence my adding a preceding \ (which didn't   
   >> work as I had hoped). I knew what I wanted to do. It's just that the   
   >> existing tools didn't allow me.   
   >   
   >Below is hack that implements it. To what extent it's useful in debugging is   
   >for each to determine. I'm less excited about [ELSE] as a comment tool due   
   >to potential clashes. I have a simple one-liner for that (* *). Again, it's   
   >not something a screen user tends to use.   
   >   
   >\ Original   
   >: [ELSE] ( -- )   
   > 1 BEGIN   
   > BL WORD COUNT ( 2DUP UPPER) DUP IF   
   > 2DUP S" [IF]" COMPARE IF   
   > 2DUP S" [ELSE]" COMPARE IF   
   > S" [THEN]" COMPARE 0=   
   > ELSE 2DROP DUP 1 = THEN   
   > ELSE 2DROP 1 THEN +   
   > ELSE 2DROP REFILL AND THEN   
   > ?DUP 0=   
   > UNTIL   
   >; IMMEDIATE   
   >   
   >: [IF] 0= IF POSTPONE [ELSE] THEN ; IMMEDIATE   
   >   
   >: [THEN ; IMMEDIATE   
   >   
   >\ Modified to recognize '\' in skipped code   
   >: [ELSE] ( -- )   
   > 1 BEGIN BEGIN   
   > BL WORD COUNT ( 2DUP UPPER) DUP IF [ 1 CS-ROLL ]   
   > 2DUP S" \" COMPARE 0= WHILE 2DROP POSTPONE \ REPEAT   
   > 2DUP S" [IF]" COMPARE IF   
   > 2DUP S" [ELSE]" COMPARE IF   
   > S" [THEN]" COMPARE 0=   
   > ELSE 2DROP DUP 1 = THEN   
   > ELSE 2DROP 1 THEN +   
   > ELSE 2DROP REFILL AND THEN   
   > ?DUP 0=   
   > UNTIL   
   >; IMMEDIATE   
   >   
   >   
      
   So you use conditional compilation to be able to run your soduku   
   solver on e.g. gforth.   
      
   Now you impose conditions how conditional compilation is supposed to   
   work on gforth, totally defeating the purpose of using conditional   
   compilation to enhance portability.   
      
   Groetjes Albert   
   --   
   The Chinese government is satisfied with its military superiority over USA.   
   The next 5 year plan has as primary goal to advance life expectancy   
   over 80 years, like Western Europe.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|