Welcome to the OpenBIOS tokenizer README. Here you'll find a short
description about the tokenizer and how to use it.

Table of contents:

1. What is the OpenBIOS tokenizer?
2. What is required to build the OpenBIOS tokenizer?
3. How to use the OpenBIOS tokenizer
4. Special Features not included in IEEE 1275-1994
5. Contact

---------------------------------------------------------------------

1. What is the OpenBIOS tokenizer?
   toke is a GPLed FCode tokenizer. It can tokenize (assemble) fcode
   source to bytecode files as described by the IEEE 1275-1994 standard.
   This program aims towards IEEE 1275-1994 compliancy, but there is
   no warranty that it is actually compliant.
   Bytecode files normally contain Open Firmware drivers or other 
   packages for use with an Open Firmware compliant system.
   
2. What is required to build the OpenBIOS tokenizer?
   toke should build with any ANSI compliant C compiler.
   To build toke on other platforms you might have to adjust the 
   Makefile.
   To build toke, just enter "make". To clean up an existing build, 
   use "make clean" or "make distclean"
   
3. How to use the OpenBIOS tokenizer

   tokenize an fcode source file with 
	toke [-v|--verbose] [-i|--ignore-errors] <file.4th> [<file2.4th>]
	
   Get help with:
	toke [-h|--help]

   The file extension will be changed to .fc. If no file extension 
   exists, .fc will be appended. If -i is specified, toke continues
   on errors, producing invalid fcode binaries.

4. Special Features not included in IEEE 1275-1994
  
   In tokenizer[ .. ]tokenizer context there is an additional control
   word besides emit-byte: next-fcode. It sets the increasing fcode 
   number used to emit new fcode words to the specified value.
   This could look like follows:
   -------------------------------------------
       \ next emitted fcode is 0x053, 2dup.
       tokenizer[ 053 next-fcode ]tokenizer
       \ now define the word.
       : 2dup over over ;
   -------------------------------------------
   Thus, toke is capable of creating fcode files that implement words
   defined by the IEEE 1275-1994 standard itself.
   
5. Contact
   Any ideas, bug reports, patches, contributions, discussion is 
   welcome.
   Stefan Reinauer <stepan@core-systems.de>


