Emforth/Emserver and files.


When EMforth is a client to EMserver file access becomes very easy.

Writing files

The output text from forth interpreter can be redirected to a file in two ways.

If you want to capture text and see it on the display as well you use the word - CAPTURE.
If you want to send it to a file and not see it you use the word STDOUT.
The main reason to use the later is speed when you have a lot of text.

If you say..
do something to output text.
and type CAPTURE again....

The first CAPTURE will create and open a file. The filename is optional for all these words - if omitted you will be ask for one.
The second CAPTURE will close the file. I could use a different word set (separate close) but I haven't.

STDIO works the same way.

To dump memory to a binary file..

Ie the start address the length >FILE and an optional name.
This is the same format as DUMP except for the filename.

Writing files from a compiled word is also quite simple but I haven't finished writing all the support words.

Reading files

The main use for reading files is to compile source code.
You just say..
You can also do nested includes with.

The difference between SOURCE and INCLUDE is the former also allocates memory to compile into.

Directory layout

I arrange my directories as shown in the image above.
My applications sit in directories at the same level as the includes.

To do an include from the main source uses a line like this...
INCLUDE ..\include\IO.FTH
For each application I have a shortcut to emserver with the working directory set to my working directory.

Include files which aren't shared between applications sit in the working directory.
These can be included like this..
I also have a simple conditional statement which can be used to only include when there is a "true" flag on the stack - for example...
This would include the file if PCBTYPE equals H256


Created by eddie. Last Modification: Monday 11 of February, 2008 11:37:11 AEDT by eddie.

Main Index

Switch Theme


eddie, 15:29 AEDT, Wed 02 of Jan, 2019: database failed. Reverted to an old version.
System Administrator, 20:46 AEST, Sat 06 of Aug, 2016: There will be some downtime tomorrow for an upgrade to 15.2
eddie, 23:33 AEDT, Mon 05 of Oct, 2015: This website is now served from Brisbane - in a Binarylane cloud.
System Administrator, 16:07 AEDT, Wed 06 of Mar, 2013: More f'n spam. No more anon posting from now on.
Anonymous, 18:44 AEDT, Mon 04 of Mar, 2013: deleted

Last-Visited Pages

Online Users

3 online users