X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;f=reference.html;h=04da3738999684d452c0701a1335e93ede9ccd18;hb=e9e554e48635a4d62a89c963ca63e4a30c0367ac;hp=7b6cb8a76ba03b4ffab29e3c1afa8e80369db11c;hpb=b49fed131d5a7806d0737bdc6f9b693c64753cf2;p=rrq%2Frrqforth.git diff --git a/reference.html b/reference.html index 7b6cb8a..04da373 100644 --- a/reference.html +++ b/reference.html @@ -776,7 +776,7 @@ asciidoc.install(); @n++   @n--   C,   -S"   +S"   >R   R@   R>   @@ -801,10 +801,12 @@ asciidoc.install(); BEGIN   BREAK  

CFA>FLAGS@   +CFA>TFA   CLEAR-STREAM   CREATE   CURRENT-WORDLIST  

DECIMAL   +DEFINITIONS   DEPTH   DIGITS   /MOD   @@ -838,6 +840,7 @@ asciidoc.install(); IMMEDIATE   INPUT  

LIT   +LIT-STRING   LOAD-BUFFER-SIZE   LOAD-FILE  

MAIN-ARGS   @@ -857,6 +860,7 @@ asciidoc.install();

READ-STREAM-CHAR   READ-WORD   REALLOC   +RETURN   ROLL   ROT   RSP  

@@ -865,6 +869,7 @@ asciidoc.install(); STDIN   STREAM   STREAM-NCHARS   +STR>TEMP   STRLEN   STRNCMP   STRNCPY   @@ -872,6 +877,8 @@ asciidoc.install(); SYSTEM  

TELL   .TEMP   +TEMP   +TEMPSPACE   TERMINATE0   TFA>CFA   TFA>DFA   @@ -881,7 +888,8 @@ asciidoc.install(); THIS-WORD   TRUE   TUCK  

-

UNSTREAM  

+

UNSTREAM   +USE  

VERBOSE?  

WITHIN   WORDS  

@@ -1134,6 +1142,26 @@ at the current free head address, which also is incremented.

_______________________________________________________
+

+ +
+

Word: CFA>TFA

+
+
+
Data stack: ( cfa -- tfa )
+
+

"CFA>TFA" is a function word that pushes word tfa of the given cfa.

+
+
+
+
+
Definition concept for CFA>TFA
+

: CFA>TFA 14 - @ ;

+
+
+
+_______________________________________________________ +

@@ -1634,6 +1662,27 @@ _______________________________________________________
_______________________________________________________
+

+
+
+

Word: DEFINITIONS

+
+
+
Data stack: ( wordlist -- )
+
+

"DEFINITIONS" is a function word that installs the given wordlist as +the CURRENT-WORDLIST one.

+
+
+
+
+
Definition concept for DEFINITIONS
+

: DEFINITIONS CURRENT-WORDLIST ! ;

+
+
+
+_______________________________________________________ +

@@ -2112,11 +2161,10 @@ _______________________________________________________

Word: EXIT

-
Data stack: ( -- )
+
Data stack: ( v -- )
-

"EXIT" is a function word that implements the ending of a FORTH -definition and its threading to the subsequent step of the calling -definition.

+

"EXIT" is a function word that terminates the rrqforth process +immediately with the given exit code.

_______________________________________________________
@@ -2498,25 +2546,43 @@ _______________________________________________________

-

Word: S"

+

Word: LIT-STRING

Data stack: ( -- chars* n )
-

"S"" is a function word that pushes the [n:char] pointer for a string -inlined subsequently to it in the containing definition. This is -similar to LIT but for a string literal.

+

"LIT-STRING" is a function word that pushes the char* and length n of +a subsequent inline string, then advances execution to continue after +the string. This is similar to LIT but for a block literal.

+

Note that the inlined byte count includes the terminating NUL byte.

-
Definition concept for LIT
-

: LIT R> DUP @ 2DUP + 8 + >R SWAP 8 + SWAP ;

+
Definition concept for LIT-STRING
+

: LIT-STRING R@ DUP @ 8 + R@ @ 2DUP + R> + >R 1 - ;

_______________________________________________________
+

+
+
+

Word: S"

+
+
+
Data stack: ( -- )  Input stream: " chars"
+
+

"S"" is an immediate function word that compiles the subseqent +characters up to terminating double-quote into the current definition, +preceded by a LIT-STRING cell, and the count of +bytes scanned. The inline text includes a terminating NUL character +which also is included in the inlined count.

+

Note that "S"" uses " for reading the string.

+
+_______________________________________________________ +

@@ -2945,6 +3011,20 @@ kernel, and the granularity is in pages, i.e. a multiple of 4 kb.

_______________________________________________________
+

+ +
+

Word: RETURN

+
+
+
Data stack: ( -- )
+
+

"RETURN" is a function word that implements the ending of a FORTH +definition and make execution return to the next step in the calling +definition.

+
+_______________________________________________________ +

compile.asm: WORD p_right_bracket,],fasm

@@ -3012,8 +3092,9 @@ _______________________________________________________
Data stack: ( -- )
-

";" (semi-colon) is a function word that ends a new forth definition -by means of adding an EXIT

+

";" (semi-colon) is an immediate function word that ends a new forth +definition by means of adding an EXIT cell, then changing +<<p_state,STATE> to interpreting.

@@ -3178,6 +3259,29 @@ stream (or filling it by reading the backing file).

_______________________________________________________
+

+
+
+

Word: STR>TEMP

+
+
+

Data stack: ( char* n — char* n )

+
+

"STR>TEMP" is a function word that copies a given string plus a +terminating NUL character into a TEMPSPACE snippet, +all preceded by a length cell. It returns a pointer for to the text in +the snippet and its length, excluding the NUL character at end and the +length cell before tie text.

+
+
Layout for copied string
+
+
        length: 8 bytes
+returned char*: n bytes
+           nul: 1 byte
+
+
+_______________________________________________________ +

@@ -3263,6 +3367,58 @@ descriptor 1).

_______________________________________________________
+

+
+
+

Word: TEMP

+
+
+

Data stack: ( size — addr )

+
+

"TEMP" is a function word that "allocates" a TEMPSPACE +area of given size and returns its base address. The allocation is +temporary and only valid until there is a later allocation that +overruns this area.

+

Allocations are done in succession until the requested size overruns +the TEMPSPACE. If so, the allocation pointer is reset +and the space is allocated from start again. This is all intended for +small and short-lived data areas.

+
+_______________________________________________________ +
+

+
+
+

Word: TEMPSPACE

+
+
+
Data stack: ( -- a )
+
+

"TEMPSPACE" is a variable word that holds three cells the for managing +"temporary memory":

+
+

This memory is intended to be used by requesting snippets of memory in +a cyclic fashion via TEMP without concern about it possibly +overlapping a prior request.

+
+_______________________________________________________ +

@@ -3462,10 +3618,26 @@ at (stream* + 16) is its size.

_______________________________________________________
-

+

+

Word: USE

+
+
+
Data value: ( wordlist -- )  Input stream: word
+
+

"USE" is a function word that looks up next word given the wordlist. +It reads next word on INPUT via READ-WORD, +then temporarily changes CURRENT-WORDLIST to +FIND the word via the given wordlist, and returns the TFA +of that word, or just 0 if the word coudn’t be found.

+
+_______________________________________________________ +
+

+
+

Word: VERBOSE?

@@ -3554,7 +3726,7 @@ is deepest.