Name

pfe-cdecl-ext ? C-preprocessor declaration syntax

Synopsis

#ELSE ( -- ) ?=>? ();?
"FORTH";
?
#ENDIF ( -- ) ?=>? ();?
"FORTH";
?
#IF ( -- C: state-save-flag mfth-if-magic S: ) ?=>? ();?
"FORTH";
?
#IFDEF ( "word" -- ) ?=>? ();?
"FORTH";
?
#IFNDEF ?=>? ();?
"FORTH";
?
#IFNOTDEF ( "word" -- ) ?=>? ();?
"FORTH";
?
#IS_TRUE ( C: state-save-flag mfth-if-magic S: test-flag -- ) ?=>? ();?
"FORTH";
?
#IS_FALSE ( C: state-save-flag mfth-if-magic S: test-flag -- ) ?=>? ();?
"FORTH";
?
#DEFINE ?=>? ();?
"FORTH";
?
#PRAGMA ?=>? ();?
"FORTH";
?

Description

#ELSE ( -- ) [FTH] => "FORTH"

The implementation of #ELSE is done in C for speed and being less error prone. Better use the ANSI-compatible [IF] [ELSE] [THEN] construct.

#ENDIF ( -- ) [FTH] => "FORTH"

end of #IF #IFDEF #IFNOTDEF and #ELSE contructs

    (a dummy word that does actually nothing, but #ELSE may look for it)
  

#IF ( -- C: state-save-flag mfth-if-magic S: ) [FTH] => "FORTH"

prepares for a following #IS_TRUE or #IS_FALSE, does basically switch off compile-mode for the enclosed code. better use the ANSI style [IF] [ELSE] [THEN] construct.

#IFDEF ( "word" -- ) [FTH] => "FORTH"

better use [DEFINED] word [IF] - the word [IF] is ANSI-conform.

#IFNDEF - no description, sorry

#IFNOTDEF ( "word" -- ) [FTH] => "FORTH"

better use [DEFINED] word [NOT] [IF] - the word [IF] and [ELSE] are ANSI-conform, while #IFDEF #ELSE are not.

#IS_TRUE ( C: state-save-flag mfth-if-magic S: test-flag -- ) [FTH] => "FORTH"

checks the condition on the CS-STACK. Pairs with #IF better use the ANSI style [IF] [ELSE] [THEN] construct.

#IS_FALSE ( C: state-save-flag mfth-if-magic S: test-flag -- ) [FTH] => "FORTH"

checks the condition on the CS-STACK. Pairs with #IF better use the ANSI style [IF] [ELSE] [THEN] construct.

#DEFINE - no description, sorry

#PRAGMA - no description, sorry