| many other Forth program fragments that could be written in an |
many other Forth program fragments that could be written in an |
| eval-escape). |
eval-escape). |
| |
|
| |
A stack prefix can contain letters, digits, or @samp{:}, and may start |
| |
with an @samp{#}; e.g., in Gforth the return stack has the stack prefix |
| |
@samp{R:}. This restriction is not checked during the stack prefix |
| |
definition, but it is enforced by the parsing rules for stack items |
| |
later. |
| |
|
| If you know Forth, the stack effects of the non-standard words involved |
If you know Forth, the stack effects of the non-standard words involved |
| are: |
are: |
| @findex stack |
@findex stack |
| @example |
@example |
| stack ( "name" "pointer" "type" -- ) |
stack ( "name" "pointer" "type" -- ) |
| ( name execution: -- stack ) |
( name execution: -- stack ) |
| type-prefix ( addr u xt1 xt2 n stack "prefix" -- ) |
type-prefix ( addr u item-size stack "prefix" -- ) |
| single ( -- xt1 xt2 n ) |
single ( -- item-size ) |
| double ( -- xt1 xt2 n ) |
double ( -- item-size ) |
| stack-prefix ( stack "prefix" -- ) |
stack-prefix ( stack "prefix" -- ) |
| @end example |
@end example |
| |
|
| |
An @var{item-size} takes three cells on the stack. |
| |
|
| @c -------------------------------------------------------------------- |
@c -------------------------------------------------------------------- |
| @node Simple instructions, Superinstructions, Input File Grammar, Input File Format |
@node Simple instructions, Superinstructions, Input File Grammar, Input File Format |