StrongForth.f Programming-Tools Glossary


? ( -- )

Interpretation: ( ADDRESS -- )
Display the value stored at ADDRESS by performing the execution semantics of @ and ..

Compilation:
Append the runtime semantics given below to the current definition.

Runtime: ( ADDRESS -- )
Display the value stored at ADDRESS by performing the execution semantics of @ and ..

? is an immediate word.


CS-PICK ( ORIG/DEST UNSIGNED -- 1ST DEST )

Interpretation:
Interpretation semantics for this word are undefined.

Execution:
Remove UNSIGNED. Copy DEST to the top of the control-flow stack. DEST is idenditcal to the item at position UNSIGNED of the control-flow stack. An ambiguous condition exists if there are less than UNSIGNED plus one items of data type ORIG/DEST on the control-flow stack before CS-PICK is executed.

If the control-flow stack is implemented using the data stack, UNSIGNED shall be the topmost item on the data stack.


CS-ROLL ( ORIG/DEST UNSIGNED -- ORIG/DEST )

Interpretation:
Interpretation semantics for this word are undefined.

Execution:
Remove UNSIGNED. Rotate UNSIGNED plus one elements on top of the control-flow stack so that the item at position UNSIGNED is on top of the control-flow stack. An ambiguous condition exists if there are less than UNSIGNED plus one items of data type ORIG/DEST on the control-flow stack before CS-ROLL is executed.

If the control-flow stack is implemented using the data stack, UNSIGNED shall be the topmost item on the data stack.


DUMP ( ADDRESS UNSIGNED -- )

Display the contents of UNSIGNED consecutive address units starting at ADDRESS.


DUMP ( ADDRESS -> SINGLE UNSIGNED -- )

Display the contents of UNSIGNED consecutive memory cells starting at address ADDRESS -> SINGLE.


DUMP ( ADDRESS -> DOUBLE UNSIGNED -- )

Display the contents of UNSIGNED consecutive double memory cells starting at address ADDRESS -> DOUBLE.


DUMP ( CADDRESS UNSIGNED -- )

Display UNSIGNED consecutive characters starting at address CADDRESS.


EDITOR ( -- )

Replace the first word list in the search order with a word list that is reserved for the editor.

EDITOR is a vocabulary.


SEE ( "<spaces>name" -- )

Skip leading space delimiters. Parse name delimited by a space. Find name. Display a human-readable representation of name's definition, including its stack diagram.


WORDS ( "<spaces>name" -- )

List all names and stack diagrams of the definitions in the first word list of the search order whose name are identical to name. If the parameter name is not provided, list all names and stack diagrams of all definitions in the first word list of the search order. Each definition is displayed on a separate line.


[ELSE] ( -- )

Compilation:
Perform the execution semantics given below.

Execution: ( "<spaces>name" ... -- )
Skip leading spaces, parse and discard space-delimited words from the parse area, including nested occurrences of [IF] ... [THEN] and [IF] ... [ELSE] ... [THEN], until the word [THEN] has been parsed and discarded. If the parse area becomes exhausted, it is refilled as with REFILL.

[ELSE] is an immediate word.


[IF] ( SINGLE | SINGLE "<spaces>name" ... -- )

Compilation:
Perform the execution semantics given below.

Execution:
If any bit of SINGLE is not zero, continue execution. Otherwise, skip leading spaces, parse and discard space-delimited words from the parse area, including nested occurrences of [IF] ... [THEN] and [IF] ... [ELSE] ... [THEN], until either the word [ELSE] or the word [THEN] has been parsed and discarded. If the parse area becomes exhausted, it is refilled as with REFILL.

An ambiguous condition exists if [IF] is POSTPONEd, or if the end of the input buffer is reached and cannot be refilled before the terminating [ELSE] or [THEN] is parsed.

[IF] is an immediate word.


[THEN] ( -- )

Compilation:
Perform the execution semantics given below.

Execution:
Continue execution.

[THEN] is an immediate word.


Dr. Stephan Becher - January 31st, 2009