                              [GNOSIS.HLP]






1.0  ALPHABETICAL COMMAND SUMMARY



                                  NOTE

               Some command lines MUST be terminated by a
               semicolon.   Where  a semicolon may or may
               not be required, a "[;]"  appears  in  the
               command   schema.    The   "|"   separates
               alternatives, one of which must be chosen.



     1.  %ALGOL <one or more lines of ALGOL code>;

     2.  %BELL <empty>

     3.  %COPYRIGHT <one-line copyright notice>

     4.  %DISK <empty>

     5.  %END <empty> 

     6.  %EXTRA <empty> 

     7.  %FINISH <empty>

     8.  %HELP <unique one-word designation for help text>
         <one or more lines of help text>

     9.  %IF <switchname>

    10.  %IFEND <switchname>

    11.  %IFNOT <switchname>

    12.  %INITIALIZE <one or more line of ALGOL code>;

    13.  %JUSTIFY <empty>

    14.  %KEEP <empty>

    15.  %LACK <element(s) likely to be missing from answer>
         <optional line(s) of comments>

    16.  %LANGUAGE Swedish | English

    17.  %LOCK <empty>

    18.  %NAME <empty>

    19.  %NEUTRAL <an answer not right or wrong> | <empty>
         <optional line(s) of comments>

    20.  %NEXTLESSON run("<lessonname>");|r("<lessonname>");

    21.  %NOCONTROLC <empty>
         [Partially Implemented]

    22.  %NOEXTRA <empty>

    23.  %NOJUSTIFY <empty>

    24.  %NOORDER <empty>

    25.  %ORDER <empty>

    26.  %PROCEDURE <one or more lines of ALGOL code>;

    27.  %QEND <one line of ALGOL code>[;] | <empty>

    28.  %QUESTION <one line of ALGOL code>[;] | <empty>
         <question to be displayed -- one or more lines>

    29.  %RIGHT <a possible right answer>
         <optional line(s) of comments>

    30.  %SAME <empty>

    31.  %SGNOSIS <empty>

    32.  %SWITCH <switchname> TRUE | <switchname> FALSE

    33.  %TEACHER <line with teacher's name, etc.> | <empty>

    34.  %TEXT <one line of ALGOL code>[;] | <empty>
         <text to be displayed -- one or more lines>

    35.  %VARIABLES <one or more lines of ALGOL code>;

    36.  %WRONG <possible wrong answer> | <empty>
         <optional line(s) of comments>

2.0  PRECEDENCE TABLE FOR GNOSIS COMMANDS


============================================================
PRECEDENCE      COMMAND         COMMENT
============================================================
     0          %ALGOL          Use of these commands is
     0          %EXTRA          unrestricted.  They may go
     0          %GOTO           anywhere in the lesson.
     0          %IF             
     0          %IFEND          However, the %SWITCH
     0          %IFNOT          command must precede
     0          %JUSTIFY        %IFs, %IFENDs and %IFNOTs.
     0          %NOEXTRA
     0          %NOJUSTIFY
     0          %NOORDER
     0          %ORDER
------------------------------------------------------------
     1          %BELL           These commands (if used)
     1          %COPYRIGHT      must precede all those > 1.
     1          %DISK (also %DSK or %DISC)
     1          %KEEP
     1          %LANGUAGE
     1          %LOCK
     1          %NAME
     1          %NEXTLESSON
     1          %NOCONTROLC
     1          %SGNOSIS
     1          %SWITCH
     1          %TEACHER
------------------------------------------------------------
     2          %VARIABLES      This command (if used)
                                must precede all those > 2.
------------------------------------------------------------
     3          %HELP           These commands (if used)
     3          %PROCEDURE      must precede all those > 3.
------------------------------------------------------------
     4          %INITIALIZE     This command (if used)
                                must precede all those > 4.
------------------------------------------------------------
     5          %LACK           These commands (if used)
     5          %NEUTRAL        must precede all those > 5.     
     5          %QEND
     5          %QUESTION       After %QUESTION, %RIGHTs
     5          %RIGHT          precede %WRONGs (or %LACKs).
     5          %SAME           %NEUTRALs can go anywhere.
     5          %TEXT           <empty> patterns should
     5          %WRONG          appear last.
------------------------------------------------------------
     6          %FINISH         This command (if used) must
                                precede only the %END.
------------------------------------------------------------
     7          %END            This command must be last.
============================================================
3.0  RUNNING GNOSIS

     Let's assume you have written a lesson called  BIRD.GNO.   Assuming
