This wordset is the place to add any additional primitives you might wish. A set of words do already live here that must be bound statically into the main pfe-object to work out smart and nicely.
(IMMEDIATE#) ( -- bit-mask )
(SMUDGE#) ( -- bit-mask )
>COMPILE ( xt -- )
($ word ( -- cs-token ) compile-only
) ( cs-token -- )
@> name ( -- value )
!> name ( value -- )
'> name ( -- xt )
INTO word ( -- pfa )
VAR name ( -- )
SMART-INTERPRET-INIT
SMART-INTERPRET-OFF
SMART-INTERPRET-ON
<<CPU>> ( -- )
CPU# ( -- )
.H2 ( value -- )
PRINTF ( args ... format$ -- )
SPRINTF ( args ... format$ dest$ -- len-dest )
LOADF filename ( -- )
DEFER word ( -- )
MAKE word ... ;AND ( -- )
;AND ( -- )
[DEFINED] word ( -- nfa|0 ) immediate
[NOT] ( a -- a' )
(IMMEDIATE#) ( -- bit-mask ) " my-word" FIND IF >FFA C@ (IMMEDIATE#) AND
IF ." immediate" THEN ELSE DROP THEN
reference: p4_immediate_bit in ../src/yours.c:0100, export CO (IMMEDIATE#)
(SMUDGE#) ( -- bit-mask ) " my-word" FIND IF >FFA C@ (SMUDGE#) AND
IF ." smudge" THEN ELSE DROP THEN
reference: p4_smudge_bit in ../src/yours.c:0110, export CO (SMUDGE#)
>COMPILE ( xt -- ) POSTPONE IF THEN POSTPONE COMPILE [COMPILE] INTERPRETreference: p4_to_compile in ../src/yours.c:0135, export CO >COMPILE
($ word ( -- cs-token ) compile-only ) >COMPILE($ IF ($ 0= A1 @ )) ($ THEN ." hello " )Note that an opening simple
(reference: p4_prefix_begin in ../src/yours.c:0152, export CI ($
) ( cs-token -- ) ($ >COMPILEreference: p4_prefix_end in ../src/yours.c:0163, export CI )
@> name ( -- value ) VARIABLE VALUE LVALUE LOCALS| VAR DEFER DOER DOES>reference: p4_fetch_from in ../src/yours.c:0199, export CS @>
!> name ( value -- ) TOreference: p4_store_to in ../src/yours.c:0696, export CS !>
'> name ( -- xt ) ' [']reference: p4_tick_from in ../src/yours.c:0679, export CS '>
INTO word ( -- pfa ) LOCALS| VARTO AINTO A !reference: p4_into in ../src/yours.c:0733, export CS INTO
VAR name ( -- ) VALUE LVALUE VALUE LVALUEreference: p4_var in ../src/yours.c:0780, export CS VAR
SMART-INTERPRET-INIT IMMEDIATEDEFER SMART-INTERPRET-INIT"hello"" hello"\if-unix\if-unknownreference: p4_smart_interpret_init in ../src/yours.c:0298, export CO SMART-INTERPRET-INIT
SMART-INTERPRET-OFF INTERPRET SMART-INTERPRET-INITreference: p4_smart_interpret_off in ../src/yours.c:0317, export CO SMART-INTERPRET-OFF
SMART-INTERPRET-ON INTERPRET SMART-INTERPRET-INITreference: p4_smart_interpret_on in ../src/yours.c:0327, export CO SMART-INTERPRET-ON
<<CPU>> ( -- ) reference: p4_load_cpus in ../src/yours.c:0357, export CX __cpus__
CPU# ( -- ) reference: p4_cpu_nr in ../src/yours.c:0379, export CO CPU#
.H2 ( value -- ) 0x0 -> 00 0xf -> 0f 0x12 -> 12 0x123 -> 0123 0x1234 -> 1234 0x12345 -> 012345
reference: p4_dot_h2 in ../src/yours.c:0523, export CO .H2
PRINTF ( args ... format$ -- ) SPRINTF SPRINTFreference: p4_printf in ../src/yours.c:0507, export CO PRINTF
SPRINTF ( args ... format$ dest$ -- len-dest ) variable A 256 ALLOT 15 " example" " the %#s value is %i" A 1+ SPRINTF A C! A COUNT TYPE
reference: p4_sprintf in ../src/yours.c:0497, export CO SPRINTF
LOADF filename ( -- ) INCLUDE MARKER LOADED FORGETreference: p4_loadf in ../src/yours.c:0552, export CO LOADF
DEFER word ( -- ) simulate:
: DEFER CREATE 0, DOES> ( the ((DEFER)) runtime )
@ ?DUP IF EXECUTE THEN ;
declare as "DEFER deferword""['] executionword TO deferword"reference: p4_defer in ../src/lpf83.c:0386, export CO DOER
MAKE word ... ;AND ( -- ) MAKE ;AND MAKE DOER DEFER NOOP MAKE LOCALS| VARreference: p4_make in ../src/yours.c:0617, export CS MAKE
;AND ( -- ) MAKE ;AND EXIT MAKEreference: p4_semicolon_and in ../src/yours.c:0653, export CS ;AND
[DEFINED] word ( -- nfa|0 ) immediate ' [IF][IFDEF] word[DEFINED] word [IF]reference: p4_bracket_defined in ../src/yours.c:0803, export CI [DEFINED]
[NOT] ( a -- a' ) 0= [IF][IFNOT] [DEFINED][DEFINED] word [NOT] [IF][IFNOTDEF] wordreference: p4_bracket_not in ../src/yours.c:0821, export CI [NOT]