|(
( [string<rp>] -- )
[EXT]
=> "EXTENSIONS"
add a checkstack notation for the LAST word or just try to
match the given notation with the stacklayout traced so
far - possibly casting a few types as needed.
immediate code = [p4_stackhelpcomment]
STACKHELP
( [name] -- )
[EXT]
=> "EXTENSIONS"
show the stackhelp info registered for this name.
immediate code = [p4_stackhelp]
STACKHELPS
( [name] -- )
[EXT]
=> "EXTENSIONS"
show all possible stackhelps for this name.
immediate code = [p4_stackhelps]
STACKHELP-DEBUG
=> "EXTENSIONS"
(no description)
primitive code = [stackhelp_debug]
NARROW-CHANGER(
( changer# "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
-
primitive code = [p4_narrow_changer]
NARROW-INPUTLIST(
( changer# "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
-
primitive code = [p4_narrow_inputlist]
NARROW-OUTPUTLIST(
( changer# "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
-
primitive code = [p4_narrow_outputlist]
NARROW-INPUT-VARIANT(
( variant# changer# "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
0 = default, 1 = 'S', 2 = 'R', ... 4 = 'P', ... 7 = 'M', .. 14 = 'F'
primitive code = [p4_narrow_input_variant]
NARROW-OUTPUT-VARIANT(
( variant# changer# "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
-
primitive code = [p4_narrow_output_variant]
NARROW-INPUT-STACK(
( stk-char variant# changer# "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
0 = default, 1 = 'S', 2 = 'R', ... 4 = 'P', ... 7 = 'M', .. 14 = 'F'
primitive code = [p4_narrow_input_stack]
NARROW-OUTPUT-STACK(
( stk-char variant# changer# "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
-
primitive code = [p4_narrow_output_stack]
NARROW-INPUT-ARGUMENT(
( arg# stk-char variant# changer# "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
0 = default, 1 = 'S', 2 = 'R', ... 4 = 'P', ... 7 = 'M', .. 14 = 'F'
arg# is [0] = TOS and [1] = UNDER, same as the pick values where
3 2 1 0 2 pick . =:= 2
primitive code = [p4_narrow_input_argument]
NARROW-OUTPUT-ARGUMENT(
( arg# stk-char variant# changer# "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
arg# is [0] = TOS and [1] = UNDER, same as the pick values where
3 2 1 0 2 pick . =:= 2
primitive code = [p4_narrow_output_argument]
NARROW-INPUT-ARGUMENT-NAME(
( arg# stk-char variant# changer# "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
0 = default, 1 = 'S', 2 = 'R', ... 4 = 'P', ... 7 = 'M', .. 14 = 'F'
arg# is [0] = TOS and [1] = UNDER, same as the pick values where
3 2 1 0 2 pick . =:= 2
primitive code = [p4_narrow_input_argument_name]
NARROW-OUTPUT-ARGUMENT-NAME(
( arg# stk-char variant# changer# "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
arg# is [0] = TOS and [1] = UNDER, same as the pick values where
3 2 1 0 2 pick . =:= 2
primitive code = [p4_narrow_output_argument_name]
NARROW-INPUT-ARGUMENT-TYPE(
( arg# stk-char variant# changer# "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
0 = default, 1 = 'S', 2 = 'R', ... 4 = 'P', ... 7 = 'M', .. 14 = 'F'
arg# is [0] = TOS and [1] = UNDER, same as the pick values where
3 2 1 0 2 pick . =:= 2
primitive code = [p4_narrow_input_argument_type]
NARROW-OUTPUT-ARGUMENT-TYPE(
( arg# stk-char which# "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
arg# is [0] = TOS and [1] = UNDER, same as the pick values where
3 2 1 0 2 pick . =:= 2
primitive code = [p4_narrow_output_argument_type]
CANONIC-INPUT-TYPE(
( arg# stk-char variant# changer# "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
0 = default, 1 = 'S', 2 = 'R', ... 4 = 'P', ... 7 = 'M', .. 14 = 'F'
arg# is [0] = TOS and [1] = UNDER, same as the pick values where
3 2 1 0 2 pick . =:= 2
primitive code = [p4_canonic_input_type]
CANONIC-OUTPUT-TYPE(
( arg# stk-char variant# changer# "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
arg# is [0] = TOS and [1] = UNDER, same as the pick values where
3 2 1 0 2 pick . =:= 2
primitive code = [p4_canonic_output_type]
REWRITER-TEST(
( "tracked-stack -- input-stack<rp>" -- )
[EXT]
=> "EXTENSIONS"
suppose that the left side is a tracked stack line during compiling
and the right side is a candidate changer input stack. Test whethr
the candidate does match and the complete changer would be allowed
to run a rewrite in the track stack buffer.
Possible conditions include:
the left side has not enough arguments or...
any argument on the right side has a type specialization
that does not match as a valid suffix to their counterpart
on the left side.
primitive code = [p4_rewriter_test]
REWRITER-INPUT-ARG(
( arg# "tracked-stack -- changer<rp>" -- )
[EXT]
=> "EXTENSIONS"
suppose that the left side is a tracked stack line during compiling
and the right side is a candidate changer input stack. Assume the
righthand candidate does match - look at the given argument on the
left side and show the prefix being copied to the output trackstack
when the rewrite-rule is gettin applied later.
primitive code = [p4_rewriter_input_arg]
REWRITE-LINE(
( "stack-layout<rp>" -- )
[EXT]
=> "EXTENSIONS"
fill rewrite-buffer with a stack-layout to be processed.
see REWRITE-SHOW.
primitive code = [p4_rewrite_line]
REWRITE-SHOW.
( -- )
[EXT]
=> "EXTENSIONS"
show current rewrite-buffer.
primitive code = [p4_rewrite_show]
REWRITE-STACK-TEST(
( "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
check whether this stackhelp does match on current rewrite-buffer
and say oK/No respectivly.
primitive code = [p4_rewrite_stack_test]
REWRITE-INPUT-ARG(
( arg# "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
check whether this stackhelp does match on current rewrite-buffer
and in the given input match show us the argument but only the
good prefix i.e. the type constraint being cut off already.
primitive code = [p4_rewrite_input_arg]
REWRITE-STACK-RESULT(
( "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
rewrite the current rewrite-buffer and show the result that
would occur with this stackhelp being applied.
primitive code = [p4_rewrite_stack_result]
NARROW-INPUT-NOTATION(
( notation# changer# "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
-
primitive code = [p4_narrow_input_notation]
NARROW-OUTPUT-NOTATION(
( notation# changer# "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
-
primitive code = [p4_narrow_output_notation]
REWRITE-STACKDEF-TEST(
=> "EXTENSIONS"
(no description)
primitive code = [p4_rewrite_stackdef_test]
REWRITE-STACKDEF-RESULT(
( "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
assume:
only one changer (if more are provided then only the first is used)
only one stackdef variant in inputlist
primitive code = [p4_rewrite_stackdef_result]
REWRITE-CHANGER-SELECT(
=> "EXTENSIONS"
(no description)
primitive code = [p4_rewrite_changer_select]
REWRITE-CHANGER-EXPAND(
=> "EXTENSIONS"
(no description)
primitive code = [p4_rewrite_changer_expand]
REWRITE-CHANGER-RESULT(
=> "EXTENSIONS"
(no description)
primitive code = [p4_rewrite_changer_result]
REWRITE-TEST(
( "stackhelp<rp>" -- )
[EXT]
=> "EXTENSIONS"
Test whether the given changer would match the current line.
assume:
only one changer (if more are provided then only the first is used)
primitive code = [p4_rewrite_test]
REWRITE-SELECT(
=> "EXTENSIONS"
(no description)
primitive code = [p4_rewrite_select]
REWRITE-EXPAND(
=> "EXTENSIONS"
(no description)
primitive code = [p4_rewrite_expand]
REWRITE-RESULT(
=> "EXTENSIONS"
(no description)
primitive code = [p4_rewrite_result]