the   GNOSIS.MIC  and  GNOLIB.REL  files  exist  in  "MIC:"  and  "SYS:"
respectively, then all you need to do is type

        DO GNOSIS BIRD

after  the period prompt provided by the monitor.  If this doesn't work,
try

        DO SYS:GNOSIS BIRD

If that fails, then you will have to proceed as follows.

     First you will run GNOSIS to translate the lesson.  Then, if all is
well,  you  will  run  ALGOL  to  compile  it.   Then,  if  all  remains
satisfactory, you will save the lesson.  Don't forget to create BIRD.SRT
and BIRD.DTA files in the student account when these are required by the
program.  (GNOSIS will warn you about this.) In exhaustive detail, then,
the procedure is as follows:

     1.  Type "R GNOSIS<CR><LF>" after the monitor period prompt.

              GNOSIS will begin to execute, asking you for the  name  of
         the  lesson  to  be  translated.  GNOSIS will prompt you with a
         "-->".

     2.  Type "BIRD<CR><LF>" after the "-->" prompt.

              GNOSIS  defaults  to  the  ".GNO"  extension  and   begins
         translation.   If  the  lesson  has another extension, then you
         should not allow GNOSIS to default to ".GNO" but rather type in
         the  complete file description, including extension.  If all is
         well, you will continue with the next step.

     3.  Type "<CR><LF>" after GNOSIS reprompts with the "-->".

              This causes GNOSIS to exit.

     4.  Type "LOAD BIRD.ALG, SYS:GNOLIB.REL<CR><LF>" after the  monitor
         period prompt.

              The ALGOL compiler will be called  into  action  and  will
         prepare  a  machine readable version of your lesson and name it
         "BIRD.REL." (You can omit the "..., SYS:GNOLIB.REL ..." part of
         the  load  command  if  you  did  not  use  the  %NEXTLESSON or
         %NOCONTROLC commands in your lesson.  Of course,  if  for  some
         reason  you  are unable to access the GNOLIB.REL file, you will
         have no choice but to avoid these two commands.)

              If all seems to be in order, you will  want  to  run  your
         lesson to be sure it performs as desired.

     5.  After the monitor period prompt, type "START<CR><LF>" or,  when
         that doesn't work, "EXE BIRD.REL<CR><LF>".

              If the lesson is bug free, you  will  want  to  prepare  a
         production  (i.e., smaller, faster) version of it and save that
         version.  It would be wise, however, to try BIRD  on  at  least
         three  or  four  "real  students"  before you proceed past this
         stage.

              Note:  If the lesson requires ".DTA" and ".SRT" files,  it
         will  not  run  to completion without these files.  Instead, at
         lesson exit, the ALGOL run-time system will generate  an  error
         message.   You  can ignore this for now, using CTRL-C's to exit
         from ALGDDT.  But -- notice -- these files must  exist  in  the
         student account before the lesson is run.

     6.  Type "R ALGOL<CR><LF>" after the monitor period prompt.

              ALGOL will respond with a "*" prompt when ready.

     7.  After the "*" prompt, type
         "BIRD.REL=BIRD.ALG/NOSYMBOLS/PRODUCTION<CR><LF>".

              If there are no errors, ALGOL will type  "No  errors"  and
         reprompt with a "*".

     8.  Type a CTRL-Z after this "*".

              This causes an exit from ALGOL.

     9.  When the monitor period prompt returns,  type  "LOAD  BIRD.REL,
         SYS:GNOLIB.REL<CR><LF>".

              This will load the production version of the  lesson.   As
         before, the part after "BIRD.REL" is necessary only if you used
         the %NEXTLESSON or %NOCONTROLC command in BIRD.GNO.

    10.  Type "OSAVE<CR><LF>" after the period prompt.

              The monitor will reply "BIRD saved".

    11.  Congratulate yourself.

Forever after, it is only necessary  to  type  "RUN  BIRD"  to  run  the
lesson.








                         Further Documentation



     A complete manual for GNOSIS, called GNOSIS.DOC, is available.   To
get your copy of it, type

        PRI DOC:GNOSIS.DOC

and  pick  up  your  copy  when  it  comes  off  the  lineprinter.   The
lineprinter should have upper/lower case capability.

     The monitor command "R HOW" should cause a sample GNOSIS program to
run  on your terminal.  This program looks for HOW.DTA and HOW.SRT files
in your account, so be sure they exist there before you type the command
string.



                            [End GNOSIS.HLP]

