Loading...
 
Emforth/Emserver and files.

EMfiles

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..
CAPTURE FILENAME
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..
STRT LEN >FILE FILENAME.

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..
SOURCE FILENAME
You can also do nested includes with.
INCLUDE FILENAME

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

Directory layout

Image
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..
INCLUDE H256.DEF
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...
PCBTYPE H256 = IFDO INCLUDE H256.DEF
This would include the file if PCBTYPE equals H256

eddie


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

Main Index

Switch Theme

Shoutbox

System Administrator, 13:56 AEST, Sun 07 of Aug, 2016: upgrading to tiki 15.2
eddie, 19:31 AEST, Sat 06 of Aug, 2016: 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
Anonymous, 08:36 AEDT, Sun 03 of Mar, 2013: Very nice site!

Last-Visited Pages

Online Users

52 online users