Data stack: ( c fd -- )
+From 426857d112aab766d577f58982141963952e49c8 Mon Sep 17 00:00:00 2001
From: Ralph Ronnquist
DATA-STACK RETURN-STACK @@ -826,6 +826,8 @@ asciidoc.install(); EXECUTE EXIT
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 )
+"LOAD-BUFFER-SIZE" is a variable word telling the buffer size in bytes +that LOAD-FILE should use.
data stack: ( "name" -- )
+data stack: ( chaz* -- * 0/1 )
"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-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.