mirror of
https://github.com/retro-software/B5500-software.git
synced 2026-03-02 17:44:40 +00:00
1. Commit library tape images, directories, and extracted text files. 2. Commit additional utilities under Unisys-Emode-Tools.
1915 lines
151 KiB
Plaintext
1915 lines
151 KiB
Plaintext
16181655 ... EXECUTE 00000100
|
|
8890914 ... DITTO 00000200
|
|
9400967 ... COPY 00000300
|
|
10041025 ... INLINE 00000400
|
|
8470857 ... ZIP 00000500
|
|
11421165 ... CHANGE 00000600
|
|
12451264 ... EDIT 00000700
|
|
14721478 ... SAVE 00000800
|
|
12791298 ... RESEQ 00000900
|
|
7520762 ... PUNCH 00001000
|
|
7170728 ... PRINT 00001100
|
|
13101320 ... DELETE 00001200
|
|
5390541 ... CLOSE 00001300
|
|
7740784 ... COMPILE 00001400
|
|
14871503 ... COLUMN 00001500
|
|
11861216 ... SCAN 00001600
|
|
8100824 ... LISTING 00001700
|
|
13451351 ... INC 00001800
|
|
14341453 ... TAB 00001900
|
|
13691396 ... PERCENT 00002000
|
|
6610676 ... QUICK 00002100
|
|
5690600 ... LIST 00002200
|
|
4480461 ... OPEN 00002300
|
|
15231530 ... MAIL 00002400
|
|
15791587 ... TEACH 00002500
|
|
6920698 ... REMOVE 00002600
|
|
14171419 ... REPLACE 00002700
|
|
15431560 ... END 00002800
|
|
BEGIN 00002810
|
|
COMMENT DOCUMENT 00002900
|
|
*DEFINE 01 = INDEX PAGE CENTER UNDERLINE SKIP 10* 00003000
|
|
* DEFINE 02 = INDEX PAGE NO CENTER UNDERLINE SKIP 10* 00003100
|
|
* DEFINE 03 = INDEX PAGE CENTER UNDERLINE* 00003110
|
|
*DEFINE 10 = PAGE INDENT 5 INDEX UNDERLINE SKIP 2 * 00003200
|
|
* DEFINE 11 = INDENT 10 INDEX SKIP 2 * 00003300
|
|
*DEFINE 12 = SKIP 2 PARAGRAPH 10,72,5 * 00003400
|
|
* DEFINE 13=SKIP 5 INDENT 5 INDEX UNDERLINE SKIP 2* 00003500
|
|
* DEFINE 15 = INDENT 15 SKIP 2 UNDERLINE* 00003600
|
|
*DEFINE 19 = INDEX INDENT 10 UNDERLINE SKIP 10 * 00003700
|
|
* DEFINE 20 = INDENT 15 INDEX UNDERLINE SKIP 2* 00003800
|
|
*DEFINE 21 = INDENT 15 INDEX SKIP 2 * 00003900
|
|
*DEFINE 22 = SKIP 2 PARAGRAPH 15,72,5 * 00004000
|
|
* DEFINE 23 = SKIP 1 PARAGRAPH 15,72,5* 00004100
|
|
*DEFINE 30 = INDENT 20 INDEX UNDERLINE SKIP 2 * 00004200
|
|
*DEFINE 31 = INDENT 20 INDEX SKIP 2 * 00004300
|
|
*DEFINE 32 = SKIP 2 PARAGRAPH 20,72,5 * 00004400
|
|
* DEFINE 33 = INDENT 20 SKIP 2* 00004410
|
|
*DEFINE 40 = INDENT 30 INDEX UNDERLINE SKIP 2 * 00004500
|
|
*DEFINE 41 = INDENT 30 INDEX SKIP 2 * 00004600
|
|
*DEFINE 42 = SKIP 2 PARAGRAPH 30,72,5 * 00004700
|
|
* DEFINE 51=INDENT 15 SKIP 2* 00004800
|
|
*SKIP 18 CENTER UNDERLINE 00004900
|
|
R/C 00005000
|
|
*CENTER UNDERLINE 00005100
|
|
REFERENCE 00005200
|
|
* CENTER UNDERLINE 00005300
|
|
MANUAL 00005400
|
|
*SKIP 24 INDENT 50 00005500
|
|
BY 00005600
|
|
* SKIP 2 INDENT 50 00005700
|
|
RON BRODY 00005800
|
|
* SKIP 2 INDENT 50 00005810
|
|
12/22/71 VERSION 94 00005820
|
|
* 03 00006000
|
|
INTRODUCTION 00006100
|
|
*12 00006400
|
|
R/C PERMITS A USER AT A REMOTE TELETYPEWRITER TO CREATE 00006500
|
|
AND MAINTAIN SOURCE OR DATA FILES ON THE B5500 00006600
|
|
SYSTEM DISK. FILE TYPES CREATED AND MAINTAINED WITH R/C ARE: 00006700
|
|
ALGOL, XALGOL, COBOL, FORTRAN, BASIC, AND DATA. THESE FILES REPRESENT 00006800
|
|
NORMAL (80 CHARACTER-PER-CARD) PUNCHED CARD DECKS EXCEPT THAT 00006900
|
|
THEY ARE STORED ON 00007000
|
|
THE DISK. EACH RECORD CAN BE THOUGHT OF AS ONE CARD. 00007100
|
|
*12 00007200
|
|
R/C ALLOWS THE USER TO: 00007300
|
|
*TAB 15,17 SKIP 1 00007400
|
|
*/CREATE A VARIETY OF FILES / 00007500
|
|
*/RESEQUENCE FILES / 00007600
|
|
*/PRINT OR PUNCH FILES / 00007700
|
|
*/DELETE OR INSERT RECORDS INTO A FILE/ 00007800
|
|
*/MODIFY RECORDS WITHIN A FILE/ 00007900
|
|
*/SCAN A FILE FOR THE OCCURRENCE OF A STRING/ 00008000
|
|
/(OPTIONALLY REPLACING IT WITH ANOTHER STRING)/ 00008100
|
|
*/REMOVE FILES / 00008200
|
|
*/COMPILE FILES/ 00008300
|
|
*/PERFORM MANY OTHER FUNCTIONS / 00008400
|
|
*12 00008500
|
|
THE TELETYPEWRITER (IN CONJUNCTION WITH THE PROGRAM R/C) 00008600
|
|
CAN BE CONSIDERED A KEYPUNCH EXTENSION WHICH ELIMINATES 00008700
|
|
PUNCHED CARDS. IT OFFERS GREAT FLEXIBILITY IN FILE HANDLING. 00008800
|
|
*12 00008900
|
|
R/C HAS TWO MAJOR RESTRICTIONS: 00009000
|
|
*22 00009100
|
|
WHILE THE SEQUENCE 00009200
|
|
NUMBER 99999999 IS PERMITTED FOR CONVENIENCE, THE MAXIMUM 00009300
|
|
SEQUENCE NUMBER IS 2097151 (2*21-1). 00009400
|
|
*22 00009500
|
|
THE MAXIMUM NUMBER OF 00009600
|
|
RECORDS PERMITTED IN A FILE IS 8191. 00009700
|
|
*12 00009800
|
|
IN THE DISCUSSION OF CERTAIN R/C VERBS, SOME OF THE 00009900
|
|
ELEMENTS OF THE SYNTAX ARE GIVEN AS <M>, <N>, <I>, 00010000
|
|
OR <J>. IN EACH CASE, THESE ELEMENTS REPRESENT INTEGER 00010100
|
|
VALUES WHICH MUST BE PROVIDED BY THE USER. THE VALUE MAY 00010200
|
|
BE A RECORD NUMBER FOR SOME VERBS, THE SEQUENCE NUMBER 00010300
|
|
FOR OTHERS, OR AN INCREMENT AMOUNT. THE BRACKETED CONSTRUCT 00010400
|
|
IS ONLY A FORM OF NOTATION USED TO REPRESENT AN INTEGER 00010500
|
|
PARAMETER. 00010600
|
|
* 03 00010800
|
|
PROGRAM OPERATION AND RECORD SEQUENCING 00011100
|
|
* 12 00011400
|
|
DURING CREATION AND FILE MAINTENANCE, R/C 00011500
|
|
AUTOMATICALLY ADVANCES (BY THE CURRENT VALUE OF THE 00011600
|
|
"INCREMENT") THE SEQUENCE NUMBER 00011700
|
|
OF EACH RECORD THAT IS INPUT. THE USER MAY 00011800
|
|
SET THIS INCREMENT TO ANY DESIRED VALUE THROUGH USE OF THE 00011900
|
|
"*INC" VERB (SEE BELOW). THE INCREMENT VALUE IS 00012000
|
|
INITIALIZED TO 100 WHEN THE USER FIRST RUNS R/C. 00012100
|
|
* 12 00012200
|
|
THE INITIAL SEQUENCE NUMBER IS SET TO THE INCREMENT 00012300
|
|
WHEN A NEW FILE IS OPENED BY A USER. FOR EXAMPLE, IF THE 00012400
|
|
CURRENT INCREMENT WERE 100, THE FIRST SEQUENCE NUMBER IN 00012500
|
|
THE FILE WOULD BE "100:". THIS INITIAL SEQUENCE NUMBER 00012600
|
|
MAY BE CHANGED BY THE USER THROUGH THE USE OF THE CONSTRUCT 00012700
|
|
"*<N>", (SEE BELOW). 00012800
|
|
* 12 00012900
|
|
AFTER EACH RECORD IS TYPED INTO THE FILE, THE SEQUENCE 00013000
|
|
NUMBER OF THE NEXT RECORD IN THE FILE IS SET TO THE LAST 00013100
|
|
SEQUENCE NUMBER PLUS THE INCREMENT. 00013200
|
|
THIS SEQUENCE NUMBER IS NEXT TYPED ON THE TELETYPEWRITER. 00013300
|
|
*12 00013400
|
|
IF THE FILE TYPE IS NOT "COBOL", THE SEQUENCE NUMBER IS FOLLOWED BY A 00013500
|
|
COLON. IF A RECORD ALREADY EXISTS WITH THIS SEQUENCE NUMBER, 00013600
|
|
LEADING ZEROS ARE TYPED AS A WARNING; OTHERWISE LEADING 00013700
|
|
ZEROS ARE SUPPRESSED. AFTER THE SEQUENCE NUMBER IS 00013800
|
|
TYPED OUT, THE USER MAY THEN ENTER THE DESIRED CONTENTS 00013900
|
|
FOR THAT SEQUENCE NUMBER OR MAY ENTER A VERB TO PERFORM 00014000
|
|
SOME OTHER FUNCTION. 00014100
|
|
*12 00014200
|
|
ALTERNATIVELY, THE USER MAY SET THE SEQUENCE TO SOME 00014300
|
|
OTHER VALUE THROUGH THE USE OF THE CONSTRUCT 00014400
|
|
"*<N>", WHERE <N> IS THE DESIRED SEQUENCE NUMBER. 00014500
|
|
NOTE THAT LEADING ZEROS ARE ACCEPTED BUT NOT 00014600
|
|
NECESSARY WITH THIS CONSTRUCT. 00014700
|
|
*12 00014800
|
|
BY USE OF THE "*<N>" CONSTRUCT AND THE "*INC" VERB 00014900
|
|
TO SET THE SEQUENCE NUMBER INCREMENT, THE USER MAY SET 00015000
|
|
UP HIS OWN NUMBERING SEQUENCE THROUGHOUT HIS FILE. 00015100
|
|
*12 00015200
|
|
THE EXAMPLES ILLUSTRATE THE SEQUENCE NUMBER OF THE 00015300
|
|
RECORD TYPED ON THE LEFT SIDE OF THE PAGE AS IT APPEARS 00015400
|
|
ON THE TELETYPEWRITER AND THE MANNER IN WHICH THESE 00015500
|
|
RECORDS ARE INCREMENTED. ALTHOUGH ALGOL, XALGOL, BASIC AND FORTRAN 00015600
|
|
FILES ACTUALLY CARRY THE 00015700
|
|
SEQUENCE NUMBER IN CHARACTER POSITIONS 73-80 OF THE RECORD, 00015800
|
|
R/C TYPES THE NUMBER ON THE LEFT MARGIN OF THE TELETYPEWRITER. 00015900
|
|
*03 00016100
|
|
PROGRAM EXECUTION 00016400
|
|
* 13 00016500
|
|
INITIAL REMOTE TERMINAL OPERATIONS 00016600
|
|
*12 00016700
|
|
FOR LOGGING-IN TO A TELETYPEWRITER, PRESS THE 00016800
|
|
"ORIG" BUTTON, WAIT FOR A DIAL TONE FROM THE SPEAKER, 00016900
|
|
AND DIAL THE 00017000
|
|
COMPUTER NUMBER. THE B5500 RESPONDS WITH THE MESSAGE: 00017100
|
|
* SKIP 2 CENTER UNDERLINE 00017200
|
|
BURROUGHS B-5500: <TT>/<BB> 00017300
|
|
*22 00017400
|
|
(THE STATION NUMBER IS <TT>/<BB> WHERE <TT> IS THE 00017500
|
|
TERMINAL NUMBER AND <BB> IS THE BUFFER NUMBER.) 00017600
|
|
*12 00017700
|
|
YOU MAY TYPE: 00017800
|
|
* SKIP 2 CENTER UNDERLINE 00017900
|
|
? LI: <USERCODE>/<AUTHENTICATION CODE>~ 00018000
|
|
*22 00018100
|
|
THIS LOG-IN MESSAGE MAY HAVE BEEN PRECEDED BY A "?BO~" 00018200
|
|
MESSAGE WHICH WOULD HAVE BLACKED OUT THE LINE ON WHICH 00018300
|
|
THE LOG-IN MESSAGE WAS TYPED. 00018400
|
|
*22 00018500
|
|
THE B5500 VALIDATES THE <USERCODE> AND <AUTHENTICATION- 00018600
|
|
CODE> AND RESPONDS BY TYPING OUT THE STATION NUMBER AND 00018700
|
|
THE TIME OF DAY OF THE LOG-IN. 00018800
|
|
*12 00018900
|
|
TO CONNECT A REMOTE TERMINAL TO R/C, ENTER: 00019000
|
|
*SKIP 2 CENTER UNDERLINE 00019100
|
|
?? RUN R/C;END.~ 00019200
|
|
*12 00019300
|
|
THE B5500 RESPONDS BY EITHER TYPING OUT A "BOJ" (BEGINNING 00019400
|
|
OF JOB) MESSAGE, A "SCHEDULED" MESSAGE, OR A "RUNNING" MESSAGE. 00019500
|
|
A "BOJ" MESSAGE INDICATES 00019600
|
|
THAT R/C WAS NOT PREVIOUSLY RUNNING BUT HAS NOW BEEN ENTERED 00019700
|
|
INTO THE MIX AND IS READY FOR USE. A "SCHEDULED" MESSAGE 00019800
|
|
INDICATES THAT R/C WAS NOT PREVIOUSLY RUNNING AND IS SCHEDULED. 00019900
|
|
IN THIS CASE, R/C 00020000
|
|
IS NOT BROUGHT INTO THE MIX UNTIL OTHER SYSTEM USERS COMPLETE THEIR 00020100
|
|
WORK. THE "RUNNING" MESSAGE INDICATES R/C IS ALREADY 00020200
|
|
IN THE MIX. 00020300
|
|
*12 00020400
|
|
WITH R/C IN THE MIX, IT AUTOMATICALLY SEARCHES OUT AND LOCKS ONTO 00020500
|
|
REMOTE TERMINALS WHICH HAVE REQUESTED CONNECTION (BY "RUN R/C"). 00020600
|
|
AS SOON AS YOUR TERMINAL IS LOCKED, R/C TYPES ONE OF THE 00020700
|
|
FOLLOWING MESSAGE SEQUENCES, ACCORDING TO THE MANNER IN 00020800
|
|
WHICH R/C ENDED DURING YOUR LAST R/C RUN (FIRST-TIME 00020900
|
|
USERS ARE CONSIDERED TO HAVE CAUSED NORMAL LAST ENTRIES): 00021000
|
|
* 51 00021100
|
|
INITIAL MESSAGE AFTER NORMAL TERMINATION OF LAST RUN: 00021200
|
|
* SKIP 2 INDENT 20 00021300
|
|
<R/C VERSION NUMBER> 00021350
|
|
HELLO <USERCODE> 00021400
|
|
: 00021500
|
|
*12 00021600
|
|
INITIAL MESSAGE AFTER "* END X" OR ABNORMAL LAST 00021700
|
|
RUN TERMINATION: 00021800
|
|
* INDENT 15 SKIP 1 00021900
|
|
IF A FILE WAS OPEN 00022000
|
|
* SKIP INDENT 20 00022100
|
|
<R/C VERSION NUMBER> 00022200
|
|
<FILE NAME OF OPEN FILE> 00022210
|
|
HELLO+<USERCODE> 00022300
|
|
<SEQUENCE NUMBER IN THE OPEN FILE>: 00022400
|
|
*INDENT 15 SKIP 1 00022500
|
|
OR IF NO FILE IS OPEN 00022600
|
|
*SKIP 1 INDENT 20 00022700
|
|
<R/C VERSION NUMBER> 00022750
|
|
HELLO+<USERCODE> 00022800
|
|
: 00022900
|
|
* 12 00023000
|
|
IF A MESSAGE HAS BEEN SENT FROM ANOTHER USER TO YOUR 00023100
|
|
USERCODE (SEE THE MAIL VERB), "MAIL %" IS TYPED INSTEAD OF "HELLO". 00023200
|
|
* 51 00024500
|
|
EXAMPLES: 00024600
|
|
* INDENT 20 SKIP 2 00024700
|
|
VERSION # 00024750
|
|
HELLO BLUM 00024800
|
|
: 00025000
|
|
* 22 00025100
|
|
THIS IS THE NORMAL INITIAL SEQUENCE FROM R/C. 00025200
|
|
* SKIP 3 INDENT 20 00025300
|
|
VERSION # 00025350
|
|
HELLO+ WILNER 00025400
|
|
: 00025600
|
|
*22 00025700
|
|
THIS SEQUENCE INDICATES THAT R/C REMEMBERS THE USERS STATE FROM 00025800
|
|
THE PREVIOUS RUN. THE STATE INCLUDES THE INCREMENT VALUE, TAB 00025900
|
|
AMOUNT, SAVE FACTOR, PERCENT ON-OFF, AND VERB 00026000
|
|
REPLACEMENTS. 00026100
|
|
* SKIP 3 INDENT 20 00026200
|
|
VERSION # 00026300
|
|
* INDENT 20 00026400
|
|
FILE/NAME 00026410
|
|
HELLO+ SHARPE 00026500
|
|
00050600: 00026600
|
|
* 22 00026700
|
|
THIS SEQUENCE INDICATES THAT USER HAS THE FILE "FILE/NAME" 00026800
|
|
OPEN AND IS AT THE RECORD WITH SEQUENCE NUMBER 50600. THE LEADING 00026900
|
|
ZEROS INDICATE THAT A RECORD ALREADY EXISTS WITH THAT NUMBER. 00027000
|
|
* 13 00027100
|
|
FINAL REMOTE TERMINAL OPERATIONS 00027200
|
|
*12 00027300
|
|
THE USER SHOULD TERMINATE HIS USE OF R/C WITH THE "* END" 00027400
|
|
COMMAND (SEE BELOW). 00027500
|
|
R/C WILL RESPOND WITH "GOOD BYE." 00027600
|
|
* 12 00027700
|
|
AFTER HE HAS ENDED R/C, 00027800
|
|
IF THE USER IS DONE WITH THE REMOTE TERMINAL HE SHOULD LOG-OUT 00027900
|
|
BY ENTERING: "?LO~" 00028000
|
|
* 13 00028100
|
|
R/C INPUT 00028200
|
|
*12 00028300
|
|
INPUT TO R/C IS EITHER COMMANDS OR RECORDS. 00028400
|
|
*12 00028500
|
|
COMMANDS ARE INDICATED BY THE CHARACTER "*" IN THE FIRST INPUT 00028600
|
|
POSITION. (IF THERE IS NO OPEN FILE, THE "*" IS OPTIONAL.) 00028650
|
|
ALL OTHER INPUT IS CONSIDERED RECORDS TO BE PLACED 00028700
|
|
IN THE OPEN FILE. THE FORMAT FOR A COMMAND IS THE "*" FOLLOWED 00028800
|
|
BY AN R/C VERB AND, IF NEEDED, ITS PARAMETERS. 00028900
|
|
THE VERB AND ITS PARAMETERS MUST BE SEPARATED BY A DELIMITER. 00029000
|
|
*12 00029100
|
|
A DELIMITER IS EITHER A SPACE OR ANY SPECIAL CHARACTER EXCEPT 00029200
|
|
A ";", A """, A ".", A "(", OR A "[". MULTIPLE DELIMITERS ARE 00029300
|
|
TREATED AS A SINGLE DELIMITER. 00029400
|
|
*12 00029500
|
|
A COMMAND MAY BE FOLLOWED BY ANOTHER INPUT (EITHER A COMMAND OR 00029600
|
|
A RECORD) IF IT IS TERMINATED BY A ";". 00029700
|
|
AN ERROR IN A COMMAND OF A MULTIPLE INPUT INHIBITS THE 00029800
|
|
PROCESSING OF THE REST OF THAT INPUT. 00029900
|
|
* 51 00030000
|
|
EXAMPLES: 00030100
|
|
* 51 00030200
|
|
100:* INC 50~ 00030300
|
|
*23 00030400
|
|
THIS IS AN EXAMPLE OF ONE OF THE INPUT COMMANDS. 00030500
|
|
*51 00030600
|
|
100:BEGIN~ 00030700
|
|
*23 00030800
|
|
THIS IS AN EXAMPLE OF PLACING A RECORD AT SEQUENCE NUMBER 100. 00030900
|
|
* 51 00031000
|
|
100:* INC 3;* RESEQ~ 00031100
|
|
*23 00031200
|
|
THIS IS AN EXAMPLE OF MULTIPLE COMMANDS. 00031300
|
|
* 51 00031400
|
|
100:*35; THIS RECORD GOES AT 35~ 00031500
|
|
*23 00031600
|
|
THIS IS AN EXAMPLE OF A COMMAND FOLLOWED BY A RECORD OF INPUT. 00031700
|
|
* 51 00031800
|
|
100:* OPEN A/B DATA;* PRINT FOR ME;*CLOSE~ 00031900
|
|
*23 00032000
|
|
THIS IS ANOTHER EXAMPLE OF MULTIPLE COMMANDS. 00032100
|
|
NOTE THAT THE "*" MUST APPEAR IN THE NEXT CHARACTER 00032200
|
|
POSITION FOLLOWING THE SEMICOLON OR THE REMAINDER OF 00032300
|
|
THE RECORD IS TREATED AS DATA. 00032400
|
|
* 12 00032500
|
|
AN INPUT LINE IS SENT TO THE COMPUTER BY TYPING THE CHARACTER 00032600
|
|
"~". TYPING ERRORS CAN BE CORRECTED, BY BACKSPACING 00032800
|
|
AND LINE ERASING, BEFORE A MESSAGE IS SENT. THE BACKSPACE 00032900
|
|
CHARACTER IS THE APOSTROPHE (SHIFT 7) AND THE LINE ERASE 00033000
|
|
CHARACTER IS THE UP-ARROW (SHIFT N). ALL THE FOLLOWING LINES 00033100
|
|
OF INPUT ARE EQUIVALENT (NOTE THE UNDERLINED CHARACTERS 00033200
|
|
REPRESENT USE OF THE SHIFT): 00033300
|
|
* 51 00033400
|
|
100:THIS IS IT~ 00033500
|
|
* INDENT 15 SKIP 1 00033600
|
|
100:THIS IS NOT, BUTNTHIS IS IT~ 00033700
|
|
* INDENT 35 00033800
|
|
- 00033900
|
|
* INDENT 15 00034000
|
|
100:THE7IS IS IT~ 00034100
|
|
* INDENT 22 00034200
|
|
- 00034300
|
|
* INDENT 15 00034400
|
|
100:THESE777IS IS IT~ 00034500
|
|
* INDENT 24 00034600
|
|
--- 00034700
|
|
*12 00034710
|
|
IF, AFTER BACKSPACING AND LINE ERASING, THE INPUT LINE CONTAINS 00034720
|
|
MORE THAN 240 CHARACTERS, THE INPUT IS DISCARDED WITH AN 00034730
|
|
"INPUT OVERFLW" ERROR MESSAGE. DATA RECORDS ARE ALSO DISCARDED 00034740
|
|
(WITH THE ERROR MESSAGE) IF THEY ARE TOO LARGE FOR THE FILE. 00034750
|
|
(I.E. GTR 66 FOR COBOL FILES; GTR 80 FOR DATA FILES; AND GTR 72 00034760
|
|
FOR ALL OTHER FILES) 00034770
|
|
*12 00034800
|
|
THERE ARE TWO CLASSES OF REQUESTS TO R/C: LONG AND SHORT. 00034900
|
|
LONG OPERATIONS ARE THOSE THAT USUALLY ARE SLOW TO EXECUTE 00035000
|
|
AND ARE CHARACTERIZED BY THE "WAIT..." MESSAGE. ALL 00035100
|
|
OTHER REQUESTS ARE CLASSIFIED AS SHORT OPERATIONS. LONG OPERATIONS 00035200
|
|
ARE SOMETIMES QUEUED BEFORE THE "WAIT..." MESSAGE, TO BE EXECUTED 00035300
|
|
ONE AT 00035400
|
|
A TIME. SHORT REQUESTS ARE DONE AS THEY ARE RECEIVED. 00035500
|
|
THE USERS IN THE LONG REQUEST QUEUE (AND THE USER PERFORMING A 00035600
|
|
LONG OPERATION IF IT IS NOT TYPING ON THE REMOTE) PERIODICALLY 00035700
|
|
RECEIVE A FEW "RUBOUT" CHARACTERS OF REASSURANCE. 00035800
|
|
R/C IGNORES ANY INPUT SENT BY USERS IN THE QUEUE OR BY THE USER 00035900
|
|
WHOSE LONG OPERATION IS BEING PROCESSED. 00036000
|
|
*12 00036100
|
|
IF A USER PRODUCES NO INPUT FOR FIVE MINUTES, 00036200
|
|
HE IS SENT THE MESSAGE "LOOK ALIVE". IF HE DOES NOT RESPOND 00036300
|
|
WITHIN ANOTHER FIVE MINUTE PERIOD, R/C PROCESSES A "* END DS" 00036400
|
|
FOR THAT USER. 00036500
|
|
* 13 00036600
|
|
R/C OUTPUT 00036700
|
|
* 12 00036800
|
|
OUTPUT TO THE TELETYPEWRITER OF THE SPECIAL CHARACTERS ~, !, <, {, 00036900
|
|
>, AND } IS REPLACED BY A "$" CHARACTER IN ORDER THAT THEY 00037000
|
|
DO NOT EVOKE TELETYPWRITER 00037100
|
|
CONTROL FUNCTIONS WITH WHICH THEY ARE ASSOCIATED. 00037200
|
|
(THESE INCLUDE LINE-FEED, CARRIAGE-RETURN, MESSAGE-END, AND 00037300
|
|
PAPER-TAPE-ON.) 00037400
|
|
*12 00037500
|
|
WHEN THE "BREAK" KEY IS DEPRESSED DURING OUTPUT, THE 00037600
|
|
OUTPUT IS TERMINATED WITH THE MESSAGE "BREAK". 00037700
|
|
* 03 00037900
|
|
R/C FILES 00038200
|
|
* 12 00038400
|
|
ALL FILES CREATED BY R/C ARE PERMANENT DISK FILES. THE SAVE 00038500
|
|
FACTOR IS NORMALLY 7 DAYS, BUT IT MAY BE CHANGED BY THE SAVE 00038600
|
|
VERB (SEE BELOW). 00038700
|
|
*13 00038800
|
|
FILE TYPES 00038900
|
|
*12 00039000
|
|
R/C ENABLES THE USER TO CREATE AND MAINTAIN ALGOL, COBOL, FORTRAN, 00039100
|
|
XALGOL, BASIC, AND 00039150
|
|
DATA FILES. THESE FILES HAVE 80 CHARACTER-LONG RECORDS, 00039200
|
|
(ONE CARD IMAGE). 00039300
|
|
*12 00039400
|
|
XALGOL, BASIC, 00039450
|
|
ALGOL AND FORTRAN FILES CONTAIN EIGHT DIGIT SEQUENCE NUMBERS 00039500
|
|
LOCATED IN THE POSITIONS 73-80 OF THE CARD IMAGE. 00039600
|
|
*12 00039700
|
|
COBOL FILES CONTAIN SIX-DIGIT SEQUENCE NUMBERS, PLACED IN 00039800
|
|
POSITIONS 1-6 OF THE RECORD. 00039900
|
|
*12 00040000
|
|
DATA FILES ARE NOT PHYSICALLY SEQUENCED ALTHOUGH 00040100
|
|
R/C MAINTAINS AN INTERNAL, EIGHT-DIGIT 00040200
|
|
NUMBER FOR EACH RECORD. 00040300
|
|
*13 00040400
|
|
FILE NAMES 00040500
|
|
*12 00040600
|
|
FILE NAMES MUST BE SUPPLIED TO R/C. 00040700
|
|
THE FORM OF A NAME IS <FILE PREFIX> / <FILE SUFFIX>. 00040800
|
|
THROUGHOUT THIS DOCUMENT, <FILE-NAME> IS 00040900
|
|
USED TO SPECIFY A FILE AND SHOULD BE IN THE FORM ABOVE. 00041000
|
|
THE <FILE PREFIX> AND THE <FILE SUFFIX> MAY EACH BE NO LONGER THAN 00041100
|
|
SEVEN CHARACTERS. 00041200
|
|
* 51 00041300
|
|
EXAMPLES: 00041400
|
|
* INDENT 20 SKIP 2 00041500
|
|
A/B 00041600
|
|
* SKIP 1 INDENT 20 00041700
|
|
GRIMY/GULCH 00041800
|
|
* SKIP 1 INDENT 20 00041900
|
|
ZAP/1 00042000
|
|
* SKIP 1 INDENT 20 00042100
|
|
16JAN/SUFFIX 00042200
|
|
* SKIP 1 INDENT 20 00042300
|
|
0000000/DISK 00042400
|
|
*13 00042500
|
|
RECORD REFERENCING 00042600
|
|
* 12 00042700
|
|
RECORDS IN THE OPEN FILE (SEE OPEN BELOW) ARE REFERRED TO 00042800
|
|
BY THEIR SEQUENCE NUMBER. "DATA" FILES ARE IMPLICITLY SEQUENCED 00042900
|
|
BY THE VALUE OF THE INCREMENT WHEN THEY ARE OPENED. 00043000
|
|
* 12 00043010
|
|
AN ALTERNATE METHOD OF REFERENCING RECORDS IN THE OPEN FILE IS 00043020
|
|
RELATIVE SEQUENCE NUMBERS. A RELATIVE SEQUENCE NUMBER IS AN INTEGER 00043030
|
|
PRECEEDED BY A + OR - SIGN. IT MAY BE USED ANYPLACE A SEQUENCE 00043040
|
|
NUMBER IS USED. IT IS TRANSLATED TO A SEQUENCE NUMBER BY MOVING 00043050
|
|
FORWARD OR BACKWARD THE INDICATED NUMBER OF RECORDS AND USING THE 00043060
|
|
SEQUENCE NUMBER OF THAT RECORD. 00043070
|
|
* 12 00043100
|
|
RECORDS IN A NON-OPEN FILE (EXTERNAL FILE) ARE REFERRED TO BY 00043200
|
|
THEIR RELATIVE POSITION WITHIN THE FILE. THE FIRST RECORD IS 1, 00043300
|
|
THE SECOND 2, ETC. ANY SEQUENCING THAT MAY BE ON THE RECORDS IS 00043400
|
|
IGNORED. 00043500
|
|
*03 00043700
|
|
FILE-HANDLING VERBS 00044000
|
|
*12 00044100
|
|
THIS SECTION DESCRIBES VERBS THAT HANDLE FILES AS A WHOLE, RATHER 00044200
|
|
THAN RECORDS WITHIN A FILE. HOWEVER, A FEW VERBS HAVE OPTIONS IN 00044300
|
|
R/C SYNTAX THAT PERMIT ACCESS TO RECORDS WITHIN THE FILE. THE 00044400
|
|
COMPLETE SYNTAX IS GIVEN FOR EACH VERB AS WELL AS 00044500
|
|
A DISCUSSION AND EXAMPLES OF ITS USE. AN ASTERISK ("*") MUST 00044600
|
|
ALWAYS BE THE FIRST CHARACTER IN THE INPUT STRING WHEN A COMMAND 00044700
|
|
IS ENTERED. IF THIS IS NOT FOLLOWED, AN EXISTING RECORD MAY 00044800
|
|
BE OVERWRITTEN BY THE COMMAND ITSELF. 00044900
|
|
*10 00045000
|
|
FILE OPENING AND CREATION (OPEN) 00045100
|
|
* 15 % OPEN 14 00045200
|
|
* OPEN <FILE-NAME> <FILE-TYPE> NEW 00045300
|
|
* 15 00045400
|
|
* OPEN <FILE-NAME> <FILE-TYPE> OLD 00045500
|
|
* 15 00045600
|
|
* OPEN <FILE-NAME> <FILE-TYPE> 00045700
|
|
*12 00045800
|
|
THE "* OPEN " VERB ATTACHES THE USER TO THE DISK FILE <FILE-NAME>. 00045900
|
|
THE <FILE-TYPE> MUST BE EITHER "ALGOL", "COBOL", "FORTRAN", "XALGOL", 00046000
|
|
"BASIC", OR "DATA". IF THE <OPEN TYPE> IS "NEW", A NEW DISK FILE IS 00046100
|
|
CREATED. IF THE <OPEN TYPE> IS "OLD", THE DISK FILE <FILE-NAME> IS 00046200
|
|
OPENED AND RESEQUENCED BY THE CURRENT VALUE OF THE INCREMENT. IF THE 00046300
|
|
<OPEN TYPE> IS NEITHER "NEW" NOR "OLD" THE DISK FILE <FILE-NAME> IS 00046400
|
|
OPENED AND IT IS READ TO DETERMINE ITS SEQUENCE NUMBERS. THIS LATTER 00046500
|
|
FORM IS SLOWER THAN THE OPEN "OLD". 00046600
|
|
* 51 00046700
|
|
EXAMPLES: 00046800
|
|
* SKIP 2 INDENT 21 00046900
|
|
:* OPEN PROGRAM/SOURCE ALGOL NEW~ 00047000
|
|
* INDENT 25 00047100
|
|
100: 00047200
|
|
*23 00047300
|
|
THIS CREATES A NEW DISK FILE CALLED PROGRAM/SOURCE. 00047400
|
|
* SKIP 2 INDENT 24 00047500
|
|
63500:* OPEN ANOTHER/PROG DATA OLD~ 00047600
|
|
* INDENT 25 00047700
|
|
4500: 00047800
|
|
*23 00047900
|
|
THIS OPENS THE FILE ANOTHER/PROG SEQUENCING IT BY THE CURRENT 00048000
|
|
INCREMENT VALUE. NOTE THAT THE FILE THAT WAS OPEN IS FIRST 00048100
|
|
CLOSED BEFORE THE NEXT FILE IS OPENED. 00048200
|
|
* SKIP 2 INDENT 21 00048300
|
|
:* OPEN YET/ANOTHER COBOL~ 00048400
|
|
* INDENT 21 00048410
|
|
WAIT... 00048420
|
|
* INDENT 21 00048500
|
|
READ ONLY FILE. 00048600
|
|
* INDENT 23 00048700
|
|
7504 00048800
|
|
*23 00048900
|
|
THIS OPENS THE FILE YET/ANOTHER USING THE SEQUENCE NUMBERS WITHIN THE 00049000
|
|
FILE. THE MESSAGE "READ ONLY FILE" INDICATES THAT THE USER 00049100
|
|
IS FORBIDDEN (BY THE FILE SECURITY SYSTEM) TO MODIFY THE FILE. 00049200
|
|
* 51 00049300
|
|
ERRORS: 00049400
|
|
* 33 00049700
|
|
DUP FILE: <FILE-NAME> 00049800
|
|
*22 00049900
|
|
A FILE, <FILE-NAME>, ALREADY EXISTS AND THE USER IS TRYING 00050000
|
|
TO CREATE A FILE WITH THAT NAME WITH AN "* OPEN ... NEW". 00050100
|
|
* 33 00050200
|
|
NO FILE: <FILE-NAME> 00050300
|
|
*22 00050400
|
|
THE USER IS TRYING TO OPEN A FILE, <FILE-NAME>, AND IT DOES NOT 00050500
|
|
EXIST ON DISK. 00050600
|
|
* 33 00050700
|
|
BAD FILE: <FILE-NAME> 00050800
|
|
*22 00050900
|
|
THE FILE <FILE-NAME> WHICH THE USER IS TRYING TO OPEN IS NOT 00051000
|
|
BLOCKED CORRECTLY. THE CORRECT BLOCKING IS 10-WORD RECORDS WITH 00051100
|
|
A MULTIPLE OF 3 RECORDS PER BLOCK. 00051200
|
|
* 33 00051300
|
|
INV USER: <FILE-NAME> 00051400
|
|
*22 00051500
|
|
THE USER IS TRYING TO OPEN A FILE TO WHICH HE HAS NO ACCESS. 00051600
|
|
IF THE USER HAS EITHER SECONDARY OR TERTIARY ACCESS, THE MESSAGE: 00051700
|
|
"READ ONLY FILE" IS TYPED. 00051800
|
|
* 33 00051900
|
|
FILE TOO LONG 00052000
|
|
*22 00052100
|
|
THE USER IS TRYING TO OPEN A FILE WITH MORE THAN 8191 RECORDS. 00052200
|
|
*33 00052300
|
|
SEQ OVERFLOW 00052400
|
|
*22 00052500
|
|
THE FILE THE USER IS OPENING CAUSES THE SEQUENCE COUNTER TO EXCEED 00052600
|
|
2,097,151. THE FILE IS OPENED, BUT THE USER SHOULD RESEQUENCE IT. 00052700
|
|
* 33 00052800
|
|
SEQ ERR-<N> 00052900
|
|
*22 00053000
|
|
THE FILE CONTAINS A RECORD WHOSE SEQUENCE NUMBER <N> IS LESS 00053100
|
|
THAN THE SEQUENCE NUMBER OF THE PRECEEDING RECORD. THE FILE 00053200
|
|
IS NOT OPENED. 00053300
|
|
* 33 00053500
|
|
BAD FILE TYPE: <FILE-TYPE> 00053600
|
|
*22 00053700
|
|
<FILE-TYPE> IS NOT "ALGOL", "COBOL", "FORTRAN", "XALGOL", 00053800
|
|
"BASIC", OR "DATA". 00053850
|
|
*10 00053900
|
|
FILE CLOSING (CLOSE) 00054000
|
|
*12 00054100
|
|
FILES ARE CLOSED BY USE OF THE FOLLOWING CONSTRUCT: 00054200
|
|
* 15 % CLOSE 3 00054300
|
|
* CLOSE 00054400
|
|
*12 00054500
|
|
THIS VERB DETATCHES THE OPEN FILE, FROM R/C. 00054600
|
|
* 51 00054700
|
|
EXAMPLES: 00054800
|
|
* SKIP 2 00054900
|
|
5600:* CLOSE~ 00055000
|
|
: 00055100
|
|
* 23 00055200
|
|
THIS IS AN EXAMPLE OF CLOSING A FILE THAT IS IN THE CORRECT 00055300
|
|
ORDER. 00055400
|
|
* SKIP 2 00055500
|
|
450:* RESEQ 100~ 00055600
|
|
9000:* CLOSE~ 00055700
|
|
WAIT... 00055710
|
|
: 00055800
|
|
* 23 00055900
|
|
THIS IS AN EXAMPLE OF CLOSING A FILE THAT IS NOT IN ORDER. 00056000
|
|
* 51 00056200
|
|
ERROR: 00056300
|
|
* 33 00056400
|
|
NO FILE OPEN: CLOSE 00056500
|
|
*22 00056600
|
|
THERE IS NO OPEN FILE TO CLOSE. 00056700
|
|
*10 00056800
|
|
LISTINGS ON THE TELETYPEWRITER (LIST) 00056900
|
|
*12 00057000
|
|
TO LIST FILES OR ANY OF THEIR SEPARATE RECORDS, THE FOLLOWING CONSTRUCTS00057100
|
|
APPLY: 00057200
|
|
* 15 % LIST 32 00057300
|
|
* LIST 00057400
|
|
* 15 00057500
|
|
* LIST <FILE-NAME> 00057600
|
|
* 15 00057700
|
|
* LIST <FILE-NAME> NO 00057800
|
|
* 15 00057900
|
|
* LIST <FILE-NAME> <M> 00058000
|
|
* 15 00058100
|
|
* LIST <FILE-NAME> <M> <N> 00058200
|
|
* 15 00058300
|
|
* LIST <M> 00058400
|
|
* 15 00058500
|
|
* LIST <M> <N> 00058600
|
|
*12 00058700
|
|
THE "LIST" VERB CAUSES AN ENTIRE FILE OR PORTIONS OF A FILE TO BE 00058800
|
|
LISTED ON THE TELETYPEWRITER. LISTING MAY BE DISCONTINUED BY 00058900
|
|
PRESSING THE BREAK KEY ON THE TELETYPEWRITER. 00059000
|
|
*22 00059100
|
|
THE FIRST FORM LISTS THE OPEN FILE. 00059200
|
|
*22 00059300
|
|
THE SECOND FORM LISTS THE FILE <FILE-NAME>. 00059400
|
|
*22 00059500
|
|
THE THIRD FORM LISTS THE FILE <FILE-NAME>, WITHOUT THE RECORD NUMBERS. 00059600
|
|
*22 00059700
|
|
THE FOURTH FORM LISTS <FILE-NAME> FROM THE <M>TH RECORD TO THE END. 00059800
|
|
*22 00060000
|
|
THE FIFTH FORM LISTS <FILE-NAME> FROM THE <M>TH TO THE <N>TH RECORDS. 00060100
|
|
*22 00060300
|
|
THE SIXTH FORM LISTS SEQUENCE NUMBER <M> OF THE OPEN FILE. 00060400
|
|
*22 00060500
|
|
THE LAST FORM LISTS SEQUENCE NUMBERS <M> THROUGH <N> OF THE OPEN FILE. 00060600
|
|
* 51 00060800
|
|
EXAMPLES: 00060900
|
|
* SKIP 2 00061000
|
|
500:* LIST~ 00061100
|
|
100:BEGIN 00061200
|
|
200: INTEGER I, J, K ; 00061300
|
|
300: REAL X, Y, Z ; 00061400
|
|
400: ARRAY A [0 : 9] ; 00061500
|
|
500: 00061600
|
|
* SKIP 1 00061700
|
|
5500:* LIST 8900,+3~ 00061800
|
|
8950: I := I + 5 ; 00061900
|
|
9125: GO TO NEXT ; 00062000
|
|
9300: HELP: 00062100
|
|
9400: 00062200
|
|
* SKIP 1 00062300
|
|
300* LIST 60~ 00062400
|
|
000060 MOVE A TO B. 00062500
|
|
000070 00062600
|
|
* SKIP 1 00062700
|
|
:* LIST SOME/FILE~ 00062800
|
|
1:BEGIN 00062900
|
|
2: INTEGER I, J, K ; 00063000
|
|
3: REAL X, Y, Z ; 00063100
|
|
4: ARRAY A [0 : 9] ; 00063200
|
|
5: A [I] := X ; 00063300
|
|
6:END. 00063400
|
|
: 00063500
|
|
* SKIP 1 00063600
|
|
500:* LIST SOME/FILE NO~ 00063700
|
|
BEGIN 00063800
|
|
INTEGER I, J, K ; 00063900
|
|
REAL X, Y, Z ; 00064000
|
|
ARRAY A [0 : 9] ; 00064100
|
|
A [I] := X ; 00064200
|
|
END. 00064300
|
|
500: 00064400
|
|
* SKIP 1 00064500
|
|
:* LIST LIBRARY/FILE 2,4~ 00064600
|
|
2:PROCEDURE READDATA 567,653 00064700
|
|
3:PROCEDURE WRITEDATA 654,789 00064800
|
|
4:PROCEDURE DATA 790,808 00064900
|
|
: 00065000
|
|
* SKIP 1 00065100
|
|
:* LIST SOME/FILE 5~ 00065200
|
|
5: A [I] := X ; 00065300
|
|
6:END. 00065400
|
|
: 00065500
|
|
* SKIP 1 00065600
|
|
:* LIST SOME/FILE 200,500~ 00065700
|
|
USE RECORD #S. 00065710
|
|
: 00065800
|
|
* 23 00065900
|
|
THE LAST EXAMPLE ILLUSTRATES THE COMMON ERROR OF REFERENCING 00066000
|
|
AN EXTERNAL FILE WITH SEQUENCE NUMBERS INSTEAD OF RECORD NUMBERS. 00066100
|
|
*10 00066200
|
|
COMPRESSED FILE LISTINGS (QUICK) 00066300
|
|
*12 00066400
|
|
A COMPRESSED FILE LISTING MAY BE OBTAINED FROM R/C BY USE OF THE 00066500
|
|
CONSTRUCTS: 00066600
|
|
* 15 % QUICK 16 00066700
|
|
* QUICK 00066800
|
|
* 15 00066900
|
|
* QUICK <FILE-NAME> 00067000
|
|
* 15 00067100
|
|
* QUICK <FILE-NAME> NO 00067200
|
|
* 15 00067300
|
|
* QUICK <FILE-NAME> <M> 00067400
|
|
* 15 00067500
|
|
* QUICK <FILE-NAME> <M> <N> 00067600
|
|
* 15 00067700
|
|
* QUICK <M> 00067800
|
|
* 15 00067900
|
|
* QUICK <M> <N> 00068000
|
|
*12 00068100
|
|
THE "* QUICK" VERB LISTS ON THE TELETYPEWRITER DELETING ALL CONTIGUOUS 00068200
|
|
BLANKS EXCEPT THE FIRST. THE FILE IS NOT AFFECTED BY THE VERB. 00068300
|
|
* 51 00068400
|
|
EXAMPLE: 00068500
|
|
* SKIP 2 00068600
|
|
4500:* LIST 4300,4400~ 00068700
|
|
4300: FOR I := A STEP -1 UNTIL 0 DO 00068800
|
|
4400: X [I] := SIN (Y) ; 00068900
|
|
4500:* QUICK -2, + 1~ 00069000
|
|
4300: FOR I := A STEP -1 UNTIL 0 DO 00069100
|
|
4400: X [I] := SIN (Y) ; 00069200
|
|
4500: 00069300
|
|
*10 00069400
|
|
FILE REMOVAL (REMOVE) 00069500
|
|
*12 00069600
|
|
TO REMOVE A FILE USE THE FOLLOWING CONSTRUCT: 00069700
|
|
* 15 % REMOVE 7 00069800
|
|
* REMOVE <FILE-NAME> 00069900
|
|
*22 00070000
|
|
THE REMOVE VERB REMOVES THE FILE <FILE-NAME> FROM DISK. 00070100
|
|
* 15 00070110
|
|
* REMOVE LISTING 00070120
|
|
* 22 00070130
|
|
REMOVES LINE/<USERCODE>, THE LISTING FILE FROM THE LAST COMPILATION. 00070140
|
|
* 51 00070200
|
|
EXAMPLES: 00070300
|
|
* SKIP 2 00070400
|
|
3200:* REMOVE A/B~ 00070500
|
|
3200: 00070600
|
|
* SKIP 1 00070700
|
|
546:* REMOVE ANOTHER/FILE~ 00070800
|
|
NO FILE: ANOTHER/FILE 00070900
|
|
546: 00071000
|
|
* SKIP 1 00071100
|
|
:* OPEN EXAMPLE/X COBOL OLD~ 00071200
|
|
46500* REMOVE EXAMPLE/X~ 00071300
|
|
: 00071400
|
|
*10 00071500
|
|
LINE-PRINTER FILE REPRODUCTION (PRINT) 00071600
|
|
*12 00071700
|
|
THE PRINT VERB: 00071800
|
|
* 15 % PRINT 12 00071900
|
|
*PRINT <A> <B> 00072000
|
|
*22 00072100
|
|
PRINTS THE OPENED FILE ON THE LINE PRINTER (LABELED <A> <B>). IF "<B>" 00072200
|
|
IS "DOUBLE" THEN DOUBLE SPACING IS USED. 00072300
|
|
* 15 00072400
|
|
* PRINT <A> <B> <M> 00072500
|
|
*22 00072600
|
|
AS ABOVE, STARTING WITH SEQUENCE NUMBER <M>. 00072700
|
|
* 15 00072800
|
|
* PRINT <A> <B> <M>, <N> 00072900
|
|
*22 00073000
|
|
AS ABOVE, STOPPING WITH SEQUENCE NUMBER <N>. 00073100
|
|
* 51 00073200
|
|
EXAMPLES: 00073300
|
|
* SKIP 2 00073400
|
|
:* OPEN TEST/CASE DATA;* PRINT TC DOUBLE;* CLOSE~ 00073500
|
|
: 00073600
|
|
* 23 00073700
|
|
THIS EXAMPLE ILLUSTRATES AN INSTANCE WHERE A SEQUENCED FILE 00073800
|
|
SHOULD BE TREATED AS DATA TO SHORTEN THE OPERATION. 00073900
|
|
IF THE FILE WAS OPENED "ALGOL OLD" IT WOULD HAVE BEEN 00074000
|
|
RESEQUENCED BY THE CURRENT VALUE OF THE INCREMENT AND THEN 00074100
|
|
WHEN IT WAS CLOSED IT WOULD HAVE BEEN RECOPIED. IF IT 00074200
|
|
WAS OPENED "ALGOL" IT WOULD HAVE BEEN READ TO DETERMINE ITS 00074300
|
|
SEQUENCE NUMBERS. EITHER WAY WOULD HAVE MADE THE WHOLE 00074400
|
|
OPERATION MUCH SLOWER THAN OPENING THE FILE "DATA". 00074500
|
|
* SKIP 1 00074600
|
|
8700:* PRINT FOR USER~ 00074700
|
|
WAIT... 00074710
|
|
8700: 00074800
|
|
*10 00074900
|
|
PUNCHED-CARD FILE REPRODUCTION (PUNCH) 00075000
|
|
*12 00075100
|
|
TO PUNCH A FILE: 00075200
|
|
* 15 % PUNCH 11 00075300
|
|
* PUNCH <A> <B> 00075400
|
|
*22 00075500
|
|
PUNCHES A CARD DECK (LABELED <A> <B>) OF THE OPENED FILE. 00075600
|
|
* 15 00075700
|
|
* PUNCH <A> <B> <M> 00075800
|
|
*22 00075900
|
|
AS ABOVE, STARTING WITH SEQUENCE NUMBER <M>. 00076000
|
|
* 15 00076100
|
|
* PUNCH <A> <B> <M>, <N> 00076200
|
|
*22 00076300
|
|
AS ABOVE, STOPPING WITH SEQUENCE NUMBER <N>. 00076400
|
|
* 51 00077100
|
|
EXAMPLE: 00077200
|
|
* SKIP 2 00077300
|
|
7600:* PUNCH A B 100,+10~ 00077600
|
|
WAIT... 00077610
|
|
7600: 00077700
|
|
*10 00077800
|
|
FILE COMPILATION (COMPILE) 00077900
|
|
*12 00078000
|
|
FILES MAY BE COMPILED TO THE B5500 LIBRARY BY THE FOLLOWING CONSTRUCT: 00078100
|
|
* 15 % COMPILE 11 00078200
|
|
* COMPILE <FILE-NAME> 00078300
|
|
*22 00078400
|
|
THIS VERB INITIATES THE COMPILATION OF THE OPEN FILE TO LIBRARY 00078500
|
|
USING THE COMPILER INDICATED IN THE OPEN STATEMENT. THE OBJECT 00078600
|
|
CODE IS NAMED <FILE-NAME>. THE LISTING OUTPUT OF THE COMPILATION 00078700
|
|
IS EQUATED TO "LINE/<USERCODE>" ON DISK. THE "* LISTING" VERB MAY 00078800
|
|
BE USED TO LIST THE SYNTAX ERRORS. 00078900
|
|
* 15 00079000
|
|
* COMPILE <FILE-NAME> <COMPILER> 00079100
|
|
* 22 00079200
|
|
COMPILES THE OPEN FILE USING THE SPECIFIED COMPILER. 00079300
|
|
* 51 00079400
|
|
EXAMPLES: 00079500
|
|
* SKIP 2 00079600
|
|
5700:* COMPILE OBJECT/CODE~ 00079700
|
|
WAIT... 00079710
|
|
: 00079800
|
|
* SKIP 1 00079900
|
|
479:* COMPILE TEST/OBJECT EZTRAN~ 00080000
|
|
QUEUED( 1).WAIT... 00080010
|
|
: 00080100
|
|
* 22 00080200
|
|
IN THE LAST EXAMPLE, THE "EZTRAN" COMPILER (EZTRAN/DISK) WILL 00080300
|
|
BE USED. IF THE FILE IS NOT IN ORDER, IT WILL BE REORDERED. 00080400
|
|
SINCE THIS IS A LONG OPERATION THE USER GETS A "WAIT" MESSAGE. 00080500
|
|
THE "QUEUED" MESSAGE INDICATES THAT ANOTHER USERS LONG OPERATION 00080600
|
|
IS BEING PROCESSED AND THAT THIS LONG OPERATION IS QUEUED UNTIL 00080700
|
|
THE OTHER IS DONE. THE "1" INDICATES THAT THIS IS THE FIRST REQUEST IN 00080800
|
|
THE QUEUE. 00080900
|
|
* 10 00081000
|
|
OUTPUT OF THE COMPILATION (LISTING) 00081100
|
|
* 12 00081200
|
|
THE LISTING FILE OF THE COMPILER IS EQUATED TO LINE/ 00081300
|
|
<USERCODE> ON DISK. THE FILE MAY BE ACCESSED BY THE USE 00081400
|
|
OF THE LISTING VERB: 00081500
|
|
* 15 % LISTING 15 00081600
|
|
* LISTING <FILE-TYPE> <S>, <L>, <U> 00081700
|
|
*22 00081800
|
|
LISTS THE SEQUENCE NUMBERS RELATED TO SEGMENT <S> FROM RELATIVE 00081900
|
|
ADDRESS <L> TO RELATIVE ADDRESS <U>. <FILE-TYPE> IS ALGOL, XALGOL, 00082000
|
|
BASIC, COBOL, OR FORTRAN AND INDICATES WHICH COMPILER CREATED THE 00082100
|
|
LISTING FILE "LINE/<USERCODE>". (THIS FILE IS AUTOMATICALLY 00082200
|
|
GENERATED BY THE COMPILE VERB). 00082300
|
|
* 15 00082400
|
|
* LISTING <FILE-TYPE> ERRORS 00082500
|
|
*22 00082600
|
|
LISTS THE SYNTAX ERRORS OF YOUR LAST COMPILATION. 00082700
|
|
* 15 00082800
|
|
* LISTING 00082900
|
|
*22 00083000
|
|
PRINTS THE LINE FILE OF YOUR LAST COMPILATION ON THE PRINTER. 00083100
|
|
*51 00083200
|
|
EXAMPLES: 00083300
|
|
* SKIP 2 00083400
|
|
:* LISTING ALGOL 5, 25, 35~ 00083500
|
|
WAIT... SEGMENT = 5: 00083510
|
|
4300: REL. ADDR. = 26. 00083600
|
|
4400: REL. ADDR. = 29. 00083700
|
|
9200: REL. ADDR. = 32. 00083800
|
|
9300: REL. ADDR. = 35. 00083900
|
|
:* LISTING ALGOL ERRORS~ 00084200
|
|
WAIT... 00084210
|
|
7800:ERROR 100 I. 00084300
|
|
: 00084400
|
|
* SKIP 1 00084500
|
|
8900:* LISTING~ 00084600
|
|
8900: 00084700
|
|
*10 00084800
|
|
FILE ZIPPED AS AN "EXECUTE" DECK (ZIP) 00084900
|
|
*12 00085000
|
|
TO IMPLEMENT THE B5500 ZIP FUNCTION THROUGH R/C, USE THE FOLLOWING 00085100
|
|
CONSTRUCT: 00085200
|
|
* 15 % ZIP 11 00085300
|
|
* ZIP 00085400
|
|
*22 00085500
|
|
THIS CONSTRUCT ZIPS THE OPENED FILE AFTER IT LINKS ALL THE CONTROL 00085600
|
|
CARDS AS INDICATED BY "?". SEE THE ALGOL REFERENCE MANUAL FOR A 00085700
|
|
DESCRIPTION OF THE "ZIP WITH FILE-ID" STATEMENT. 00085800
|
|
* 15 00085900
|
|
* ZIP <FILE-NAME> 00086000
|
|
*22 00086100
|
|
COPIES THE OPENED FILE CREATING <FILE-NAME> AND ZIPS <FILE-NAME>. NOTE 00086200
|
|
THIS "ZIP" CONSTRUCT DOES NOT DESTROY THE OPEN FILE, AS DOES THE FIRST 00086300
|
|
FORM. 00086400
|
|
*51 00086500
|
|
EXAMPLES: 00086600
|
|
* SKIP 2 00086700
|
|
:COLUMN ON "@";COLUMN 73~ 00086800
|
|
:OPEN MAKE/MANUAL DATA NEW;%%EXECUTE XREF/JONES.~ 00086900
|
|
200:%%FILE DISK = TEACHER/0000094.~ 00087000
|
|
300:%% DATA CARD.~ 00087100
|
|
400:$ DISK SIX DOCONLY DOCUMENT FINAL~ 00087200
|
|
500:@99999999~ 00087300
|
|
600:%% END.~ 00087400
|
|
700:* ZIP TEMP/NAME~ 00087500
|
|
WAIT... 00087600
|
|
700: 00087700
|
|
* 23 00087900
|
|
THIS EXAMPLE ILLUSTRATES HOW TO CREATE A CONTROL DECK AND 00088000
|
|
INITIATE ITS EXECUTION. THE DECK WAS SAVED (UNDER THE NAME 00088100
|
|
"MAKE/MANUAL") SINCE THE ZIP CONSTRUCT INCLUDED THE DUMMY FILE 00088200
|
|
"TEMP/NAME". (NOTE THAT THE ABOVE DECK WILL CREATE AN R/C 00088300
|
|
USERS MANUAL.) 00088400
|
|
* SKIP 2 00088500
|
|
:* OPEN MAKE/MANUAL DATA;* ZIP T/N;* CLOSE~ 00088600
|
|
WAIT... 00088610
|
|
: 00088700
|
|
*01 00088900
|
|
RECORD HANDLING VERBS 00089200
|
|
* 10 00089300
|
|
RECORD COPYING (DITTO) 00089400
|
|
*12 00089500
|
|
RECORDS MAY BE COPIED FROM ONE PLACE TO ANOTHER WITHIN A FILE BY 00089600
|
|
THE CONSTRUCT: 00089700
|
|
* 15 % DITTO 26 00089800
|
|
* DITTO <M> 00089900
|
|
*22 00090000
|
|
COPIES CARD IMAGE <M> AS THE NEXT RECORD. 00090100
|
|
* 15 00090200
|
|
* DITTO <M>, <N> 00090300
|
|
*22 00090400
|
|
COPIES THE CARD IMAGES <M> TO <N> AS THE NEXT RECORDS. 00090500
|
|
* 15 00090510
|
|
* DITTO OVERITE ON 00090520
|
|
* 15 00090530
|
|
* DITTO OVERITE OFF 00090540
|
|
* 15 00090542
|
|
* DITTO OVERITE 00090544
|
|
* 22 00090550
|
|
IF THE DITTO OVERITE IS OFF AND AN EXISTING RECORD IS ABOUT TO BE 00090560
|
|
OVERWRITTEN, THE DITTO TERMINATES WITH AN "OVERITE OFF" MESSAGE. 00090570
|
|
(IT IS INITIALLY OFF.) THE ABOVE COMMANDS ARE USED TO SET THE OPTION 00090580
|
|
AND TO PRINT ITS CURRENT SETTING. ITS SETTING MAY BE REVERSED FOR ONE 00090582
|
|
COMMAND BY PREFIXING THE DITTO WITH A -. (E.G. *-DITTO 10,50.) 00090584
|
|
* 15 00090586
|
|
* DITTO <M> MOVE 00090588
|
|
* 15 00090590
|
|
* DITTO <M>, <N> MOVE 00090592
|
|
* 22 00090594
|
|
THE MOVE OPTION, MOVES RECORDS <M> THRU <N> TO THE CURRENT 00090596
|
|
LOCATION. THIS OPTION IS VERY FAST, BUT OVERITING IS NOT ALLOWED. 00090598
|
|
*51 00090600
|
|
EXAMPLES: 00090700
|
|
* SKIP 2 00090800
|
|
500:* DITTO 200,300~ 00090900
|
|
700:* LIST~ 00091000
|
|
100:ONE 00091100
|
|
200:TWO 00091200
|
|
300:THREE 00091300
|
|
400:FOUR 00091400
|
|
500:TWO 00091500
|
|
600:THREE 00091600
|
|
700:* DITTO 200,300 MOVE;*LIST~ 00091700
|
|
100:ONE 00091710
|
|
400:FOUR 00091720
|
|
500:TWO 00091730
|
|
600:THREE 00091740
|
|
700:TWO 00091750
|
|
800:THREE 00091760
|
|
900: 00091770
|
|
*10 00092400
|
|
COPYING EXTERNAL FILES (COPY) 00092500
|
|
*12 00092600
|
|
WHOLE OR PARTIAL EXTERNAL FILES MAY BE COPIED INTO THE CURRENTLY 00092700
|
|
OPENED FILE BY THE CONSTRUCTS: 00092800
|
|
* 15 % COPY 28 00092900
|
|
* COPY <FILE-NAME> 00093000
|
|
* 15 00093100
|
|
* COPY <FILE-NAME> <M> 00093200
|
|
* 15 00093300
|
|
* COPY <FILE-NAME> <M>, <N> 00093400
|
|
* 15 00093410
|
|
* COPY <FILE-NAME> MERGE 00093420
|
|
*22 00093500
|
|
THE COPY VERB COPIES RECORDS FROM ANOTHER FILE (<FILE-NAME>). 00093600
|
|
*22 00093700
|
|
THE FIRST FORM COPIES THE WHOLE FILE. 00093800
|
|
THE SECOND FORM COPIES THE <M>-TH RECORD (WHERE THE FIRST RECORD 00093900
|
|
OF <FILE-NAME> IS 1, THE SECOND RECORD IS 2, THE THIRD IS 3, ETC.). 00094000
|
|
THE THIRD FORM COPIES THE <M>-TH THROUGH THE <N>-TH RECORDS. 00094100
|
|
THE LAST FORM USES THE SEQUENCE NUMBERS OF THE RECORDS OF 00094102
|
|
<FILE-NAME> TO DETERMINE THEIR POSITION IN THE OPEN FILE. 00094104
|
|
* 15 00094110
|
|
* COPY OVERITE ON 00094120
|
|
* 15 00094130
|
|
* COPY OVERITE OFF 00094140
|
|
* 15 00094142
|
|
* COPY OVERITE 00094144
|
|
* 22 00094150
|
|
IF THE COPY OVERITE IS OFF AND AN EXISTING RECORD IS ABOUT TO BE 00094160
|
|
OVERWRITTEN, THE COPY TERMINATES WITH AN "OVERITE OFF" MESSAGE. 00094170
|
|
(IT IS INITIALLY OFF.) THE ABOVE COMMANDS ARE USED TO SET THE OPTION 00094180
|
|
AND TO PRINT ITS CURRENT SETTING. ITS SETTING MAY BE REVERSED FOR ONE 00094182
|
|
COMMAND BY PREFIXING THE COPY WITH A -. (E.G. *-COPY A/B 10,50.) 00094184
|
|
* 51 00094200
|
|
EXAMPLES: 00094300
|
|
* SKIP 2 00094400
|
|
:* OPEN SOURCE/MARK7 ALGOL NEW~ 00094500
|
|
100:* COPY SOURCE/MARK6~ 00094600
|
|
WAIT... 00094610
|
|
8900: 00094700
|
|
* SKIP 1 00094800
|
|
500:* COPY LIBRARY/FILE 345, 368~ 00094900
|
|
WAIT... 00094910
|
|
2800: 00095000
|
|
* SKIP 1 00095005
|
|
:QUICK PATCH/FILE~ 00095010
|
|
1:A 00000050 00095015
|
|
2:B 00000150 00095020
|
|
3:C 00000200 00095025
|
|
4:X 00000175 00095030
|
|
5:Y 00000250 00095035
|
|
6:Z 00000250 00095040
|
|
:OPEN MY/SOURCE ALGOL OLD~ 00095045
|
|
400:* COPY OVERITE ON;*COPY PATCH/FILE MERGE~ 00095050
|
|
400:* LIST~ 00095055
|
|
50:A 00095060
|
|
100:1 00095065
|
|
150:B 00095070
|
|
175:X 00095075
|
|
200:C 00095080
|
|
250:Z 00095085
|
|
300:3 00095090
|
|
400: 00095095
|
|
*10 00095100
|
|
INTRA-RECORD EDITING (INLINE) 00095200
|
|
*12 00095300
|
|
RECORDS MAY BE EDITED BY USE OF THE "* INLINE" CONSTRUCTS 00095400
|
|
DESCRIBED IN THE NEXT PARAGRAPHS. 00095500
|
|
* 15 % INLINE 22 00095600
|
|
* INLINE <M> 00095700
|
|
* 15 00095800
|
|
* INLINE 00095900
|
|
* 15 00095910
|
|
* INLINE <M> <EDIT CHR> 00095920
|
|
* 15 00095930
|
|
* INLINE <EDIT CHR> 00095940
|
|
*12 00096000
|
|
THIS SETS UP LINE <M> FOR INLINE EDITING. IF THE SEQUENCE 00096100
|
|
NUMBER <M> IS NOT INCLUDED WITH THE COMMAND, THE PREVIOUS 00096200
|
|
RECORD IS USED AND THE INITIAL PRINTING OF IT IS SUPPRESSED. 00096300
|
|
* 15 00096310
|
|
* INLINE ECHO ON 00096320
|
|
* 15 00096330
|
|
* INLINE ECHO OFF 00096340
|
|
* 15 00096342
|
|
* INLINE ECHO 00096344
|
|
* 12 00096350
|
|
THE MODIFIED RECORD WILL BE TYPED ON THE TELETYPE IF THE INLINE ECHO 00096360
|
|
IS ON. (IT IS INITIALLY ON.) THE ABOVE COMMANDS ARE USED TO SET THE 00096370
|
|
OPTION AND TO PRINT ITS CURRENT SETTING. ITS SETTING MAY BE REVERSED 00096372
|
|
FOR ONE COMMAND BY PREFIXING THE INLINE WITH A -. (E.G. * -INLINE +3.) 00096374
|
|
*12 00096400
|
|
TO MODIFY A PORTION OF A RECORD (CARD IMAGE) USE THE "* INLINE" 00096500
|
|
VERB. R/C PRINTS THE RECORD NUMBER AND THE LINE, THEN GIVES A 00096600
|
|
CARRIAGE RETURN AND LINE FEED. IT NEXT SPACES THE PRINT BALL 00096700
|
|
(ON THE NEW LINE) DIRECTLY BELOW THE FIRST CHARACTER POSITION 00096800
|
|
OF THE OLD LINE, ABOVE. THE USER SPACES THE PRINT BALL TO THE 00096900
|
|
PROPER POSITION AND ACCOMPLISHES THE FOLLOWING ACTIONS: 00097000
|
|
*22 00097100
|
|
TO INSERT A STRING, TYPE THE LETTER "I" FOLLOWED BY THE STRING 00097200
|
|
AND A "~". 00097300
|
|
*22 00097400
|
|
TO DELETE A STRING, USE THE LETTER "D" FOLLOWED BY SPACES 00097500
|
|
UNDER THE CHARACTERS TO BE DELETED AND THEN A "~". 00097600
|
|
*22 00097700
|
|
TO REPLACE A STRING, USE THE LETTER "R" FOLLOWED BY THE NEW STRING 00097800
|
|
OF THE SAME LENGTH AND A "~". 00097900
|
|
*22 00098000
|
|
IF THE MODIFICATION IS TO BE DONE IN THE FIRST CHARACTER, THEN 00098100
|
|
INCLUDE THE "I", "R", OR "D" WITH THE INLINE COMMAND. 00098200
|
|
* SKIP 2 INDENT 10 00098300
|
|
EXAMPLES: 00098400
|
|
* 15 00098500
|
|
TO INSERT CHARACTERS INTO A RECORD: 00098600
|
|
* SKIP 2 INDENT 20 00098700
|
|
300:*INLINE 30500~ 00098800
|
|
* INDENT 18 00098900
|
|
30500:ABCDEFGHIJK 00099000
|
|
* INDENT 15 00099100
|
|
00030500: I12345~ 00099200
|
|
*INDENT 18 00099300
|
|
30500:ABC12345DEFGHIJK 00099400
|
|
* 15 00099500
|
|
TO DELETE CHARACTERS FROM A RECORD: 00099600
|
|
* SKIP 2 INDENT 19 00099700
|
|
7700:*INLINE 67700~ 00099800
|
|
* INDENT 18 00099900
|
|
67700:ABCDEFGHIJKLMNOP 00100000
|
|
* INDENT 15 00100100
|
|
00067700: D ~ 00100200
|
|
* INDENT 18 00100300
|
|
67700:ABHIJKLMNOP 00100400
|
|
* 15 00100500
|
|
TO REPLACE CHARACTERS IN A RECORD: 00100600
|
|
* SKIP 2 INDENT 20 00100700
|
|
600:* INLINE 551~ 00100800
|
|
* INDENT 20 00100900
|
|
551:ABCDEFGHIJKLMNOPQRST 00101000
|
|
* INDENT 15 00101100
|
|
00000551:R12345~ 00101200
|
|
* INDENT 20 00101300
|
|
551:A12345GHIJKLMNOPQRST 00101400
|
|
* 15 00101500
|
|
TO MODIFY A RECORD BEGINNING WITH ITS FIRST CHARACTER: 00101600
|
|
* 51 00101700
|
|
00006700:*INLINE 70800 D~ 00101800
|
|
* INDENT 18 00101900
|
|
70800:ABCDEFGHIJKLM 00102000
|
|
* INDENT 15 00102100
|
|
00070800: ~ 00102200
|
|
* INDENT 18 00102300
|
|
70800:DEFGHIJKLM 00102400
|
|
* INDENT 18 00102500
|
|
70900:* INLINE D; ~ 00102600
|
|
* INDENT 18 00102700
|
|
70800:EFGHIJKLM 00102800
|
|
*22 00102900
|
|
THE "R" AND "I" FORMS OF THIS LATTER CONSTRUCT OPERATE IN A 00103000
|
|
SIMILAR FASHION. 00103100
|
|
*10 00103200
|
|
STRINGS 00103300
|
|
*12 00103400
|
|
R/C SCANS FOR THE OCCURRENCE OF A STRING BY USE OF THE "* SCAN" 00103500
|
|
AND "* CHANGE" VERBS. 00103600
|
|
IN THIS APPLICATION THE FOLLOWING DEFINITION OF "STRING" APPLIES: 00103700
|
|
* 51 00103800
|
|
<STRING> ::= <LEFT> <TEXT> <RIGHT> <COLUMN RANGE> 00103900
|
|
* INDENT 25 00104000
|
|
<LEFT> ::= "/ ( / [ / . 00104100
|
|
<RIGHT> ::= "/ ) / ] / . 00104200
|
|
<TEXT> ::= {ANY STRING OF CHARACTERS 00104300
|
|
* INDENT 35 00104400
|
|
EXCLUDING THE <RIGHT> CORRESPONDING 00104500
|
|
TO THE <LEFT> CHARACTER USED.} 00104600
|
|
* INDENT 25 00104601
|
|
<COLUMN RANGE> ::= {EMPTY} / 00104602
|
|
* INDENT 35 00104603
|
|
@<INTEGER> / @<INTEGER>-<INTEGER> 00104604
|
|
* 12 00104605
|
|
IF THE STRING IS DELIMITED BY PERIODS, AN ADDED CHECK WILL BE 00104610
|
|
MADE BEFORE DETERMINING A MATCHED STRING. THIS CHECK INSURES 00104615
|
|
THAT THE MATCHED STRING WILL BE IMMEDIATELY PRECEEDED AND 00104620
|
|
FOLLOWED BY A NON-ALPHANUMERIC CHARACTER. HENCE THIS FORM 00104625
|
|
SHOULD BE USED FOR IDENTIFIERS. 00104630
|
|
* 12 00104635
|
|
IF THE <COLUMN RANGE> IS SPECIFIED, A MATCH WILL BE 00104640
|
|
FOUND ONLY IF THE FIRST CHARACTER APPEARS WITHIN THE RANGE. 00104645
|
|
* 51 00104700
|
|
EXAMPLES: 00104800
|
|
* SKIP 2 INDENT 20 00104900
|
|
"FD"@8 00105000
|
|
* SKIP 1 INDENT 20 00105100
|
|
.LIST. 00105200
|
|
* SKIP 1 INDENT 20 00105300
|
|
"M := IMAGE [5] ;"@15-25 00105400
|
|
* SKIP 1 INDENT 20 00105500
|
|
( WORD [I] := "SCAN" ;) 00105600
|
|
* SKIP 1 INDENT 20 00105700
|
|
["] 00105800
|
|
* SKIP 1 INDENT 20 00105900
|
|
"" 00106000
|
|
*10 00106100
|
|
CHANGING THE OCCURRENCE OF A STRING (CHANGE) 00106200
|
|
*12 00106300
|
|
ENTIRE STRINGS MAY BE CHANGED IN A FILE BY USE OF THE "* CHANGE" 00106400
|
|
VERB. 00106500
|
|
*15 % CHANGE 24 00106600
|
|
* CHANGE <STRING> TO <STRING> 00106700
|
|
*22 00106800
|
|
SCANS THE CURRENT RECORD REPLACING EVERY OCCURRENCE OF THE FIRST STRING 00106900
|
|
WITH THE SECOND. IF NO "<STRING> TO <STRING>" APPEARS THE PREVIOUSLY 00107000
|
|
USED STRINGS WILL BE USED AGAIN. 00107010
|
|
* 15 00107100
|
|
* CHANGE <M> <STRING> TO <STRING> 00107200
|
|
*22 00107300
|
|
AS ABOVE, FOR THE RECORD WITH SEQUENCE NUMBER <M>. 00107400
|
|
* 15 00107500
|
|
* CHANGE <M>, <N> <STRING> TO <STRING> 00107600
|
|
*22 00107700
|
|
AS ABOVE, FOR ALL RECORDS FROM SEQUENCE NUMBER <M> TO <N>. 00107800
|
|
* 15 00107810
|
|
* CHANGE ECHO ON 00107820
|
|
* 15 00107830
|
|
* CHANGE ECHO OFF 00107840
|
|
* 15 00107842
|
|
* CHANGE ECHO 00107844
|
|
* 22 00107850
|
|
THE MODIFIED RECORDS WILL BE TYPED ON THE TELETYPE IF THE CHANGE ECHO 00107860
|
|
IS ON. (IT IS INITIALLY OFF.) THE ABOVE COMMANDS ARE USED TO SET THE 00107870
|
|
OPTION AND TO PRINT ITS CURRENT VALUE. ITS SETTING MAY BE REVERSED FOR 00107872
|
|
A COMMAND BY PREFIXING THE CHANGE WITH A -. (E.G. *-CHANGE "X" TO "Z".) 00107874
|
|
* 51 00107900
|
|
EXAMPLES: 00108000
|
|
* SKIP 2 00108100
|
|
00004200:* CHANGE "REMOTE/CARD" TO "R/C";*CHANGE 5300~ 00108200
|
|
00005300: 00108300
|
|
* SKIP 1 00108400
|
|
8700:* -CHANGE -1 .TWX.@25-30 TO "TELETYPWRITER"~ 00108500
|
|
8600: THE OUPUT IS TYPED ON THE TELETYPWRITER IF 00108550
|
|
00008600: 00108600
|
|
* SKIP 1 00108700
|
|
450:* CHANGE 232, 448 "IMAGE [I]" TO (Z [J])~ 00108800
|
|
WAIT... 00108810
|
|
00000448: 00108900
|
|
* SKIP 1 00108910
|
|
47000:* CHANGE 2200+6 " "@1 " "~ 00108920
|
|
00002800:* CHANGE +1+3 " "@1 ""~ 00108930
|
|
00003200: 00108940
|
|
*10 00109000
|
|
SCANNING FOR OCCURRENCE OF A STRING (SCAN) 00109100
|
|
* 15 % SCAN 31 00109200
|
|
* SCAN <STRING> 00109300
|
|
*22 00109400
|
|
SCANS THE FILE FROM THE CURRENT SEQUENCE NUMBER TO THE END OF THE 00109500
|
|
FILE OR UNTIL THE FIRST OCCURRENCE OF <STRING>. IF THE STRING 00109600
|
|
IS FOUND THE RECORD CONTAINING IT IS TYPED ON THE TELETYPEWRITER. 00109700
|
|
IF <STRING> IS ACTUALLY TWO <STRING>S THE SCAN STOPS AT THE FIRST 00109800
|
|
OCCURRENCE OF EITHER <STRING>. IF NO <STRING> APPEARS WITH THE 00109810
|
|
COMMAND, IT IS ASSUMED TO BE THE SAME <STRING> AS IN THE LAST "* SCAN" 00109900
|
|
OR "* CHANGE" COMMAND. IF THE SCAN VERB IS PREFIXED BY A -, 00110000
|
|
THE SCAN WILL BE FOR RECORDS NOT CONTAINING THE <STRING>. 00110005
|
|
* 15 00110100
|
|
* SCAN <M> <STRING> 00110200
|
|
*22 00110300
|
|
AS ABOVE, EXCEPT THAT THE SCAN BEGINS AT SEQUENCE NUMBER <M>. 00110400
|
|
* 15 00110500
|
|
* SCAN <M>, <N> <STRING> 00110600
|
|
*22 00110700
|
|
AS ABOVE, EXCEPT THAT THE SCANNING STOPS AFTER SEQUENCE NUMBER <N>. 00110800
|
|
* 15 00110900
|
|
* SCAN <FILE-NAME> <STRING> 00111000
|
|
* 22 00111100
|
|
THE FILE <FILE-NAME> IS SCANNED FOR <STRING>. 00111200
|
|
EVERY RECORD IN WHICH <STRING> OCCURS IS TYPED ON THE TELETYPEWRITER. 00111300
|
|
* 15 00111400
|
|
* SCAN <FILE-NAME> <M> <STRING> 00111500
|
|
*22 00111600
|
|
AS ABOVE, EXCEPT THE SCAN BEGINS AT RECORD NUMBER <M>. 00111700
|
|
* 15 00111800
|
|
* SCAN <FILE-NAME> <M>, <N> <STRING> 00111900
|
|
*22 00112000
|
|
AS ABOVE, EXCEPT THAT THE SCAN STOPS AFTER THE <N>-TH RECORD. 00112100
|
|
* 51 00112200
|
|
EXAMPLES: 00112300
|
|
* SKIP 2 00112400
|
|
:* SCAN LIBRARY/FILE "TABLE OF CONTENTS"@3~ 00112500
|
|
WAIT... 00112510
|
|
1:% TABLE OF CONTENTS ... READDATA 00112600
|
|
98:% TABLE OF CONTENTS ... READDATA 00112700
|
|
99:% TABLE OF CONTENTS ... WRITEDATA 00112800
|
|
273:% TABLE OF CONTENTS ... WRITEDATA 00112900
|
|
274:% TABLE OF CONTNETS ... DATE 00113000
|
|
285:% TABLE OF CONTENTS ... DATE 00113100
|
|
: 00113200
|
|
* SKIP 1 00113300
|
|
8700:* SCAN 1 .PRINTER. .LINE.~ 00113400
|
|
WAIT... 00113410
|
|
100: FILE PRINTER 1 (2, 15) ; 00113500
|
|
101:* SCAN~ 00113600
|
|
WAIT... 00113610
|
|
2400: WRITE (LINE, F, LISTA) ; 00113700
|
|
2401:* SCAN~ 00113800
|
|
WAIT... 00113810
|
|
EOF NO STRING 00113900
|
|
8700: 00114000
|
|
* 10 00114100
|
|
RECORD FORMATING (EDIT) 00114200
|
|
*12 00114300
|
|
RECORDS MAY BE FORMATED BY THE FOLLOWING CONSTRUCTS: 00114400
|
|
* 15 % EDIT 20 00114500
|
|
* EDIT <M>, <N>: <F> 00114600
|
|
*22 00114700
|
|
EDITS EACH RECORD FROM SEQUENCE NUMBER <M> TO <N> ACCORDING TO THE 00114800
|
|
FORMAT RECORD WITH SEQUENCE NUMBER <F>. 00114900
|
|
*22 00115000
|
|
THE RESULT OF THE EDIT IS THAT EACH RECORD BECOMES IDENTICAL WITH 00115100
|
|
THE FORMAT RECORD EXCEPT WHERE THERE IS A "#" OR "@" CHARACTER IN 00115200
|
|
FORMAT RECORD. EACH "@" IS REPLACED BY THE NEXT CHARACTER OF THE 00115300
|
|
INPUT RECORD. EACH "#" SKIPS THE NEXT CHARACTER OF THE INPUT RECORD. 00115400
|
|
* 15 00115410
|
|
* EDIT ECHO ON 00115420
|
|
* 15 00115430
|
|
* EDIT ECHO OFF 00115440
|
|
* 15 00115442
|
|
* EDIT ECHO 00115444
|
|
* 22 00115450
|
|
THE MODIFIED RECORDS WILL BE TYPED ON THE TELETYPE IF THE EDIT ECHO 00115460
|
|
IS ON. (IT IS INITIALLY OFF.) THE ABOVE COMMANDS ARE USED TO SET THE 00115470
|
|
ECHO AND TO PRINT ITS CURRENT SETTING. IT SETTING MAY BE REVERSED FOR A 00115472
|
|
COMMAND BY PREFIXING THE EDIT WITH A -. (E.G. *- EDIT 200,800:2.) 00115474
|
|
* 51 00115500
|
|
EXAMPLE: 00115600
|
|
* 51 00115700
|
|
100:1234567890~ 00115900
|
|
200:ABCDEFGHIJK~ 00116000
|
|
300: @@@...@@. THIS IS THE WAY THE LINE ENDS...@##@@@~ 00116100
|
|
400:* -EDIT 100, 200:300~ 00116200
|
|
100: 123...45. THIS IS THE WAY THE LINE ENDS...690 00116300
|
|
200: ABC...DE. THIS IS THE WAY THE LINE ENDS...FIJK 00116400
|
|
*10 00117200
|
|
RESEQUENCING RECORD NUMBERS (RESEQ) 00117300
|
|
*12 00117400
|
|
FILE SEQUENCE NUMBERS MAY BE MODIFIED BY THE FOLLOWING CONSTRUCTS: 00117500
|
|
* 15 % RESEQ 20 00117600
|
|
* RESEQ 00117700
|
|
*22 00117800
|
|
RESEQUENCES THE FILE BY THE CURRENT INCREMENT COUNTER. 00117900
|
|
* 15 00118000
|
|
* RESEQ <I> 00118100
|
|
*22 00118200
|
|
SETS THE INCREMENT COUNTER TO <I> AND RESEQUENCES. 00118300
|
|
* 15 00118400
|
|
* RESEQ <M>, <N> 00118500
|
|
*22 00118600
|
|
RESEQUENCES THE SEQUENCE NUMBERS <M> THRU <N> BY THE CURRENT 00118700
|
|
INCREMENT COUNTER. THE FIRST SEQUENCE NUMBER IS <M>. 00118800
|
|
*15 00118900
|
|
* RESEQ <M>, <N>, <K> 00119000
|
|
*22 00119100
|
|
AS ABOVE, EXCEPT THAT THE FIRST SEQUENCE NUMBER IS <K>. 00119200
|
|
* 15 00119300
|
|
* RESEQ <M>, <N>, <K>, <I> 00119400
|
|
*22 00119500
|
|
AS ABOVE, EXCEPT THE INCREMENT IS SET TO <I> FIRST. 00119600
|
|
* 51 00119700
|
|
EXAMPLES: 00119800
|
|
* SKIP 2 00119900
|
|
895:* RESEQ~ 00120000
|
|
323:* RESEQ 100~ 00120100
|
|
32300: 00120200
|
|
*10 00120300
|
|
DELETION OF RECORDS (DELETE) 00120400
|
|
*12 00120500
|
|
RECORDS MAY BE DELETED FROM A FILE BY THE FOLLOWING CONSTRUCTS: 00120600
|
|
* 15 % DELETE 11 00120700
|
|
* DELETE <M> 00120800
|
|
*22 00120900
|
|
DELETES CARD IMAGE <M>. 00121000
|
|
* 15 00121100
|
|
* DELETE <M>, <N> 00121200
|
|
*22 00121300
|
|
DELETES CARD IMAGES <M> THROUGH <N>. 00121400
|
|
* 15 00121410
|
|
* DELETE 00121420
|
|
* 22 00121430
|
|
DELETES THE CURRENT CARD. 00121440
|
|
*51 00121500
|
|
EXAMPLES: 00121600
|
|
* SKIP 2 00121700
|
|
3400:* DELETE 3300~ 00121800
|
|
3300: 00121900
|
|
* SKIP 1 00122000
|
|
2100:* DELETE 1500, + 3;* LIST 1400,2000~ 00122100
|
|
1400: BEGIN 00122200
|
|
1900: GO TO ERROR ; 00122300
|
|
2000: END ; 00122400
|
|
2100: 00122500
|
|
* SKIP 1 00122510
|
|
2100:* 2000~ 00122520
|
|
2000: END ; 00122530
|
|
00002000:*DELETE~ 00122540
|
|
2000: 00122550
|
|
*01 00122700
|
|
OPERATIONAL COMMANDS 00123000
|
|
* 10 00123100
|
|
SET THE INCREMENT COUNTER (INC) 00123200
|
|
*12 00123300
|
|
THE INCREMENT COUNTER MAY BE SET BY 00123400
|
|
THE CONSTRUCT "* INC". 00123500
|
|
* 15 % INC 7 00123600
|
|
* INC <N> 00123700
|
|
*22 00123800
|
|
THIS CONSTRUCT SETS THE INCREMENT COUNTER TO <N>. 00123900
|
|
* 15 00123910
|
|
* INC 00123920
|
|
* 22 00123930
|
|
THIS CONSTRUCT PRINTS THE CURRENT VALUE. 00123940
|
|
*51 00124000
|
|
EXAMPLES: 00124100
|
|
* SKIP 2 00124200
|
|
100:BEGIN~ 00124300
|
|
200: INTEGER I, J, K ;~ 00124400
|
|
300:* INC 3~ 00124500
|
|
300: BOOLEAN B ;~ 00124600
|
|
303: REAL X, Y, Z ;~ 00124700
|
|
306: 00124800
|
|
*10 00124900
|
|
NON-TELETYPEWRITER CHARACTERS (PERCENT) 00125000
|
|
*12 00125100
|
|
SPECIAL CHARACTERS ON THE B5500 BUT NOT AVAILABLE ON THE 00125200
|
|
TELETYPEWRITER KEYBOARD (INCLUDING THE QUESTION MARK "?") 00125300
|
|
MAY BE INSERTED INTO R/C MAINTAINED FILES BY THE "* PERCENT" 00125400
|
|
CONSTRUCT. 00125500
|
|
* 15 % PERCENT 28 00125600
|
|
* PERCENT ON 00125700
|
|
* 15 00125800
|
|
* PERCENT OFF 00125900
|
|
* 15 00125910
|
|
* PERCENT 00125920
|
|
*22 00126000
|
|
THE "* PERCENT" CONSTRUCTS ALLOW A USER TO INPUT THE SPECIAL RESERVED 00126100
|
|
CHARACTERS (I.E. LEFT-ARROW, NEQ, LSS, GEQ, GTR, LEQ, AND ?). THE ABOVE 00126200
|
|
COMMANDS ARE USED TO SET THE OPTION AND TO PRINT ITS CURRENT SETTING. 00126300
|
|
WHEN THE PERCENT OPTION IS ON, INPUT FROM THE TELETYPEWRITER IS SCANNED 00126700
|
|
FOR SPECIAL CHARACTER PAIRS. IF A PAIR IS FOUND IT IS REPLACED BY THE 00126800
|
|
SINGLE CHARACTER AS FOLLOWS: 00126900
|
|
* SKIP 2 TAB 15, 35 00127000
|
|
CHARACTER PAIR/ INTERNAL CHARACTER / 00127100
|
|
--------------/ ------------------ / 00127200
|
|
* TAB 22, 44 00127300
|
|
%- / ~ (LEFT ARROW) / 00127400
|
|
%= / ! (NEQ) / 00127500
|
|
%( / < (LSS) / 00127600
|
|
%) / > (GTR) / 00127700
|
|
%[ / { (LEQ) / 00127800
|
|
%] / } (GEQ) / 00127900
|
|
%% / ? (QUESTION MARK) / 00128000
|
|
%* / * (STAR) (1ST CHR ONLY) / 00128100
|
|
*22 00128200
|
|
A "%" FOLLOWED BY ANY OTHER CHARACTER REMAINS AS IS. 00128300
|
|
WHEN THE PERCENT OPTION IS ON, THE TRANSLATION TAKES PLACE 00128400
|
|
IMMEDIATELY. HENCE ONLY ONE BACKSPACE (SHIFT 7) IS NEEDED. 00128500
|
|
*51 00128600
|
|
EXAMPLES: 00128700
|
|
* SKIP 2 00128800
|
|
100:* PERCENT OFF~ 00128900
|
|
100:%% COMPILE ... %= %( %A~ 00129000
|
|
200:* PERCENT ON~ 00129100
|
|
200:%% COMPILE ... %= %( %A~ 00129200
|
|
300:* LIST~ 00129300
|
|
100:%% COMPILE ... %= %( %A 00129400
|
|
200:? COMPILE ... ! < %A 00129500
|
|
300: 00129600
|
|
*22 00129700
|
|
NOTE THAT ON THE TELETYPWRITER THE CHARACTERS 00129800
|
|
"!" AND "<" WOULD HAVE BEEN TYPED AS A "$". 00129900
|
|
*10 00130000
|
|
R/C VERB RENAMING (REPLACE) 00130100
|
|
*12 00130200
|
|
R/C VERBS MAY BE REPLACED BY OTHER WORDS THROUGH THE CONSTRUCT 00130300
|
|
"* REPLACE". 00130400
|
|
* 15 % REPLACE 3 00130500
|
|
* REPLACE <A>:<B> 00130600
|
|
*22 00130700
|
|
THE REPLACE VERB RENAMES THE VERB <A> WITH THE WORD <B>. 00130800
|
|
* 51 00130900
|
|
EXAMPLES: 00131000
|
|
* SKIP 2 00131100
|
|
:* REPLACE LIST:TYPE~ 00131200
|
|
:* REPLACE INLINE:IN~ 00131300
|
|
:* REPLACE REPLACE:R~ 00131400
|
|
:* R CHANGE:C~ 00131500
|
|
: 00131600
|
|
*10 00131700
|
|
AUTOMATIC FIRST CHARACTER PLACEMENT (TAB) 00131800
|
|
*12 00131900
|
|
R/C USERS MAY INITIALLY (AUTOMATICALLY) PRE-POSITION THE 00132000
|
|
PRINT BALL AT ANY COLUMN BY USE OF THE "* TAB" CONSTRUCT. 00132100
|
|
* 15 % TAB 20 00132200
|
|
* TAB <N> 00132300
|
|
*22 00132400
|
|
SETS UP AUTOMATIC INDENTING TO POSITION <N>, WHERE 1 LEQ <N> LEQ 54. 00132500
|
|
* 15 00132510
|
|
* TAB +<N> 00132520
|
|
* 15 00132530
|
|
* TAB -<N> 00132540
|
|
* 22 00132550
|
|
ADJUSTS THE TAB AMOUNT BY THE VALUE OF <N>. 00132560
|
|
* 15 00132562
|
|
* TAB ON 00132564
|
|
* 15 00132566
|
|
* TAB OFF 00132567
|
|
* 15 00132568
|
|
* TAB 00132569
|
|
* 22 00132570
|
|
THE TAB OPTION PERMITS THE USER (BY SETTING THE OPTION OFF) TO 00132572
|
|
SURPRESS THE TAB SPACING ON THE TELETYPEWRITER. THE AUTOMATIC 00132574
|
|
INDENTING STILL APPLIES TO THE RECORDS CREATED. THE LAST CONSTRUCT 00132576
|
|
PRINTS BOTH THE SETTING OF THE OPTION AND THE TAB VALUE. 00132578
|
|
*51 00132600
|
|
EXAMPLE: 00132700
|
|
* SKIP 2 00132800
|
|
4500:* TAB 5~ 00132900
|
|
4500: BEGIN~ 00133000
|
|
4600: * TAB+2~ 00133100
|
|
4600: K := K + DELTAK ;~ 00133200
|
|
4700: * TAB - 2;END ;~ 00133300
|
|
4800: * TAB 1~ 00133400
|
|
4800: 00133500
|
|
* 10 00133600
|
|
SETTING THE SAVE FACTOR (SAVE) 00133700
|
|
* 12 00133800
|
|
THE SAVE FACTOR OF A DISK FILE IS THE NUMBER OF DAYS 00133900
|
|
AFTER ITS LAST ACCESS BEFORE IT WILL BE CONSIDERED EXPIRED. 00134000
|
|
THE SAVE FACTOR FOR A NEW USER IS SET AT 7 DAYS. IT MAY BE 00134100
|
|
CHANGED BY: 00134200
|
|
* 15 % SAVE 7 00134300
|
|
* SAVE <N> 00134400
|
|
* 22 00134500
|
|
SETS THE SAVE FACTOR AT <N> DAYS. 00134600
|
|
* 15 00134610
|
|
* SAVE 00134620
|
|
* 22 00134630
|
|
PRINTS THE CURRENT VALUE OF THE SAVE FACTOR. 00134640
|
|
*51 00134700
|
|
EXAMPLE: 00134800
|
|
* SKIP 2 00134900
|
|
:* SAVE 10~ 00135000
|
|
: 00135100
|
|
*10 00135200
|
|
TABULATING (COLUMN) 00135300
|
|
* 15 % COLUMN 17 00135400
|
|
* COLUMN <OPTIONAL STRING> 00135500
|
|
* 15 00135600
|
|
* COLUMN ON <OPTIONAL STRING> 00135700
|
|
* 15 00135800
|
|
* COLUMN OFF <OPTIONAL STRING> 00135900
|
|
* 15 00136000
|
|
* COLUMN <STP1> <STP2> <STP3> <STP4> <OPTL STRING> 00136100
|
|
* 22 00136200
|
|
THE COLUMN VERB IS USED TO SET UP COLUMN POSITIONS AND INDICATE 00136300
|
|
WHAT CHARACTER IS THE COLUMN CHARACTER. THE FIRST FORM PRINTS THE 00136400
|
|
CURRENT SETTINGS. THE SECOND AND THIRD FORMS ARE USED TO TURN THE 00136500
|
|
OPTION ON OR OFF. THE FOURTH FORM SETS UP FROM 1 TO 4 COLUMN 00136600
|
|
POSITIONS. ANY FORM MAY SET THE COLUMN CHARACTER. 00136700
|
|
* 22 00136800
|
|
WHEN THE OPTION IS ON, EACH OCCURENCE OF THE COLUMN CHARACTER 00136900
|
|
IN AN INPUT RECORD CAUSES BLANKS TO BE INSERTED TO THE NEXT 00137000
|
|
HIGHER COLUMN POSITION. 00137100
|
|
* 51 00137200
|
|
EXAMPLE: 00137300
|
|
* SKIP 2 00137400
|
|
:COLUMN ON "#";* COLUMN 10 20 25;COLUMN~ 00137500
|
|
COLUMN ON # 10 20 25 00137600
|
|
:OPEN COLUMN/SHOW ALGOL NEW~ 00137700
|
|
100:ABC#123#XYZ#IJK#789~ 00137800
|
|
200:* LIST~ 00137900
|
|
100:ABC 123 XYZ IJK#789 00138000
|
|
200:123456789012345678901234567890~ 00138100
|
|
300: 00138150
|
|
*01 00138250
|
|
AUXILIARY COMMANDS 00138500
|
|
*10 00138600
|
|
MESSAGES TO OTHERS (MAIL) 00138700
|
|
*12 00138800
|
|
MESSAGES MAY BE RECEIVED FROM, AND SENT TO, OTHER USERS OF R/C 00138900
|
|
BY THE "* MAIL" VERB DESCRIBED BELOW. 00139000
|
|
* 15 % MAIL 8 00139100
|
|
* MAIL 00139200
|
|
*22 00139300
|
|
THIS LISTS THE MAIL SENT TO YOU, AND REMOVES IT FROM YOUR "MAIL-BOX". 00139400
|
|
* 15 00139500
|
|
* MAIL TO <USERCODE>: MESSAGE 00139600
|
|
*22 00139700
|
|
THIS ADDS YOUR MESSAGE TO THE <USERCODE>-S MAIL. 00139800
|
|
*51 00139900
|
|
EXAMPLES: 00140000
|
|
* SKIP 2 00140100
|
|
:* MAIL~ 00140200
|
|
PLEASE SEE ME WHEN YOU GET A CHANCE-BALDWIN 00140300
|
|
THERE WILL NOT BE ANY REMOTE TIME 10/24/70-SYSTEM 00140400
|
|
:* MAIL TO BALDWIN:MY OFFICE- 10AM- FRIDAY~ 00140500
|
|
*10 00140600
|
|
HOW TO DETACH YOURSELF FROM R/C (END) 00140700
|
|
*12 00140800
|
|
THREE METHODS ARE AVAILABLE TO THE USER WHEN HE WISHES TO 00140900
|
|
MAKE AN EXIT FROM R/C: 00141000
|
|
* 15 % END 18 00141100
|
|
* END 00141200
|
|
* 15 00141300
|
|
* END <X> 00141400
|
|
* 15 00141500
|
|
* END DS 00141600
|
|
*22 00141700
|
|
THE FIRST CONSTRUCT DETACHES THE USER FROM R/C. 00141800
|
|
*22 00141900
|
|
THE SECOND CONSTRUCT CAUSES R/C TO REMEMBER, FROM ONE RUN TO THE NEXT, 00142000
|
|
THE VALUES OF THE OPTIONS AND THE EFFECTS OF THE "* REPLACE" VERB. THE 00142100
|
|
"* END" CONSTRUCT DOES NOT GENERATE THIS LASTING EFFECT. <X> DENOTES 00142200
|
|
ANY ALPHANUMERIC CHARACTER STRING. 00142300
|
|
*22 00142400
|
|
THE THIRD CONSTRUCT ALLOWS A USER TO END WITHOUT CLOSING THE OPEN 00142500
|
|
FILE. R/C REMEMBERS THE FILE STRUCTURE FOR THE NEXT TIME. HOWEVER THE 00142600
|
|
FILE SHOULD NOT BE ACCESSED BY ANY OTHER PROGRAM UNTIL IT IS CLOSED 00142700
|
|
USING R/C. THIS FORM CAN BE USED WHEN THE FILE EDITING IS SPLIT OVER 00142800
|
|
MORE THAN ONE RUNNING OF R/C. 00142850
|
|
*51 00142900
|
|
EXAMPLES: 00143000
|
|
* SKIP 2 00143100
|
|
:* END~ 00143200
|
|
GOOD BYE 00143300
|
|
* SKIP 1 00143400
|
|
634:* END X~ 00143500
|
|
WAIT... 00143510
|
|
GOOD BYE 00143600
|
|
* SKIP 1 00143700
|
|
892:* END DS~ 00143800
|
|
GOOD BYE 00143900
|
|
*10 00144000
|
|
LEARNING ABOUT R/C ON THE TELETYPWRITER (TEACH) 00144100
|
|
* 12 00144200
|
|
THE TEACH VERB ALLOWS A USER AT THE TELETYPWRITER TO LEARN 00144300
|
|
ABOUT THE R/C VERBS AND SPECIFICALLY WHAT VERBS HE MAY USE. 00144400
|
|
* 15 % TEACH 9 00144500
|
|
* TEACH 00144600
|
|
* 22 00144700
|
|
THIS LISTS THE VERBS THAT YOU ARE PERMITTED TO USE. THE LIST 00144800
|
|
REFLECTS THE USE OF REPLACE ON ANY OF THE VERBS. 00144900
|
|
* INDENT 1 00145000
|
|
* 15 00145100
|
|
* TEACH <VERB> 00145200
|
|
* 22 00145300
|
|
THIS LISTS THE SYNTAX AND SEMANTICS OF THE RESERVED WORD <VERB>. 00145400
|
|
* 51 00145500
|
|
EXAMPLES: 00145600
|
|
* SKIP 2 00145700
|
|
:* TEACH SAVE~ 00145800
|
|
* SAVE $N$ 00145900
|
|
SETS THE SAVE FACTOR AT $N$ DAYS. 00146000
|
|
* SAVE 00146010
|
|
PRINTS THE CURRENT VALUE OF THE SAVE FACTOR. 00146020
|
|
: 00146100
|
|
* SKIP 1 00146200
|
|
121970:* TEACH~ 00146300
|
|
THE VALID REQUESTS ARE: 00146400
|
|
EXECUTE DITTO COPY IN ZIP C EDIT 00146500
|
|
SAVE RESEQ PUNCH PRINT DELETE CLOSE COMPILE00146600
|
|
COLUMN SCAN LISTING INC TAB PERCENT QUICK 00146700
|
|
LIST OPEN MAIL TEACH REMOVE REPLACE END 00146800
|
|
FOR SYNTAX OF A VERB (E.G. TAB), INPUT: 00147000
|
|
* TEACH VERB. (E.G. * TEACH TAB) 00147050
|
|
121970: 00147100
|
|
* 22 00147200
|
|
NOTE THAT THE USE OF THE REPLACE VERB (FOR INLINE AND CHANGE) 00147300
|
|
IS REFLECTED BY THE TEACH VERB. 00147400
|
|
*01 00147404
|
|
MACRO VERB 00147410
|
|
*10 00147412
|
|
MACRO (EXECUTE) 00147414
|
|
*12 00147416
|
|
THE EXECUTE VERB GIVES R/C USERS A SIMPLE MACRO 00147418
|
|
CAPABILITY. 00147420
|
|
* 15 % EXECUTE 38 00147422
|
|
* EXECUTE <SOURCE> <OPTIONAL PARAMETER LIST> 00147424
|
|
*22 00147426
|
|
RECORDS ARE READ FROM THE <SOURCE> AND TREATED AS IF THEY CAME 00147428
|
|
FROM THE TELETYPE. HENCE, THEY MAY CONTAIN COMMANDS. 00147430
|
|
THE <OPTIONAL PARAMETER LIST>, IF PRESENT, CONTAINS FROM 0 00147432
|
|
TO 5 PARAMETERS ENCLOSED WITHIN PARENTHESIS AND MAY BE FOLLOWED 00147434
|
|
BY A REPEAT FACTOR. EACH PARAMETER MAY BE A SEQUENCE NUMBER, 00147436
|
|
A RELATIVE SEQUENCE NUMBER, A RECORD NUMBER, A FILE PREFIX, 00147438
|
|
A FILE SUFFIX, OR A VERB. WITHIN THE <SOURCE> THE PARAMETERS 00147440
|
|
ARE REFERRED TO BY #1, #2, ..., #5. THE REPEAT FACTOR IS AN 00147442
|
|
INTEGER FROM 0 TO 999 AND INDICATES THE NUMBER OF TIMES TO 00147444
|
|
PERFORM THE EXECUTE. IF IT IS NOT SPECIFIED, IT IS ASSUMED 00147446
|
|
TO BE 1. 00147448
|
|
* 15 00147450
|
|
* EXECUTE ECHO ON 00147452
|
|
* 15 00147453
|
|
* EXECUTE ECHO OFF 00147454
|
|
* 15 00147455
|
|
* EXECUTE ECHO 00147456
|
|
*22 00147458
|
|
IF THE EXECUTE ECHO IS ON, EACH RECORD WILL BE TYPED ON THE 00147460
|
|
TELETYPE BEFORE IT IS EXECUTED. IT IS INITIALLY OFF. IT MAY 00147462
|
|
BE REVERSED FOR ONE COMMAND BY PREFIXING THE COMMAND BY A -. 00147464
|
|
*15 00147466
|
|
* EXECUTE LIBRARY = <NAME> 00147468
|
|
* 15 00147469
|
|
* EXECUTE LIBRARY 00147470
|
|
*22 00147472
|
|
THE EXECUTE LIBRARY FACILITY ALLOWS THE USER TO ABBREVIATE: 00147474
|
|
* SKIP 1 00147476
|
|
* EXECUTE <FILE PREFIX>/<MACRO LIBRARY> (P1,P2,P3,P4)00147478
|
|
* SKIP 1 00147480
|
|
WITH: 00147482
|
|
*SKIP 1 00147484
|
|
* <FILE PREFIX> P1,P2,P3,P4 00147486
|
|
*22 00147488
|
|
THE <MACRO LIBRARY> IS "MACRO" AND ANY OTHER NAME DESIGNATED 00147490
|
|
THRU THE * EXECUTE LIBRARY = <NAME> COMMAND. 00147492
|
|
* 51 00147494
|
|
EXAMPLES: 00147496
|
|
* SKIP 2 00147498
|
|
:* OPEN CREATE/MACRO DATA NEW~ 00147500
|
|
100:%* OPEN #1/#2 #3 NEW~ 00147502
|
|
200:* CLOSE~ 00147504
|
|
:* CREATE MOVE/MACRO DATA~ 00147506
|
|
100:%* DITTO #1,#2 MOVE~ 00147508
|
|
200:*CLOSE~ 00147510
|
|
: 00147512
|
|
* SKIP 1 00147514
|
|
5700:* TEACH CC~ 00147516
|
|
1:* SCAN + 1 "$$"@1 00147518
|
|
2:* DELETE -1 00147520
|
|
3:? COMPILE SOME/JOB FORTRAN. 00147522
|
|
4:? DATA 00147524
|
|
5:FILE 6=FILE6, UNIT = PRINTER 00147525
|
|
5700:*1;* INC 10;*EXECUTE CC/MACRO ()@2~ 00147526
|
|
WAIT... 00147528
|
|
2200:$$ JOB 00147530
|
|
2900:$$ IBJOB 00147534
|
|
2840: 00147536
|
|
* PAGEID 1, " A-" 00147550
|
|
*01 00147600
|
|
APPENDIX A 00147700
|
|
* INDEX CENTER UNDERLINE 00147800
|
|
R/C SOURCE TAPE 00147900
|
|
*SKIP 10 PARAGRAPH 10,72,5 00148000
|
|
R/C RESIDES ON A SYSTEM DUMP TAPE CONTAINING THE FILES 00148100
|
|
* 51 00148200
|
|
1. RCSY94/RON 00148300
|
|
*INDENT 15 00148400
|
|
2. TEACHER/0000094 00148500
|
|
* INDENT 15 00148600
|
|
3. XREF/JONES 00148700
|
|
* 51 00148800
|
|
THE FILES SHOULD BE LOADED USING THE CONTROL DECK: 00148900
|
|
* SKIP 2 INDENT 11 00149000
|
|
* INVALID 1 00149010
|
|
LOAD FROM RC RCSY94/RON,TEACHER/0000094,XREF/JONES. 00149100
|
|
? END. 00149200
|
|
*12 00149300
|
|
RCSY94/RON IS THE SOURCE FILE FOR THE PROGRAM R/C. IT 00149400
|
|
SHOULD BE COMPILED WITH: 00149500
|
|
* 51 00149600
|
|
? COMPILE R/C WITH ALGOL FOR LIBRARY. 00149700
|
|
* INVALID 1 00149710
|
|
ALGOL FILE TAPE = RCSY94/RON SERIAL. 00149800
|
|
? STACK = 256. 00149900
|
|
? CORE = 2800. = 2500 + 100 | MAXUSERS. 00150000
|
|
? PRIORITY = 1. 00150100
|
|
? DATA 00150200
|
|
$ TAPE 00150300
|
|
* INDENT 63 00150400
|
|
99999999 00150500
|
|
* INDENT 15 00150600
|
|
? END. 00150700
|
|
*12 00150800
|
|
WHEN PATCHES ARE ISSUED THEY SHOULD BE PLACED AFTER THE 00150900
|
|
"$ TAPE" CARD AND R/C SHOULD BE RECOMPILED. 00151000
|
|
*12 00151100
|
|
THE MAXIMUM NUMBER OF USERS HANDLED BY R/C IS DEFINED 00151200
|
|
TO BE 3 IN RCSY94/RON. TO INCREASE THE NUMBER, A PATCH CARD 00151300
|
|
MUST BE ADDED. AS AN EXAMPLE, THE FOLLOWING CARD SHOULD 00151400
|
|
BE ADDED TO INCREASE THE MAXIMUM NUMBER OF USERS TO 5. 00151500
|
|
*TAB 13,66 00151600
|
|
DEFINE MAXUSERS = 5#, MAXUSER =4# ; /00002500 / 00151700
|
|
* 12 00152110
|
|
THE OUTPUT BUFFERS ARE DEFINED TO BE 56 CHARACTERS IN RCSY94/RON. 00152120
|
|
THEY MAY BE SET AT 28 CHARACTERS USING THE FOLLOWING PATCH CARDS: 00152130
|
|
* TAB 13,66 00152140
|
|
DEFINE CHRSPERBUFFER = 28#, % OR 56/00002600 / 00152150
|
|
WORDSPERBUFFER = 5#, % OR 8/00002700 / 00152160
|
|
WRDSPERBUFFER = 4# ; % OR 7/00002800 / 00152170
|
|
*12 00152200
|
|
TEACHER/0000094 IS AN AUXILIARY FILE USED BY R/C. IT 00152300
|
|
IS ALSO THE USERS REFERENCE MANUAL. THE PROGRAM XREF/JONES 00152400
|
|
IS PROVIDED FOR GENERATING THE REFERENCE MANUAL AND FOR 00152500
|
|
UPDATING THE TEACHER FILE. (NOTE, ONLY THE OBJECT CODE FOR 00152600
|
|
XREF/JONES IS INCLUDED. THE SOURCE CAN BE OBTAINED THROUGH 00152700
|
|
THE CUBE LIBRARY ON REQUEST.) 00152800
|
|
*12 00152900
|
|
THE FOLLOWING DECK WILL PRODUCE A USERS REFERENCE MANUAL. 00153000
|
|
* 51 00153100
|
|
? EXECUTE XREF/JONES. 00153200
|
|
* INVALID 1 00153290
|
|
FILE DISK = TEACHER/0000094. 00153300
|
|
? DATA CARD. 00153400
|
|
$ DISK SIX DOCONLY DOCUMENT FINAL 00153500
|
|
* INDENT 63 00153600
|
|
99999999 00153700
|
|
* INDENT 15 00153800
|
|
? END. 00153900
|
|
* 12 00154000
|
|
PATCHES TO R/C AND THE TEACHER FILE WILL BE ISSUED THRU CUBE. 00154100
|
|
RATHER THAN PATCH DECKS, NEW SYMBOLIC FILES WILL BE INCLUDED 00154200
|
|
ON THE CUBE TAPE. THE SEQUENCE NUMBERS WILL REMAIN THE SAME 00154300
|
|
EXCEPT IN THE PATCHED AREA. 00154400
|
|
* PAGEID 1, " B-" 00155700
|
|
*01 00155800
|
|
APPENDIX B 00155900
|
|
* INDEX CENTER UNDERLINE 00800300
|
|
R / C USER-S GUIDE 00800400
|
|
* PAGE 00800500
|
|
* CHANGE <STRING-1> TO <STRING-2> 00800600
|
|
* CHANGE <SEQ NUMBER> <STRING-1> TO <STRING-2> 00800700
|
|
* CHANGE <START SEQ NUMBER> <END SEQ NUMBER> <STRING-1> TO <STRING-2> 00800800
|
|
* CHANGE ECHO ON 00800900
|
|
* CHANGE ECHO OFF 00801000
|
|
* CHANGE ECHO 00801010
|
|
* -CHANGE <STRING-1> TO <STRING-2> 00801100
|
|
* -CHANGE <SEQ NUMBER> <STRING-1> TO <STRING-2> 00801200
|
|
* -CHANGE <START SEQ NUMBER> <END SEQ NUMBER> <STRING-1> TO <STRING-2> 00801300
|
|
* CLOSE 00801400
|
|
* COLUMN <OPTIONAL STRING> 00801410
|
|
* COLUMN ON <OPTIONAL STRING> 00801420
|
|
* COLUMN OFF <OPTIONAL STRING> 00801430
|
|
* COLUMN <STOP-1> <STOP-2> <STOP-3> <STOP-4> <OPTIOANL STRING> 00801440
|
|
* COMPILE <OBJECT FILE-NAME> 00801500
|
|
* COMPILE <OBJECT FILE-NAME> <COMPILER> 00801600
|
|
* COPY <FILE-NAME> 00801700
|
|
* COPY <FILE-NAME> <START RECORD NUMBER> 00801800
|
|
* COPY <FILE-NAME> <START RECORD NUMBER> <END RECORD NUMBER> 00801900
|
|
* COPY $(FILE-NAME> MERGE 00801910
|
|
* COPY OVERITE ON 00802000
|
|
* COPY OVERITE OFF 00802100
|
|
* COPY OVERITE 00802110
|
|
* -COPY <FILE-NAME> 00802200
|
|
* -COPY <FILE-NAME> <START RECORD NUMBER> 00802300
|
|
* -COPY <FILE-NAME> <START RECORD NUMBER> <END RECORD NUMBER> 00802400
|
|
* -COPY <FILE-NAME> MERGE 00802410
|
|
* DELETE <SEQ NUMBER> 00802500
|
|
* DELETE <START SEQ NUMBER> <END SEQ NUMBER> 00802600
|
|
* DELETE 00802610
|
|
* DITTO <SEQ NUMBER> 00802700
|
|
* DITTO <START SEQ NUMBER> <END SEQ NUMBER> 00802800
|
|
* DITTO OVERITE ON 00802900
|
|
* DITTO OVERITE OFF 00803000
|
|
* DITTO OVERITE 00803010
|
|
* -DITTO <SEQ NUMBER> 00803100
|
|
* -DITTO <START SEQ NUMBER> <END SEQ NUMBER> 00803200
|
|
* DITTO <SEQ NUMBER> MOVE 00803210
|
|
* DITTO <START SEQ NUMBER> <END SEQ NUMBER> MOVE 00803220
|
|
* EDIT <START SEQ NUMBER> <END SEQ NUMBER>:<FORMAT SEQ NUMBER> 00803300
|
|
* EDIT ECHO ON 00803400
|
|
* EDIT ECHO OFF 00803500
|
|
* EDIT ECHO 00803510
|
|
* -EDIT <START SEQ NUMBER> <END SEQ NUMBER>:<FORMAT SEQ NUMBER> 00803600
|
|
* END 00803700
|
|
* END <X> 00803800
|
|
* END DS 00803900
|
|
* EXECUTE <SOURCE> <OPTIONAL PARAMETER LIST> 00803902
|
|
*-EXECUTE <SOURCE> <OPTIONAL PARAMETER LIST> 00803904
|
|
* EXECUTE ECHO ON 00803906
|
|
* EXECUTE ECHO OFF 00803908
|
|
* EXECUTE ECHO 00803910
|
|
* EXECUTE LIBRARY = <NAME> 00803912
|
|
* EXECUTE LIBRARY 00803914
|
|
* INC <INCREMENT> 00804000
|
|
* INC 00804010
|
|
* INLINE <SEQ NUMBER> 00804100
|
|
* INLINE <SEQ NUMBER> I 00804200
|
|
* INLINE <SEQ NUMBER> R 00804300
|
|
* INLINE <SEQ NUMBER> D 00804400
|
|
* INLINE 00804500
|
|
* INLINE I 00804600
|
|
* INLINE R 00804700
|
|
* INLINE D 00804800
|
|
* INLINE ECHO ON 00804900
|
|
* INLINE ECHO OFF 00805000
|
|
* INLINE ECHO 00805010
|
|
* -INLINE <SEQ NUMBER> 00805100
|
|
* -INLINE <SEQ NUMBER> I 00805200
|
|
* -INLINE <SEQ NUMBER> R 00805300
|
|
* -INLINE <SEQ NUMBER> D 00805400
|
|
* -INLINE 00805500
|
|
* -INLINE I 00805600
|
|
* -INLINE R 00805700
|
|
* -INLINE D 00805800
|
|
* LIST 00805900
|
|
* LIST <FILE-NAME> 00806000
|
|
* LIST <FILE-NAME> NO 00806100
|
|
* LIST <FILE-NAME> <START RECORD NUMBER> 00806200
|
|
* LIST <FILE-NAME> <START RECORD NUMBER> <END RECORD NUMBER> 00806300
|
|
* LIST <SEQ NUMBER> 00806400
|
|
* LIST <START SEQ NUMBER> <END SEQ NUMBER> 00806500
|
|
* LISTING <FILE-TYPE> <SEGMENT> <LOW REL ADDR> <HIGH REL ADDR> 00806600
|
|
* LISTING <FILE-TYPE> ERRORS 00806700
|
|
* LISTING 00806800
|
|
* MAIL 00806900
|
|
* MAIL TO <USER-CODE>: <MESSAGE> 00807000
|
|
* OPEN <FILE-NAME> <FILE-TYPE> NEW 00807100
|
|
* OPEN <FILE-NAME> <FILE-TYPE> OLD 00807200
|
|
* OPEN <FILE-NAME> <FILE-TYPE> 00807300
|
|
* PERCENT ON 00807400
|
|
* PERCENT OFF 00807800
|
|
* PERCENT 00807810
|
|
* PRINT <IDENT-1> <IDENT-2> 00807900
|
|
* PRINT <IDENT-1> DOUBLE 00808000
|
|
* PRINT <IDENT-1> <IDENT-2> <START SEQ NUMBER> 00808100
|
|
* PRINT <IDENT-1> DOUBLE <START SEQ NUMBER> 00808200
|
|
* PRINT <IDENT-1> <IDENT-2> <START SEQ NUMBER> <END SEQ NUMBER> 00808300
|
|
* PRINT <IDENT-1> DOUBLE <START SEQ NUMBER> <END SEQ NUMBER> 00808400
|
|
* PUNCH <IDENT-1> <IDENT-2> 00808500
|
|
* PUNCH <IDENT-1> <IDENT-2> <START SEQ NUMBER> 00808600
|
|
* PUNCH <IDENT-1> <IDENT-2> <START SEQ NUMBER> <END SEQ NUMBER> 00808700
|
|
* QUICK 00808800
|
|
* QUICK <FILE-NAME> 00808900
|
|
* QUICK <FILE-NAME> NO 00809000
|
|
* QUICK <FILE-NAME> <START RECORD NUMBER> 00809100
|
|
* QUICK <FILE-NAME> <START RECORD NUMBER> <END RECORD NUMBER> 00809200
|
|
* QUICK <SEQ NUMBER> 00809300
|
|
* QUICK <START SEQ NUMBER> <END SEQ NUMBER> 00809400
|
|
* REMOVE <FILE-NAME> 00809500
|
|
* REPLACE <OLD VERB> : <NEW VERB> 00809600
|
|
* RESEQ 00809700
|
|
* RESEQ <INCREMENT> 00809800
|
|
* RESEQ <START SEQ NUMBER> <END SEQ NUMBER> 00809900
|
|
* RESEQ <START SEQ NUMBER> <END SEQ NUMBER> <NEW START SEQ NUMBER> 00810000
|
|
* RESEQ <START SEQ NUMBER> <END SEQ NUMBER> <NEW .. NUMBER> <INCREMENT>00810100
|
|
* SAVE <SAVE-FACTOR IN DAYS> 00810200
|
|
* SAVE 00810210
|
|
* SCAN <STRING> 00810300
|
|
* SCAN <START SEQ NUMBER> <STRING> 00810400
|
|
* SCAN <START SEQ NUMBER> <END SEQ NUMBER> <STRING> 00810500
|
|
* SCAN <FILE-NAME> <STRING> 00810600
|
|
* SCAN <FILE-NAME> <START RECORD NUMBER> <STRING> 00810700
|
|
* SCAN <FILE-NAME> <START RECORD NUMBER> <END RECORD NUMBER> <STRING> 00810800
|
|
* SCAN 00810900
|
|
* SCAN <START SEQ NUMBER> 00811000
|
|
* SCAN <START SEQ NUMBER> <END SEQ NUMBER> 00811100
|
|
* SCAN <FILE-NAME> 00811200
|
|
* SCAN <FILE-NAME> <START RECORD NUMBER> 00811300
|
|
* SCAN <FILE-NAME> <START RECORD NUMBER> <END RECORD NUMBER> 00811400
|
|
*-SCAN <STRING> 00811402
|
|
*-SCAN <START SEQ NUMBER> <STRING> 00811404
|
|
*-SCAN <START SEQ NUMBER> <END SEQ NUMBER> <STRING> 00811406
|
|
*-SCAN <FILE-NAME> <STRING> 00811408
|
|
*-SCAN <FILE-NAME> <START RECORD NUMBER> <STRING> 00811410
|
|
*-SCAN <FILE-NAME> <START RECORD NUMBER> <END RECORD NUMBER> <STRING> 00811412
|
|
*-SCAN 00811414
|
|
*-SCAN <START SEQ NUMBER> 00811416
|
|
*-SCAN <START SEQ NUMBER> <END SEQ NUMBER> 00811418
|
|
*-SCAN <FILE-NAME> 00811420
|
|
*-SCAN <FILE-NAME> <START RECORD NUMBER> 00811422
|
|
*-SCAN <FILE-NAME> <START RECORD NUMBER> <END RECORD NUMBER> 00811424
|
|
* TAB <COLUMN NUMBER> 00811500
|
|
* TAB + <OFF-SET NUMBER> 00811600
|
|
* TAB - <OFF-SET NUMBER> 00811700
|
|
* TAB ON 00811800
|
|
* TAB OFF 00811900
|
|
* TAB 00811910
|
|
* TEACH 00812000
|
|
* TEACH <VERB> 00812100
|
|
* ZIP 00812300
|
|
* ZIP <SCRATCH FILE-NAME> 00812400
|
|
* QUIT 02000000
|
|
* FINISH 02000010
|
|
; END. 02000020
|