Some Notes on Installation of the Bywater BASIC Interpreter:
-----------------------------------------------------------

0. Quick-Start Guide For Compiling

   To use the default configuration (which is reasonable for most situations):

   On Unix using GCC:
       gcc -o bwbasic -lm -ansi -pedantic -Wall -Werror bw*.c
   
   On Android CCTools using GCC:
       gcc -o bwbasic -lm -ansi -pedantic -Wall -Werror bw*.c
      
   On MSDOS using Borland C++ 3.1:
      bcc.exe -mh -eBWBASIC -D_DOS bw*.c
   
   On MSBOS using Open Watcom 1.9:
      wcl386 -bc -c -ox -q -wx -za -D_DOS -D__WATCOM__ bw*.c
      wlink option quiet file bw*.obj name bwbasic.exe
      
   On MSDOS using Hi-Tech Pacific C 7.51:
      This compiler is unable to compile Bywaater BASIC

   On MSDOS using Borland Turbo C 2.01:
      This compiler is unable to compile Bywaater BASIC

   You can skip the rest of this file unless you want to customize the
   BASIC dialect that is supported, or something goes wrong in the
   above commands.


1. Compiler Requirements

   ANSI C.


2. Configuration of header files

   You may need to examine file "bwbasic.h" to make important
   changes for specific hardware and compiler configurations.


3. Makefiles

   Several compiler-specific makefiles are provided AS-IS,
   and have not been tested with version 3.XX.
   
   "makefile" should compile the program on Unix-based computers. 
      
   "makefile.qcl" should compile using Microsoft QuickC (tm).

   
4. Implementations

   TTY is the base implementation and presumes a simple
   TTY-style environment, with all keyboard and screen input
   and output directed through stdin and stdout.  All commands,
   functions and operators should be available in the TTY 
   implementation, even when they do nothing.  For example, 
   CLS, COLOR and LOCATE do nothing when OPTION TERMINAL NONE 
   is specified.  This allows exising classic BASIC applications 
   to execute.
   
   
5. Adding Commands and Functions

   Follow the rules in "Implementation rules for functions and commands";
   the majority of BASIC commands are actually intrinsic functions.
   Adding a new command is more work than adding a new function.   

   In order to add a new command to bwBASIC:

      Search for C_WRITE and bwb_WRITE,
      and add your command's eqivalent information in the same places.
      The last command's unique number should equal NUM_COMMANDS.

   Adding a new function is easier:
   
      Search for F_ABS_X_N, 
      and add your function's equivalent information in the same places.
      The last function's unique number should equal NUM_FUNCTIONS.
      

