Data stack: ( cfa -- tfa )
+X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;ds=sidebyside;f=reference.html;h=a1de89cbf7de1fde99526c0439f3bba94bdd8a81;hb=a0aa0a5825ce306120666fd5425308a8ec9314f8;hp=e07df55fc602666ca9823713d05b0677b8251d12;hpb=9b8fcf87eaed58b6dfabcf885f8eef5484643de6;p=rrq%2Frrqforth.git diff --git a/reference.html b/reference.html index e07df55..a1de89c 100644 --- a/reference.html +++ b/reference.html @@ -780,7 +780,7 @@ asciidoc.install(); >R R@ R> -R[n]
+R[n]DATA-STACK RETURN-STACK @@ -793,6 +793,7 @@ asciidoc.install(); 2OVER 2SWAP
Data stack: ( cfa -- tfa )
+"CFA>TFA" is a function word that pushes word tfa of the given cfa.
Data stack: Compiling: ( -- a )
+"AGAIN" is an immediate function word that is used together with +BEGIN and instead of END to implement structured +execution control. AGAIN scans the datastack for the nearest preceding +BEGIN marker and lays out an unconditional branch from this point the +beginning of the block during execution. It thereafter performs the +END compile action to end the block.
Data stack: ( v -- char* n )
+".TEMP" is a function word that renders a cell value as an integer +using the current BASE, which is either +DECIMAL or HEX. In DECIMAL +BASE, a negative value is rendered as such with a leading +minus sign, whereas HEX BASE rendering is +unsigned.
Data stack: ( c fd -- )
+"FDEMIT" is a function word that puts the given character code to the +given file descriptor. The character is the least significant byte of +the data stack cell.
Data stack: ( char* n fd -- )
+"FDTELL" is a function word that prints a string to the given file +descriptor.
Data stack: ( -- a )
+"INPUT" is a variable word for the input stream buffer used by +EVALUATE-STREAM.
data stack: ( "name" -- )
+data stack: ( -- a )
"LOAD-FILE"" is a function word that opens a file via -OPEN-FILE", allocates a stream buffer of 15000 -bytes for reading it, saves the stream pointer as value for the newly -created filename variable, and then it invokes -EVALUATE-STREAM for processing the file.
"LOAD-BUFFER-SIZE" is a variable word telling the buffer size in bytes +that LOAD-FILE should use.
data stack: ( chaz* -- * 0/1 )
+"LOAD-FILE" is a function word that evaluates a text file. It opens a +file via OPEN-FILE and sets up a stream with a +buffer of LOAD-BUFFER-SIZE bytes for +reading it. The stream is passed to +EVALUATE-STREAM for processing its words. Upon +its return the file is closed and the stream memory is reclaimed, and +then the function returns whatever +EVALUATE-STREAM returns.
Data stack: ( "name" -- fd )
+Data stack: ( chaz* -- fd )
"OPEN-FILE"" is a function word that reads the intputstream for a -filename, adds that to the dictionary as a no-content variable, opens -that file and returns the input file descriptor.
"OPEN-FILE" is a function word that opens the file named by the zero +terminated character string and returns the file descriptor, or if +less than 0, the system call error code.
Data stack: ( -- a )
+"RSP" is a function word that pushes the return stack pointer value +onto the data stack.
Data stack: ( n -- a )
+"R[n]" is a function word that pushes the address for the n:th cell on +the top return stack value onto the data stack.
At the end of the stream READ-WORD returns 0 length.
All character codes less or equal to 32 are regarded as "whitespace".
The "#" character following whitespace starts a line comment and the +rest of the line is ignored. Note that this is also recognised with +parethesis commenting.
Data stack: ( n -- a )
-"R[n]" is a function word that pushes the address for the n:th cell on -the top return stack value onto the data stack.
Data stack: ( stream* -- )
+"UNSTREAM" is a function word that releases the memory allocated for a +stream, and closes the associated file if it’s a file stream.
This kind of stream has the stream header as a prefix within the +allocated memory. Thus, stream* is the base address for the memory to +reclaim, and the size of this is determined from the cell at (stream* ++ 16) plus the 32 bytes head itself.