Trailing-Edge - PDP-10 Archives - decuslib20-02 - decus/20-0074/gnosis.rnh
There are 2 other files named gnosis.rnh in the archive. Click here to see a list.
.hl1 Alphabetical Command Summary
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.
.end note
.le;%ALGOL <one or more lines of ALGOL code>;
.le;%BELL <empty>
.le;%COPYRIGHT <one-line copyright notice>
.le;%DISK <empty>
.le;%END <empty> 
.le;%EXTRA <empty>  
.le;%FINISH <empty>
.le;%HELP <unique one-word designation for help text>
<one or more lines of help text>
.le;%IF <switchname>
.le;%IFEND <switchname>
.le;%IFNOT <switchname>
.le;%INITIALIZE <one or more line of ALGOL code>;
.le;%JUSTIFY <empty>
.le;%KEEP <empty>
.le;%LACK <element(s) likely to be missing from answer>
<optional line(s) of comments>
.le;%LANGUAGE Swedish | English
.le;%LOCK <empty>
.le;%NAME <empty>
.le;%NEUTRAL <an answer not right or wrong> | <empty>
<optional line(s) of comments>
.le;%NEXTLESSON run("<lessonname>");|r("<lessonname>");
.le;%NOCONTROLC <empty>
[Partially Implemented]
.le;%NOEXTRA <empty>
.le;%NOJUSTIFY <empty>
.le;%NOORDER <empty>
.le;%ORDER <empty>
.le;%PROCEDURE <one or more lines of ALGOL code>;
.le;%QEND <one line of ALGOL code>[;] | <empty>
.le;%QUESTION <one line of ALGOL code>[;] | <empty>
<question to be displayed -- one or more lines>
.le;%RIGHT <a possible right answer>
<optional line(s) of comments>
.le;%SAME <empty>
.le;%SGNOSIS <empty>
.le;%SWITCH <switchname> TRUE | <switchname> FALSE
.le;%TEACHER <line with teacher's name, etc.> | <empty>
.le;%TEXT <one line of ALGOL code>[;] | <empty>
<text to be displayed -- one or more lines>
.le;%VARIABLES <one or more lines of ALGOL code>;
.le;%WRONG <possible wrong answer> | <empty>
<optional line(s) of comments>

     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		%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		%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.
.end literal
.hl1 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


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


.end literal
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:
.le;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
GNOSIS will prompt you with a "-->".
.le;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.
.le;Type "<CR><LF>" after GNOSIS reprompts with the "-->".
This causes GNOSIS to exit.
.le;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
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.
.le;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
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.
.le;Type "R ALGOL<CR><LF>" after the monitor period prompt.
ALGOL will respond with a "*" prompt when ready.
.le;After the "*" prompt, type
If there are no errors, ALGOL will type "No errors" and reprompt with a "*".
.le;Type a CTRL-Z after this "*".
This causes an exit from ALGOL.
.le;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
.le;Type "OSAVE<CR><LF>" after the period prompt.
The monitor will reply "BIRD saved".
.le;Congratulate yourself.
Forever after, it is only necessary to type "RUN BIRD" to run the
.c;Further Documentation
A complete manual for GNOSIS, called GNOSIS.DOC, is available.
To get your copy of it, type
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.