                 ALGOL-M

   ON THIS DISK YOU SHOULD FIND VARIOUS TXT FILES, THESE FILES
CONTAIN DOCUMENTATION CONCERNING THE ALGOL-M PROGRAMMING LANGUAGE.
THEY INCLUDE THE FOLLOWING:-

   ALGINTRO.TXT: AN OVERVIEW OF THE ALGOL-M LANGUAGE .

   USRMAN.TXT: AN ALGOL-M USER'S MANUAL WITH A COMPLETE 
               DESCRIPTION OF THE VARIOUS ALGOL-M LANGUAGE
               STRUCTURES.

   COMERR.TXT: A DESCRIPTION OF THE ALGOL-M COMPILER ERROR
               MESSAGES.

   RUNERR.TXT: A DESCRIPTION OF THE ALGOL-M INTERPRETER ERROR
               AND WARNING MESSAGES.

   IN ADDITION TO THESE FILES YOU SHOULD FIND VARIOUS SAMPLE
PROGRAMS WHICH DEMONSTRATE MOST OF THE FEATURES OF THE 
LANGUAGE.

INCLUDED IN THIS SECTION IS A DESCRIPTION OF HOW TO CREATE,COMPILE,
AND EXECUTE AN ALGOL-M PROGRAM.  

ALGOL-M REQUIRES A CP/M SYSTEM WITH AT LEAST 24K OF MEMORY. TO CREATE
AND RUN A PROGRAM YOU DO THE FOLLOWING:-

1. CREATE AN "ALG" FILE USING THE CP/M EDITOR. THIS FILE MUST BEGIN
WITH A "BEGIN" OR A COMMENT(WHICH CONSISTS OF EITHER A. A STRING
ENCLOSED WITH "%" OR B. A STRING BEGINNING WITH THE WORD "COMMENT" AND
ENDING WITH A ";"). THIS FILE MUST END WITH EITHER A. THE WORD
"END" WITH NO ; OR B. AN "END" FOLLOWED BY AN "EOF".
REVIEW THE VARIOUS SAMPLE PROGRAMS FOR THE EXACT FORMAT.

2. COMPILE THE "ALG" PROGRAM BY TYPING "ALGOLM FILENAME"
FOLLOWED BY A CARRIAGE RETURN.
 "FILENAME" STANDS FOR THE NAME OF YOUR FILE.  YOU MAY OBTAIN
AN OPTIONAL LISTING OF THE FILE AT THE TERMINAL BY ADDING A "$A"
AFTER THE FILE NAME.  THE FORMAT FOR THE LISTING  IS AS FOLLOWING:

   1 1 BEGIN

THE NUMBER 1 ON THE LEFT REPRESENTS THE LINE NUMBER. THE NUMBER 1
IN THE MIDDLE REPRESENTS THE BLOCK LEVEL. AT THE END OF THE PROGRAM
THE LAST LINE MUST CONTAIN A BLOCK LEVEL OF 0 OR YOU HAVE LEFT OFF
AN END IN YOUR PROGRAM. THE WORD BEGIN REPRESENTS THE INFORMATION
ON LINE 1. THE FORMAT FOR COMPILING IS AS FOLLOWS:-

        ALGOLM LUNAR $A

3.  AFTER A SUCCESSFUL COMPILATION THERE WILL BE AN "AIN" FILE CREATED
TO EXECUTE THE "AIN" FILE TYPE "RUNALG FILENAME" FOLLOWED BY A 
CARRIAGE RETURN.
KNOWN BUGS.
AS PRESENTLY IMPLEMENTED DECIMAL PRECISION MAY BE LOST IN LONG
DECIMAL ARITHMETIC CALCULATIONS.

THERE IS NO RECOVERY IF YOU READ PAST THE END OF A FILE.

