From db57a9b4fd5a038ef5f6b85e7bedbffeedd57f91 Mon Sep 17 00:00:00 2001 From: Paul Kimpel Date: Sun, 22 May 2016 08:27:07 -0700 Subject: [PATCH] Shift R/C TEACHER/0000094 sequence numbers to the right by one digit to make the maximum sequence number less than 2^21. This allows the file to be accessed by R/C itself. --- RC-Ron-Brody/TEACHER.0000094.txt_m | 3828 ++++++++++++++-------------- 1 file changed, 1914 insertions(+), 1914 deletions(-) diff --git a/RC-Ron-Brody/TEACHER.0000094.txt_m b/RC-Ron-Brody/TEACHER.0000094.txt_m index 2a7b523..803f754 100644 --- a/RC-Ron-Brody/TEACHER.0000094.txt_m +++ b/RC-Ron-Brody/TEACHER.0000094.txt_m @@ -1,1916 +1,1916 @@ -16101647 0 EXECUTE 00001000 -08640890 1 DITTO 00001100 -09170945 2 COPY 00001200 -09831024 3 INLINE 00001300 -08190831 4 ZIP 00001400 -11051130 5 CHANGE 00001500 -12131233 6 EDIT 00001600 -14561463 7 SAVE 00001700 -12491269 8 RESEQ 00001800 -07200731 9 PUNCH 00001900 -06840696 10 PRINT 00002000 -12821293 11 DELETE 00002100 -05000503 12 CLOSE 00002200 -07440755 13 COMPILE 00002300 -14731490 14 COLUMN 00002400 -11521183 15 SCAN 00002500 -07800795 16 LISTING 00002600 -13181325 17 INC 00002700 -14161437 18 TAB 00002800 -13441374 19 PERCENT 00002900 -06240640 20 QUICK 00003000 -05310562 21 LIST 00003100 -04130427 22 OPEN 00003200 -15111518 23 MAIL 00003300 -15711579 24 TEACH 00003400 -06570664 25 REMOVE 00003500 -13971400 26 REPLACE 00003600 -15331551 27 END 00003700 -COMMENT DOCUMENT 00010000 -*DEFINE 1 = SKIP 2 PARAGRAPH 10,72,5 * 00011000 -*DEFINE 2 = SKIP 2 PARAGRAPH 15,72,5 * 00012000 -*DEFINE 3 = SKIP 1 PARAGRAPH 15,72,5 * 00013000 -*DEFINE 5 = PAGE SKIP 2 INDENT 5 INDEX UNDERLINE * 00015000 -*DEFINE 6 = ENDPAGE 8 SKIP 2 INDENT 5 INDEX UNDERLINE * 00016000 -*DEFINE 7 = PAGE INDEX CENTER UNDERLINE * 00017000 -*DEFINE 8 = PAGE SKIP 10 INDEX CENTER UNDERLINE * 00018000 -*DEFINE 15 = SKIP 2 INDENT 15 * 00025000 -*DEFINE 16 = SKIP 1 INDENT 15 * 00026000 -*DEFINE 17 = SKIP 2 INDENT 15 UNDERLINE * 00027000 -*DEFINE 20 = SKIP 2 INDENT 20 * 00030000 -*DEFINE 21 = SKIP 1 INDENT 20 * 00031000 -*DEFINE 25 = SKIP 2 * 00035000 -*DEFINE 26 = SKIP 1 * 00036000 -*SKIP 16 CENTER UNDERLINE 3 00100000 - R/C 00101000 - REFERENCE 00102000 - MANUAL 00103000 -*SKIP 25 INDENT 50 00104000 - BY 00105000 -*SKIP 2 INDENT 50 00105500 - RON BRODY 00106000 -*SKIP 2 INDENT 50 00106500 - 12/22/71 VERSION 94 00107000 -*SINGLE PAGE NO 00108000 +16101647 0 EXECUTE 00000100 +08640890 1 DITTO 00000110 +09170945 2 COPY 00000120 +09831024 3 INLINE 00000130 +08190831 4 ZIP 00000140 +11051130 5 CHANGE 00000150 +12131233 6 EDIT 00000160 +14561463 7 SAVE 00000170 +12491269 8 RESEQ 00000180 +07200731 9 PUNCH 00000190 +06840696 10 PRINT 00000200 +12821293 11 DELETE 00000210 +05000503 12 CLOSE 00000220 +07440755 13 COMPILE 00000230 +14731490 14 COLUMN 00000240 +11521183 15 SCAN 00000250 +07800795 16 LISTING 00000260 +13181325 17 INC 00000270 +14161437 18 TAB 00000280 +13441374 19 PERCENT 00000290 +06240640 20 QUICK 00000300 +05310562 21 LIST 00000310 +04130427 22 OPEN 00000320 +15111518 23 MAIL 00000330 +15711579 24 TEACH 00000340 +06570664 25 REMOVE 00000350 +13971400 26 REPLACE 00000360 +15331551 27 END 00000370 +COMMENT DOCUMENT 00001000 +*DEFINE 1 = SKIP 2 PARAGRAPH 10,72,5 * 00001100 +*DEFINE 2 = SKIP 2 PARAGRAPH 15,72,5 * 00001200 +*DEFINE 3 = SKIP 1 PARAGRAPH 15,72,5 * 00001300 +*DEFINE 5 = PAGE SKIP 2 INDENT 5 INDEX UNDERLINE * 00001500 +*DEFINE 6 = ENDPAGE 8 SKIP 2 INDENT 5 INDEX UNDERLINE * 00001600 +*DEFINE 7 = PAGE INDEX CENTER UNDERLINE * 00001700 +*DEFINE 8 = PAGE SKIP 10 INDEX CENTER UNDERLINE * 00001800 +*DEFINE 15 = SKIP 2 INDENT 15 * 00002500 +*DEFINE 16 = SKIP 1 INDENT 15 * 00002600 +*DEFINE 17 = SKIP 2 INDENT 15 UNDERLINE * 00002700 +*DEFINE 20 = SKIP 2 INDENT 20 * 00003000 +*DEFINE 21 = SKIP 1 INDENT 20 * 00003100 +*DEFINE 25 = SKIP 2 * 00003500 +*DEFINE 26 = SKIP 1 * 00003600 +*SKIP 16 CENTER UNDERLINE 3 00010000 + R/C 00010100 + REFERENCE 00010200 + MANUAL 00010300 +*SKIP 25 INDENT 50 00010400 + BY 00010500 +*SKIP 2 INDENT 50 00010550 + RON BRODY 00010600 +*SKIP 2 INDENT 50 00010650 + 12/22/71 VERSION 94 00010700 +*SINGLE PAGE NO 00010800 +*7 00020000 +INTRODUCTION 00020100 +*1 00020200 +R/C PERMITS A USER AT A REMOTE TELETYPEWRITER TO CREATE AND 00020300 +MAINTAIN SOURCE OR DATA FILES ON THE B5500 SYSTEM DISK. FILE 00020400 +TYPES CREATED AND MAINTAINED WITH R/C ARE: ALGOL, XALGOL, COBOL, 00020500 +FORTRAN, BASIC, AND DATA. THESE FILES REPRESENT NORMAL (80 00020600 +CHARACTER-PER-CARD) PUNCHED CARD DECKS EXCEPT THAT THEY ARE 00020700 +STORED ON THE DISK. EACH RECORD CAN BE THOUGHT OF AS ONE CARD. 00020800 +*1 00020900 +R/C ALLOWS THE USER TO: 00021000 +*SKIP 1 INDENT 14 00021100 + * CREATE A VARIETY OF FILES 00021200 +*INDENT 14 00021300 + * RESEQUENCE FILES 00021400 +*INDENT 14 00021500 + * PRINT OR PUNCH FILES 00021600 +*INDENT 14 00021700 + * DELETE OR INSERT RECORDS INTO A FILE 00021800 +*INDENT 14 00021900 + * MODIFY RECORDS WITHIN A FILE 00022000 +*INDENT 14 00022100 + * SCAN A FILE FOR THE OCCURRENCE OF A STRING 00022200 +* INDENT 16 00022300 + (OPTIONALLY REPLACING IT WITH ANOTHER STRING) 00022400 +*INDENT 14 00022500 + * REMOVE FILES 00022600 +*INDENT 14 00022700 + * COMPILE FILES 00022800 +*INDENT 14 00022900 + * PERFORM MANY OTHER FUNCTIONS 00023000 +*1 00023100 +THE TELETYPEWRITER (IN CONJUNCTION WITH THE PROGRAM R/C) CAN BE 00023200 +CONSIDERED A KEYPUNCH EXTENSION WHICH ELIMINATES PUNCHED CARDS. 00023300 +IT OFFERS GREAT FLEXIBILITY IN FILE HANDLING. 00023400 +*1 00023500 +R/C HAS TWO MAJOR RESTRICTIONS: 00023600 +*2 00023700 +WHILE THE SEQUENCE NUMBER 99999999 IS PERMITTED FOR CONVENIENCE, 00023800 +THE MAXIMUM SEQUENCE NUMBER IS 2097151 (2*21-1). 00023900 +*2 00024000 +THE MAXIMUM NUMBER OF RECORDS PERMITTED IN A FILE IS 8191. 00024100 +*1 00024200 +IN THE DISCUSSION OF CERTAIN R/C VERBS, SOME OF THE ELEMENTS OF THE 00024300 +SYNTAX ARE GIVEN AS , , , OR . IN EACH CASE, THESE 00024400 +ELEMENTS REPRESENT INTEGER VALUES WHICH MUST BE PROVIDED BY THE USER. 00024500 +THE VALUE MAY BE A RECORD NUMBER FOR SOME VERBS, THE SEQUENCE NUMBER 00024600 +FOR OTHERS, OR AN INCREMENT AMOUNT. THE BRACKETED CONSTRUCT IS ONLY A 00024700 +FORM OF NOTATION USED TO REPRESENT AN INTEGER PARAMETER. 00024800 +*7 00100000 +PROGRAM OPERATION AND RECORD SEQUENCING 00100100 +*1 00100200 +DURING CREATION AND FILE MAINTENANCE, R/C AUTOMATICALLY ADVANCES (BY 00100300 +THE CURRENT VALUE OF THE "INCREMENT") THE SEQUENCE NUMBER OF EACH 00100400 +RECORD THAT IS INPUT. THE USER MAY SET THIS INCREMENT TO ANY DESIRED 00100500 +VALUE THROUGH USE OF THE "*INC" VERB (SEE BELOW). THE INCREMENT VALUE 00100600 +IS INITIALIZED TO 100 WHEN THE USER FIRST RUNS R/C. 00100700 +*1 00100800 +THE INITIAL SEQUENCE NUMBER IS SET TO THE INCREMENT WHEN A NEW FILE IS 00100900 +OPENED BY A USER. FOR EXAMPLE, IF THE CURRENT INCREMENT WERE 100, THE 00101000 +FIRST SEQUENCE NUMBER IN THE FILE WOULD BE "100:". THIS INITIAL 00101100 +SEQUENCE NUMBER MAY BE CHANGED BY THE USER THROUGH THE USE OF THE 00101200 +CONSTRUCT "*", (SEE BELOW). 00101300 +*1 00101400 +AFTER EACH RECORD IS TYPED INTO THE FILE, THE SEQUENCE NUMBER OF THE 00101500 +NEXT RECORD IN THE FILE IS SET TO THE LAST SEQUENCE NUMBER PLUS THE 00101600 +INCREMENT. THIS SEQUENCE NUMBER IS NEXT TYPED ON THE TELETYPEWRITER. 00101700 +*1 00101800 +IF THE FILE TYPE IS NOT "COBOL", THE SEQUENCE NUMBER IS FOLLOWED BY 00101900 +A COLON. IF A RECORD ALREADY EXISTS WITH THIS SEQUENCE NUMBER, LEADING 00102000 +ZEROS ARE TYPED AS A WARNING; OTHERWISE LEADING ZEROS ARE SUPPRESSED. 00102100 +AFTER THE SEQUENCE NUMBER IS TYPED OUT, THE USER MAY THEN ENTER THE 00102200 +DESIRED CONTENTS FOR THAT SEQUENCE NUMBER OR MAY ENTER A VERB TO 00102300 +PERFORM SOME OTHER FUNCTION. 00102400 +*1 00102500 +ALTERNATIVELY, THE USER MAY SET THE SEQUENCE TO SOME OTHER VALUE 00102600 +THROUGH THE USE OF THE CONSTRUCT "*", WHERE IS THE DESIRED 00102700 +SEQUENCE NUMBER. NOTE THAT LEADING ZEROS ARE ACCEPTED BUT NOT 00102800 +NECESSARY WITH THIS CONSTRUCT. 00102900 +*1 00103000 +BY USE OF THE "*" CONSTRUCT AND THE "*INC" VERB TO SET THE SEQUENCE 00103100 +NUMBER INCREMENT, THE USER MAY SET UP HIS OWN NUMBERING SEQUENCE 00103200 +THROUGHOUT HIS FILE. 00103300 +*1 00103400 +THE EXAMPLES ILLUSTRATE THE SEQUENCE NUMBER OF THE RECORD TYPED ON THE 00103500 +LEFT SIDE OF THE PAGE AS IT APPEARS ON THE TELETYPEWRITER AND THE 00103600 +MANNER IN WHICH THESE RECORDS ARE INCREMENTED. ALTHOUGH ALGOL, XALGOL, 00103700 +BASIC AND FORTRAN FILES ACTUALLY CARRY THE SEQUENCE NUMBER IN CHARACTER 00103800 +POSITIONS 73-80 OF THE RECORD, R/C TYPES THE NUMBER ON THE LEFT MARGIN 00103900 +OF THE TELETYPEWRITER. 00104000 *7 00200000 -INTRODUCTION 00201000 -*1 00202000 -R/C PERMITS A USER AT A REMOTE TELETYPEWRITER TO CREATE AND 00203000 -MAINTAIN SOURCE OR DATA FILES ON THE B5500 SYSTEM DISK. FILE 00204000 -TYPES CREATED AND MAINTAINED WITH R/C ARE: ALGOL, XALGOL, COBOL, 00205000 -FORTRAN, BASIC, AND DATA. THESE FILES REPRESENT NORMAL (80 00206000 -CHARACTER-PER-CARD) PUNCHED CARD DECKS EXCEPT THAT THEY ARE 00207000 -STORED ON THE DISK. EACH RECORD CAN BE THOUGHT OF AS ONE CARD. 00208000 -*1 00209000 -R/C ALLOWS THE USER TO: 00210000 -*SKIP 1 INDENT 14 00211000 - * CREATE A VARIETY OF FILES 00212000 -*INDENT 14 00213000 - * RESEQUENCE FILES 00214000 -*INDENT 14 00215000 - * PRINT OR PUNCH FILES 00216000 -*INDENT 14 00217000 - * DELETE OR INSERT RECORDS INTO A FILE 00218000 -*INDENT 14 00219000 - * MODIFY RECORDS WITHIN A FILE 00220000 -*INDENT 14 00221000 - * SCAN A FILE FOR THE OCCURRENCE OF A STRING 00222000 -* INDENT 16 00223000 - (OPTIONALLY REPLACING IT WITH ANOTHER STRING) 00224000 -*INDENT 14 00225000 - * REMOVE FILES 00226000 -*INDENT 14 00227000 - * COMPILE FILES 00228000 -*INDENT 14 00229000 - * PERFORM MANY OTHER FUNCTIONS 00230000 -*1 00231000 -THE TELETYPEWRITER (IN CONJUNCTION WITH THE PROGRAM R/C) CAN BE 00232000 -CONSIDERED A KEYPUNCH EXTENSION WHICH ELIMINATES PUNCHED CARDS. 00233000 -IT OFFERS GREAT FLEXIBILITY IN FILE HANDLING. 00234000 -*1 00235000 -R/C HAS TWO MAJOR RESTRICTIONS: 00236000 -*2 00237000 -WHILE THE SEQUENCE NUMBER 99999999 IS PERMITTED FOR CONVENIENCE, 00238000 -THE MAXIMUM SEQUENCE NUMBER IS 2097151 (2*21-1). 00239000 -*2 00240000 -THE MAXIMUM NUMBER OF RECORDS PERMITTED IN A FILE IS 8191. 00241000 -*1 00242000 -IN THE DISCUSSION OF CERTAIN R/C VERBS, SOME OF THE ELEMENTS OF THE 00243000 -SYNTAX ARE GIVEN AS , , , OR . IN EACH CASE, THESE 00244000 -ELEMENTS REPRESENT INTEGER VALUES WHICH MUST BE PROVIDED BY THE USER. 00245000 -THE VALUE MAY BE A RECORD NUMBER FOR SOME VERBS, THE SEQUENCE NUMBER 00246000 -FOR OTHERS, OR AN INCREMENT AMOUNT. THE BRACKETED CONSTRUCT IS ONLY A 00247000 -FORM OF NOTATION USED TO REPRESENT AN INTEGER PARAMETER. 00248000 -*7 01000000 -PROGRAM OPERATION AND RECORD SEQUENCING 01001000 -*1 01002000 -DURING CREATION AND FILE MAINTENANCE, R/C AUTOMATICALLY ADVANCES (BY 01003000 -THE CURRENT VALUE OF THE "INCREMENT") THE SEQUENCE NUMBER OF EACH 01004000 -RECORD THAT IS INPUT. THE USER MAY SET THIS INCREMENT TO ANY DESIRED 01005000 -VALUE THROUGH USE OF THE "*INC" VERB (SEE BELOW). THE INCREMENT VALUE 01006000 -IS INITIALIZED TO 100 WHEN THE USER FIRST RUNS R/C. 01007000 -*1 01008000 -THE INITIAL SEQUENCE NUMBER IS SET TO THE INCREMENT WHEN A NEW FILE IS 01009000 -OPENED BY A USER. FOR EXAMPLE, IF THE CURRENT INCREMENT WERE 100, THE 01010000 -FIRST SEQUENCE NUMBER IN THE FILE WOULD BE "100:". THIS INITIAL 01011000 -SEQUENCE NUMBER MAY BE CHANGED BY THE USER THROUGH THE USE OF THE 01012000 -CONSTRUCT "*", (SEE BELOW). 01013000 -*1 01014000 -AFTER EACH RECORD IS TYPED INTO THE FILE, THE SEQUENCE NUMBER OF THE 01015000 -NEXT RECORD IN THE FILE IS SET TO THE LAST SEQUENCE NUMBER PLUS THE 01016000 -INCREMENT. THIS SEQUENCE NUMBER IS NEXT TYPED ON THE TELETYPEWRITER. 01017000 -*1 01018000 -IF THE FILE TYPE IS NOT "COBOL", THE SEQUENCE NUMBER IS FOLLOWED BY 01019000 -A COLON. IF A RECORD ALREADY EXISTS WITH THIS SEQUENCE NUMBER, LEADING 01020000 -ZEROS ARE TYPED AS A WARNING; OTHERWISE LEADING ZEROS ARE SUPPRESSED. 01021000 -AFTER THE SEQUENCE NUMBER IS TYPED OUT, THE USER MAY THEN ENTER THE 01022000 -DESIRED CONTENTS FOR THAT SEQUENCE NUMBER OR MAY ENTER A VERB TO 01023000 -PERFORM SOME OTHER FUNCTION. 01024000 -*1 01025000 -ALTERNATIVELY, THE USER MAY SET THE SEQUENCE TO SOME OTHER VALUE 01026000 -THROUGH THE USE OF THE CONSTRUCT "*", WHERE IS THE DESIRED 01027000 -SEQUENCE NUMBER. NOTE THAT LEADING ZEROS ARE ACCEPTED BUT NOT 01028000 -NECESSARY WITH THIS CONSTRUCT. 01029000 -*1 01030000 -BY USE OF THE "*" CONSTRUCT AND THE "*INC" VERB TO SET THE SEQUENCE 01031000 -NUMBER INCREMENT, THE USER MAY SET UP HIS OWN NUMBERING SEQUENCE 01032000 -THROUGHOUT HIS FILE. 01033000 -*1 01034000 -THE EXAMPLES ILLUSTRATE THE SEQUENCE NUMBER OF THE RECORD TYPED ON THE 01035000 -LEFT SIDE OF THE PAGE AS IT APPEARS ON THE TELETYPEWRITER AND THE 01036000 -MANNER IN WHICH THESE RECORDS ARE INCREMENTED. ALTHOUGH ALGOL, XALGOL, 01037000 -BASIC AND FORTRAN FILES ACTUALLY CARRY THE SEQUENCE NUMBER IN CHARACTER 01038000 -POSITIONS 73-80 OF THE RECORD, R/C TYPES THE NUMBER ON THE LEFT MARGIN 01039000 -OF THE TELETYPEWRITER. 01040000 -*7 02000000 -PROGRAM EXECUTION 02001000 -*6 02002000 -INITIAL REMOTE TERMINAL OPERATIONS 02003000 -*1 02004000 -FOR LOGGING-IN TO A TELETYPEWRITER, PRESS THE "ORGI" BUTTON, WAIT FOR 02005000 -A DIAL TONE FROM THE SPEAKER, AND DIAL THE COMPUTER NUMBER. THE B5500 02006000 -RESPONDS WITH THE MESSAGE: 02007000 -* SKIP 2 UNDERLINE CENTER 02008000 -BURROUGHS B-5500: / 02009000 -*2 02010000 -(THE STATION NUMBER IS / WHERE IS THE TERMINAL NUMBER AND 02011000 - IS THE BUFFER NUMBER.) 02012000 -*1 02013000 -YOU MAY TYPE: 02014000 -* SKIP 2 CENTER UNDERLINE 02015000 -* INVALID 1 02016000 -Q LI: /~ 02017000 -*2 02019000 -THIS LOG-IN MESSAGE MAY HAVE BEEN PRECEDED BY A 02020000 -* INVALID 2 02020900 -"QBO~" MESSAGE WHICH 02021000 -WOULD HAVE BLACKED OUT THE LINE ON WHICH THE LOG-IN MESSAGE WAS TYPED. 02022000 -*2 02023000 -THE B5500 VALIDATES THE AND AND 02024000 -RESPONDS BY TYPING OUT THE STATION NUMBER AND THE TIME OF DAY OF THE 02025000 -LOG-IN. 02026000 -*1 02027000 -TO CONNECT A REMOTE TERMINAL TO R/C, ENTER: 02028000 -* SKIP 2 CENTER UNDERLINE 02029000 -* INVALID 1,2 02030000 -QQ RUN R/C;END.~ 02031000 -*1 02032000 -THE B5500 RESPONDS BY EITHER TYPING OUT A "BOJ" (BEGINNING OF JOB) 02033000 -MESSAGE, A "SCHEDULED" MESSAGE, OR A "RUNNING" MESSAGE. A "BOJ" 02034000 -MESSAGE INDICATES THAT R/C WAS NOT PREVIOUSLY RUNNING BUT HAS NOW BEEN 02035000 -ENTERED INTO THE MIX AND IS READY FOR USE. A "SCHEDULED" MESSAGE 02036000 -INDICATES THAT R/C WAS NOT PREVIOUSLY RUNNING AND IS SCHEDULED. IN 02037000 -THIS CASE, R/C IS NOT BROUGHT INTO THE MIX UNTIL OTHER SYSTEM USERS 02038000 -COMPLETE THEIR WORK. THE "RUNNING" MESSAGE INDICATES R/C IS ALREADY 02039000 -IN THE MIX. 02040000 -*1 02041000 -WITH R/C IN THE MIX, IT AUTOMATICALLY SEARCHES OUT AND LOCKS ONTO 02042000 -REMOTE TERMINALS WHICH HAVE REQUESTED CONNECTION (BY "RUN R/C"). AS 02043000 -SOON AS YOUR TERMINAL IS LOCKED, R/C TYPES ONE OF THE FOLLOWING 02044000 -MESSAGE SEQUENCES, ACCORDING TO THE MANNER IN WHICH R/C ENDED DURING 02045000 -YOUR LAST R/C RUN (FIRST-TIME USERS ARE CONSIDERED TO HAVE CAUSED 02046000 -NORMAL LAST ENTRIES): 02047000 -*15 02048000 -INITIAL MESSAGE AFTER NORMAL TERMINATION OF LAST RUN: 02049000 -*20 02050000 - 02051000 - HELLO 02059000 - 02060000 - HELLO+ 02061000 - : 02062000 -*16 02063000 -OR IF NO FILE IS OPEN 02064000 -*21 02065000 - VERSION NUMBER> 02066000 - HELLO+ 02067000 - : 02068000 -*1 02069000 -IF A MESSAGE HAS BEEN SENT FROM ANOTHER USER TO YOUR USERCODE (SEE THE 02070000 -MAIL VERB), "MAIL %" IS TYPED INSTEAD OF "HELLO". 02071000 -*15 02072000 -EXAMPLES: 02073000 -*20 02074000 - VERSION # 02075000 - HELLO BLUM 02076000 - : 02077000 -*2 02078000 -THIS IS THE NORMAL INITIAL SEQUENCE FROM R/C. 02079000 -*SKIP 3 INDENT 20 02080000 - VERSION # 02081000 - HELLO+ WILNER 02082000 - : 02083000 -*2 02084000 -THIS SEQUENCE INDICATES THAT R/C REMEMBERS THE USERS STATE FROM 02085000 -THE PREVIOUS RUN. THE STATE INDICATES THE INCREMENT VALUE, TAB AMOUNT, 02086000 -SAVE FACTOR, PERCENT ON-OFF, AND VERB REPLACEMENTS. 02087000 -*SKIP 3 INDENT 20 02088000 - VERSION # 02089000 - FILE/NAME 02090000 - HELLO+ SHARPE 02091000 - 00050600: 02092000 -*2 02093000 -THIS SEQUENCE INDICATES THAT USER HAS THE FILE "FILE/NAME" OPEN AND IS 02094000 -AT THE RECORD WITH SEQUENCE NUMBER 50600. THE LEADING ZEROS INDICATE 02095000 -THAT A RECORD ALREADY EXISTS WITH THAT NUMBER. 02096000 -*6 02097000 -FINAL REMOTE TERMINAL OPERATIONS 02098000 -*1 02099000 -THE USER SHOULD TERMINATE HIS USE OF R/C WITH THE "* END" COMMAND (SEE 02100000 -BELOW). R/C WILL RESPOND WITH "GOOD BYE." 02101000 -*1 02102000 -AFTER HE HAS ENDED R/C, IF THE USER IS DONE WITH THE REMOTE TERMINAL HE 02103000 -SHOULD LOG-OUT BY ENTERING: 02104000 -* INVALID 2 02104900 -"QLO~" 02105000 -*6 02106000 -R/C INPUT 02107000 -*1 02108000 -INPUT TO R/C IS EITHER COMMANDS OR RECORDS. 02109000 -*1 02110000 -COMMANDS ARE INDICATED BY THE CHARACTER "*" IN THE FIRST 02111000 -INPUT POSITION. (IF THERE IS NO OPEN FILE, THE "*" IS OPTIONAL.) 02112000 -ALL OTHER INPUT IS CONSIDERED RECORDS TO BE PLACED IN THE OPEN 02113000 -FILE. THE FORMAT FOR A COMMAND IS THE "*" FOLLOWED BY AN R/C 02114000 -VERB AND, IF NEEDED, ITS PARAMETERS. THE VERB AND ITS PARAMETERS 02115000 -MUST BE SEPARATED BY A DELIMITER. 02115500 -*1 02116000 -A DELIMITER IS EITHER A SPACE OR ANY SPECIAL CHARACTER EXCEPT A ";", A 02117000 -""", A ".", A "(", OR A "[". MULTIPLE DELIMITERS ARE TREATED AS A 02118000 -SINGLE DELIMITER. 02119000 -*1 02120000 -A COMMAND MAY BE FOLLOWED BY ANOTHER INPUT (EITHER A COMMAND OR A 02121000 -RECORD) IF IT IS TERMINATED BY A ";". AN ERROR IN A COMMAND OF A 02122000 -MULTIPLE INPUT INHIBITS THE PROCESSING OF THE REST OF THAT INPUT. 02123000 -*15 02124000 -EXAMPLES: 02125000 -*15 02126000 -100:* INC 50~ 02127000 -*3 02128000 -THIS IS AN EXAMPLE OF ONE OF THE INPUT COMMANDS. 02129000 -*15 02130000 -100:BEGIN~ 02131000 -*3 02132000 -THIS IS AN EXAMPLE OF PLACING A RECORD AT SEQUENCE NUMBER 100. 02133000 -*15 02134000 -100:* INC 3;* RESEQ~ 02135000 -*3 02136000 -THIS IS AN EXAMPLE OF MULTIPLE COMMANDS. 02137000 -*15 02138000 -100:*35; THIS RECORD GOES AT 35~ 02139000 -*3 02140000 -THIS IS AN EXAMPLE OF A COMMAND FOLLOWED BY A RECORD OF INPUT. 02141000 -*15 02142000 -100:* OPEN A/B DATA;* PRINT FOR ME;*CLOSE~ 02143000 -*3 02144000 -THIS IS ANOTHER EXAMPLE OF MULTIPLE COMMANDS. NOTE THAT THE "*" MUST 02145000 -APPEAR IN THE NEXT CHARACTER POSITION FOLLOWING THE SEMICOLON OR 02146000 -THE REMAINDER OF THE RECORD IS TREATED AS DATA. 02147000 -*1 02148000 -AN INPUT LINE IS SENT TO THE COMPUTER BY TYPING THE CHARACTER "~". 02149000 -TYPING ERRORS CAN BE CORRECTED, BY BACKSPACING AND LINE ERASING, 02150000 -BEFORE A MESSAGE IS SENT. THE BACKSPACE CHARACTER IS THE APOSTROPHE 02151000 -(SHIFT 7) AND THE LINE ERASE CHARACTER IS THE UP-ARROW (SHIFT N). 02152000 -ALL THE FOLLOWING LINES OF INPUT ARE EQUIVALENT (NOTE THE UNDERLINED 02153000 -CHARACTERS REPRESENT USE OF THE SHIFT): 02154000 -*25 02155000 - 100:THIS IS IT~ 02156000 -*26 02157000 - 100:THIS IS NOT, BUTNTHIS IS IT~ 02158000 - - 02160000 - 100:THE7IS IT~ 02162000 - - 02164000 - 100:THESE777IS IS IT~ 02166000 - --- 02168000 -*1 02169000 -IF, AFTER BACKSPACING AND LINE ERASING, THE INPUT LINE CONTAINS MORE 02170000 -THEN 240 CHARACTERS, THE INPUT IS DISCARDED WITH AN "INPUT OVERFLW" 02171000 -ERROR MESSAGE. DATA RECORDS ARE ALSO DISCARDED (WITH THE ERROR MESSAGE) 02172000 -IF THEY ARE TOO LARGE FOR THE FILE. (I.E. GTR 66 FOR COBOL FILES; 02173000 -GTR 80 FOR DATA FILES; AND GTR 72 FOR ALL OTHER FILES) 02174000 -*1 02175000 -THERE ARE TWO CLASSES OF REQUESTS TO R/C: LONG AND SHORT. LONG 02176000 -OPERATIONS ARE THOSE THAT USUALLY ARE SLOW TO EXECUTE AND ARE 02177000 -CHARACTERIZED BY THE "WAIT..." MESSAGE. ALL OTHER REQUESTS ARE 02178000 -CLASSIFIED AS SHORT OPERATIONS. LONG OPERATIONS ARE SOMETIMES QUEUED 02179000 -BEFORE THE "WAIT..." MESSAGE, TO BE EXECUTED ONE AT A TIME. SHORT 02180000 -REQUESTS ARE DONE AS THEY ARE RECEIVED. THE USERS IN THE LONG 02181000 -REQUEST QUEUE (AND THE USER PERFORMING A LONG OPERATION IF IT IS NOT 02182000 -TYPING ON THE REMOTE) PERIODICALLY RECEIVE A FEW "RUBOUT" CHARACTERS 02183000 -OF REASSURANCE. R/C IGNORES ANY INPUT SENT BY USERS IN THE QUEUE OR 02184000 -BY THE USER WHOSE LONG OPERATION IS BEING PROCESSED. 02185000 -*1 02186000 -IF A USER PRODUCES NO INPUT FOR FIVE MINUTES, HE IS SENT THE 02187000 -MESSAGE "LOOK ALIVE". IF HE DOES NOT RESPOND WITHIN ANOTHER FIVE 02188000 -MINUTE PERIOD, R/C PROCESSES A "*END DS" FOR THAT USER. 02189000 -*6 02190000 -R/C OUTPUT 02191000 -*1 02192000 -OUTPUT TO THE TELETYPEWRITER OF THE SPECIAL CHARACTERS ~, !, <, {, >, 02193000 -AND } IS REPLACED BY A "$" CHARACTER IN ORDER THAT THEY DO NOT EVOKE 02194000 -TELETYPEWRITER CONTROL FUNCTIONS WITH WHICH THEY ARE ASSOCIATED. 02195000 -(THESE INCLUDE LINE-FEED, CARRIAGE-RETURN, MESSAGE-END, AND 02196000 -PAPER-TAPE-ON.) 02197000 -*1 02198000 -WHEN THE "BREAK" KEY IS DEPRESSED DURING OUTPUT, THE OUTPUT IS 02199000 -TERMINATED WITH THE MESSAGE "BREAK". 02200000 -*7 03000000 -R/C FILES 03001000 -*1 03001500 -ALL FILES CREATED BY R/C ARE PERMANENT DISK FILES. THE SAVE FACTOR 03002000 -IS NORMALLY 7 DAYS, BUT IT MAY BE CHANGED BY THE SAVE VERB (SEE BELOW). 03003000 -*6 03004000 -FILE TYPES 03005000 -*1 03006000 -R/C ENABLES THE USER TO CREATE AND MAINTAIN ALGOL, COBOL, FORTRAN, 03007000 -XALGOL, BASIC, AND DATA FILES. THESE FILES HAVE 80 CHARACTER-LONG 03008000 -RECORDS, (ONE CARD IMAGE). 03009000 -*1 03010000 -XALGOL, BASIC, ALGOL AND FORTRAN FILES CONTAIN EIGHT DIGIT SEQUENCE 03011000 -NUMBERS LOCATED IN THE POSITIONS 73-80 OF THE CARD IMAGE. 03012000 -*1 03013000 -COBOL FILES CONTAIN SIX-DIGIT SEQUENCE NUMBERS, PLACED IN POSITIONS 03014000 -1-6 OF THE RECORD. 03015000 -*1 03016000 -DATA FILES ARE NOT PHYSICALLY SEQUENCED ALTHOUGH R/C MAINTAINS AN 03017000 -INTERNAL, EIGHT-DIGIT NUMBER FOR EACH RECORD. 03018000 -*6 03019000 -FILE NAMES 03020000 -*1 03021000 -FILE NAMES MUST BE SUPPLIED TO R/C. THE FORM OF A NAME IS 03022000 - / . THROUGHOUT THIS DOCUMENT, 03023000 -IS USED TO SPECIFY A FILE AND SHOULD BE IN THE FORM ABOVE. THE AND THE MAY EACH BE NO LONGER THAN 03025000 -SEVEN CHARACTERS. 03025100 -*15 03026000 -EXAMPLES: 03027000 -*20 03028000 -A/B 03029000 -*21 03030000 -GRIMY/GULCH 03031000 -*21 03032000 -ZAP/1 03033000 -*21 03034000 -16JAN/SUFFIX 03035000 -*21 03036000 -0000000/DISK 03037000 -*6 03038000 -RECORD REFERENCING 03039000 -*1 03040000 -RECORDS IN THE OPEN FILE (SEE OPEN BELOW) ARE REFERRED TO BY THEIR 03041000 -SEQUENCE NUMBER. "DATA" FILES ARE IMPLICITLY SEQUENCED BY THE VALUE 03042000 -OF THE INCREMENT WHEN THEY ARE OPENED. 03043000 -*1 03044000 -AN ALTERNATE METHOD OF REFERENCING RECORDS IN THE OPEN FILE IS 03045000 -RELATIVE SEQUENCE NUMBERS. A RELATIVE SEQUENCE NUMBER IS AN INTEGER 03046000 -PRECEEDED BY A + OR - SIGN. IT MAY BE USED ANYPLACE A SEQUENCE NUMBER 03047000 -IS USED. IT IS TRANSLATED TO A SEQUENCE NUMBER BY MOVING FORWARD OR 03048000 -BACKWARD THE INDICATED NUMBER OF RECORDS AND USING THE SEQUENCE NUMBER 03049000 -OF THAT RECORD. 03050000 -*1 03051000 -RECORDS IN A NON-OPEN FILE (EXTERNAL FILE) ARE REFERRED TO BY THEIR 03052000 -RELATIVE POSITION WITHIN THE FILE. THE FIRST RECORD IS 1, THE SECOND 03053000 -2, ETC. ANY SEQUENCING THAT MAY BE ON THE RECORDS IS IGNORED. 03054000 -*7 04000000 -FILE-HANDLING VERBS 04001000 -*1 04002000 -THIS SECTION DESCRIBES VERBS THAT HANDLE FILES AS A WHOLE, RATHER THAN 04003000 -RECORDS WITHIN A FILE. HOWEVER, A FEW VERBS HAVE OPTIONS IN R/C SYNTAX 04004000 -THAT PERMIT ACCESS TO RECORDS WITHIN THE FILE. THE COMPLETE SYNTAX IS 04005000 -GIVEN FOR EACH VERB AS WELL AS A DISCUSSION AND EXAMPLES OF ITS USE. AN 04006000 -ASTERISK ("*") MUST ALWAYS BE THE FIRST CHARACTER IN THE INPUT STRING 04007000 -WHEN A COMMAND IS ENTERED. IF THIS IS NOT FOLLOWED, AN EXISTING RECORD 04008000 -MAY BE OVERWRITTEN BY THE COMMAND ITSELF. 04009000 -*5 04100000 -FILE OPENING AND CREATION (OPEN) 04102000 -*RCTEACH OPEN 04102500 -*17 04103000 - * OPEN NEW 04103500 -*17 04104000 - * OPEN OLD 04104500 -*17 04105000 - * OPEN 04105500 -*1 04106000 -THE "* OPEN " VERB ATTACHES THE USER TO THE DISK FILE . THE 04106500 - MUST BE EITHER "ALGOL", "COBOL", "FORTRAN", "XALGOL", 04107000 -"BASIC", OR "DATA". IF THE IS "NEW", A NEW DISK FILE IS 04107500 -CREATED. IF THE IS "OLD", THE DISK FILE IS 04108000 -OPENED AND RESEQUENCED BY THE CURRENT VALUE OF THE INCREMENT. IF THE 04108500 - IS NEITHER "NEW" NOR "OLD" THE DISK FILE IS 04109000 -OPENED AND IT IS READ TO DETERMINE ITS SEQUENCE NUMBERS. THIS LATTER 04109500 -FORM IS SLOWER THAN THE OPEN "OLD". 04110000 -*RCEND 04110200 -*15 04110500 -EXAMPLES: 04111000 -*25 04111500 - :* OPEN PROGRAM/SOURCE ALGOL NEW~ 04112000 - 100: 04113000 -*3 04113500 -THIS CREATES A NEW DISK FILE CALLED PROGRAM/SOURCE. 04114000 -*25 04114500 - 63500:* OPEN ANOTHER/PROG DATA OLD~ 04115000 - 4500: 04116000 -*3 04116500 -THIS OPENS THE FILE ANOTHER/PROG SEQUENCING IT BY THE CURRENT INCREMENT 04117000 -VALUE. NOTE THAT THE FILE THAT WAS OPEN IS FIRST CLOSED BEFORE THE NEXT 04117500 -FILE IS OPENED. 04118000 -*25 04118500 - :* OPEN YET/ANOTHER COBOL~ 04119000 - WAIT... 04120000 - READ ONLY FILE. 04121000 - 7504 04122000 -*3 04122500 -THIS OPENS THE FILE YET/ANOTHER USING THE SEQUENCE NUMBERS WITHIN THE 04123000 -FILE. THE MESSAGE "READ ONLY FILE" INDICATES THAT THE USER IS FORBIDDEN 04123500 -(BY THE FILE SECURITY SYSTEM) TO MODIFY THE FILE. 04124000 -*15 04124500 - ERRORS: 04125000 -*20 04125500 -DUP FILE: 04126000 -*2 04126500 -A FILE, , ALREADY EXISTS AND THE USER IS TRYING TO CREATE A 04127000 -FILE WITH THAT NAME WITH AN "* OPEN ... NEW". 04127500 -*20 04128000 -NO FILE: 04128500 -*2 04129000 -THE USER IS TRYING TO OPEN A FILE, , AND IT DOES NOT EXIST 04129500 -ON DISK. 04130000 -*20 04130500 -BAD FILE: 04131000 -*2 04131500 -THE FILE WHICH THE USER IS TRYING TO OPEN IS NOT BLOCKED 04132000 -CORRECTLY. THE CORRECT BLOCKING IS 10-WORD RECORDS WITH MULTIPLE OF 04132500 -3 RECORDS PER BLOCK. 04133000 -*20 04133500 -INV USER: 04134000 -*2 04134500 -THE USER IS TRYING TO OPEN A FILE TO WHICH HE HAS NO ACCESS. IF THE 04135000 -USER HAS EITHER SECONDARY OR TERTIARY ACCESS, THE MESSAGE: 04135500 -"READ ONLY FILE" IS TYPED. 04136000 -*20 04136500 -FILE TOO LONG 04137000 -*2 04137500 -THE USER IS TRYING TO OPEN A FILE WITH MORE THEN 8191 RECORDS. 04138000 -*20 04138500 -SEQ OVERFLOW 04139000 -*2 04139500 -THE FILE THE USER IS OPENING CAUSES THE SEQUENCE COUNTER TO EXCEED 04140000 -2,097,151. THE FILE IS OPENED, BUT THE USER SHOULD RESEQUENCE IT. 04140500 -*20 04141000 -SEQ ERR- 04141500 -*2 04142000 -THE FILE CONTAINS A RECORD WHOSE SEQUENCE NUMBER IS LESS THAN 04142500 -THE SEQUENCE NUMBER OF THE PRECEEDING RECORD. THE FILE IS NOT OPENED. 04143000 -*20 04143500 -BAD FILE TYPE: 04144000 -*2 04144500 - IS NOT "ALGOL", "COBOL", "FORTRAN", "XALGOL", "BASIC", OR 04145000 -"DATA". 04145500 -*5 04150000 -FILE CLOSING (CLOSE) 04152000 -*1 04152200 -FILES ARE CLOSED BY USE OF THE FOLLOWING CONSTRUCT: 04152400 -*RCTEACH CLOSE 04152500 -*17 04153000 - * CLOSE 04154000 -*1 04155000 -THIS VERB DETATCHES THE OPEN FILE, FROM R/C. 04156000 -*RCEND 04156500 -*15 04157000 -EXAMPLES: 04158000 -*25 04159000 - 5600:* CLOSE~ 04160000 - : 04161000 -*3 04162000 -THIS IS AN EXAMPLE OF CLOSING A FILE THAT IS IN THE CORRECT ORDER. 04163000 -*25 04164000 - 450:* RESEQ 100~ 04165000 - 9000:* CLOSE~ 04166000 - WAIT... 04167000 - : 04168000 -*3 04169000 -THIS IS AN EXAMPLE OF CLOSING A FILE THAT IS NOT IN ORDER. 04170000 -*15 04171000 -ERROR: 04172000 -*20 04173000 -NO FILE OPEN: CLOSE 04174000 -*2 04175000 -THERE IS NO OPEN FILE TO CLOSE 04176000 -*5 04200000 -LISTINGS ON THE TELETYPEWRITER (LIST) 04202000 -*1 04203000 -TO LIST FILES OR ANY OF THEIR SEPARATE RECORDS, THE FOLLOWING 04204000 -CONSTRUCTS APPLY: 04205000 -*RCTEACH LIST 04205500 -*17 04206000 - * LIST 04207000 -*17 04208000 - * LIST 04209000 -*17 04210000 - * LIST NO 04211000 -*17 04212000 - * LIST 04213000 -*17 04214000 - * LIST 04215000 -*17 04216000 - * LIST 04217000 -*17 04218000 - * LIST 04219000 -*1 04220000 -THE "LIST" VERB CAUSES AN ENTIRE FILE OR PORTIONS OF A FILE TO BE 04221000 -LISTED ON THE TELETYPEWRITER. LISTING MAY BE DISCONTINUED BY PRESSING 04222000 -THE BREAK KEY ON THE TELETYPEWRITER. 04223000 -*2 04224000 -THE FIRST FORM LISTS THE OPEN FILE. 04225000 -*2 04226000 -THE SECOND FORM LISTS THE FILE . 04227000 -*2 04228000 -THE THIRD FORM LISTS THE FILE , WITHOUT THE RECORD NUMBERS. 04229000 -*2 04230000 -THE FOURTH FORM LISTS FROM THE TH RECORD TO THE END. 04231000 -*2 04232000 -THE FIFTH FORM LISTS FROM THE TH TO THE TH RECORDS. 04233000 -*2 04234000 -THE SIXTH FORM LISTS SEQUENCE NUMBER OF THE OPEN FILE. 04235000 -*2 04236000 -THE LAST FORM LISTS SEQUENCE NUMBERS THROUGH OF THE OPEN FILE. 04237000 -*RCEND 04237500 -*15 04238000 -EXAMPLES: 04239000 -*25 04240000 - 500:* LIST~ 04241000 - 100:BEGIN 04242000 - 200: INTEGER I, J, K ; 04243000 - 300: REAL X, Y, Z ; 04244000 - 400: ARRAY A [0 : 9] ; 04245000 - 500: 04246000 -*26 04247000 - 5500:* LIST 8900,+3~ 04249000 - 8950: I := I + 5 ; 04250000 - 9125: GO TO NEXT ; 04251000 - 9300: HELP: 04252000 - 9400: 04253000 -*26 04254000 - 300* LIST 60~ 04255000 - 000060 MOVE A TO B. 04256000 - 000070 04257000 -*26 04258000 - :* LIST SOME/FILE~ 04259000 - 1:BEGIN 04260000 - 2: INTEGER I, J, K ; 04261000 - 3: REAL X, Y, Z ; 04262000 - 4: ARRAY A [0 : 9] ; 04263000 - 5: A [I] := X ; 04264000 - 6:END. 04265000 - : 04266000 -*26 04267000 - 500:* LIST SOME/FILE NO~ 04268000 - BEGIN 04269000 - INTEGER I, J, K ; 04270000 - REAL X, Y, Z ; 04271000 - ARRAY A [0 : 9] ; 04272000 - A [I] := X ; 04273000 - END. 04274000 - 500: 04275000 - :* LIST LIBRARY/FILE 2,4~ 04276000 - 2:PROCEDURE READDATA 567,653 04277000 - 3:PROCEDURE WRITEDATA 654,789 04278000 - 4:PROCEDURE DATA 790,808 04279000 - : 04280000 -*26 04281000 - :* LIST SOME/FILE 5~ 04282000 - 5: A [I] := X ; 04283000 - 6:END. 04284000 - : 04285000 -*26 04286000 - :* LIST SOME/FILE 200,500~ 04287000 - USE RECORD #S. 04288000 - : 04289000 -*3 04290000 -THE LAST EXAMPLE ILLUSTRATES THE COMMON ERROR OF REFERENCING 04291000 -AN EXTERNAL FILE WITH SEQUENCE NUMBERS INSTEAD OF RECORD NUMBERS. 04292000 -*5 04300000 -COMPRESSED FILE LISTINGS (QUICK) 04301000 -*1 04302000 -A COMPRESSED FILE LISTING MAY BE OBTAINED FROM R/C BY USE OF THE 04303000 -CONSTRUCTS: 04304000 -*RCTEACH QUICK 04304500 -*17 04305000 - * QUICK 04306000 -*17 04307000 - * QUICK 04308000 -*17 04309000 - * QUICK NO 04310000 -*17 04311000 - * QUICK 04312000 -*17 04313000 - * QUICK 04314000 -*17 04315000 - * QUICK 04316000 -*17 04317000 - * QUICK 04318000 -*1 04319000 -THE "* QUICK" VERB LISTS ON THE TELETYPEWRITER DELETING ALL CONTIGUOUS 04320000 -BLANKS EXCEPT THE FIRST. THE FILE IS NOT AFFECTED BY THE VERB. 04321000 -*RCEND 04321500 -*15 04322000 -EXAMPLE: 04323000 -*25 04324000 - 4500:* LIST 4300,4400~ 04325000 - 4300: FOR I := A STEP -1 UNTIL 0 DO 04326000 - 4400: X [I] := SIN (Y) ; 04327000 - 4500:*QUICK -2 + 1~ 04328000 - 4300: FOR I := A STEP -1 UNTIL 0 DO 04329000 - 4400: X [I] := SIN (Y) ; 04330000 - 4500: 04331000 -*5 04350000 -FILE REMOVAL (REMOVE) 04351000 -*1 04352000 -TO REMOVE A FILE USE THE FOLLOWING CONSTRUCT: 04353000 -*RCTEACH REMOVE 04353500 -*17 04354000 - * REMOVE 04355000 -*2 04356000 -THE REMOVE VERB REMOVES THE FILE FROM DISK. 04357000 -*17 04358000 - * REMOVE LISTING 04359000 -*2 04360000 -REMOVES LINE/, THE LISTING FILE FROM THE LAST COMPILATION. 04361000 -*RCEND 04361500 -*15 04362000 -EXAMPLES: 04363000 -*25 04364000 - 3200:* REMOVE A/B~ 04365000 - 3200: 04366000 -*26 04367000 - 546:* REMOVE ANOTHER/FILE~ 04368000 - NO FILE: ANOTHER/FILE 04369000 - 546: 04370000 -*26 04371000 - :* OPEN EXAMPLE/X COBOL OLD~ 04372000 - 46500* REMOVE EXAMPLE/X~ 04373000 - : 04374000 -*5 04400000 -LINE-PRINTER FILE REPRODUCTION (PRINT) 04401000 -*1 04402000 -THE PRINT VERB: 04403000 -*RCTEACH PRINT 04403500 -*17 04404000 - *PRINT 04405000 -*2 04406000 -PRINTS THE OPENED FILE ON THE LINE PRINTER (LABELED ). IF "" 04407000 -IS "DOUBLE" THEN DOUBLE SPACING IS USED. 04408000 -*17 04409000 - * PRINT 04410000 -*2 04411000 -AS ABOVE, STARTING WITH SEQUENCE NUMBER . 04412000 -*17 04413000 - * PRINT , 04414000 -*2 04415000 -AS ABOVE, STOPPING WITH SEQUENCE NUMBER . 04416000 -*RCEND 04416500 -*15 04417000 -EXAMPLES: 04418000 -*25 04419000 - :* OPEN TEST/CASE DATA;*PRINT TC DOUBLE;* CLOSE~ 04420000 - : 04421000 -*3 04422000 -THIS EXAMPLE ILLUSTRATES AN INSTANCE WHERE A SEQUENCED FILE SHOULD BE 04423000 -TREATED AS DATA TO SHORTEN THE OPERATION. IF THE FILE WAS OPENED 04424000 -"ALGOL OLD" IT WOULD HAVE BEEN RESEQUENCED BY THE CURRENT VALUE OF THE 04425000 -INCREMENT AND THEN WHEN IT WAS CLOSED IT WOULD HAVE BEEN RECOPIED. 04426000 -IF IT WAS OPENED "ALGOL" IT WOULD HAVE BEEN READ TO DETERMINE ITS 04427000 -SEQUENCE NUMBERS. EITHER WAY WOULD HAVE MADE THE WHOLE OPERATION 04428000 -MUCH SLOWER THAN OPENING THE FILE "DATA". 04429000 -*26 04430000 - 8700:* PRINT FOR USER~ 04431000 - WAIT... 04432000 - 8700: 04433000 -*5 04450000 -PUNCHED-CARD FILE REPRODUCTION (PUNCH) 04451000 -*1 04452000 -TO PUNCH A FILE: 04453000 -*RCTEACH PUNCH 04453500 -*17 04454000 - * PUNCH 04455000 -*2 04456000 -PUNCHES A CARD DECK (LABELED ) OF THE OPENED FILE. 04457000 -*17 04458000 - * PUNCH 04459000 -*2 04460000 -AS ABOVE, STARTING WITH SEQUENCE NUMBER . 04461000 -*17 04462000 - * PUNCH , 04463000 -*2 04464000 -AS ABOVE, STOPPING WITH SEQUENCE NUMBER . 04465000 -*RCEND 04465500 -*15 04466000 -EXAMPLE: 04467000 -*25 04468000 - 7600:* PUNCH A B 100,+10~ 04469000 - WAIT... 04470000 - 7600: 04471000 -*5 04500000 -FILE COMPILATION (COMPILE) 04501000 -*1 04502000 -FILES MAY BE COMPILED TO THE B5500 LIBRARY BY THE FOLLOWING CONSTRUCT: 04503000 -*RCTEACH COMPILE 04503500 -*17 04504000 - * COMPILE 04505000 -*2 04506000 -THIS VERB INITIATES THE COMPILATION OF THE OPEN FILE TO LIBRARY USING 04507000 -THE COMPILER INDICATED IN THE OPEN STATEMENT. THE OBJECT CODE IS NAMED 04508000 -. THE LISTING OUTPUT OF THE COMPILATION IS EQUATED TO 04509000 -"LINE/" ON DISK. THE "* LISTING" VERB MAY BE USED TO LIST 04510000 -THE SYNTAX ERRORS. 04511000 -*17 04512000 - * COMPILE 04513000 -*2 04514000 -COMPILES THE OPEN FILE USING SPECIFIED COMPILER. 04515000 -*RCEND 04515500 -*15 04516000 -EXAMPLES: 04517000 -*25 04518000 - 5700:* COMPILE OBJECT/CODE~ 04519000 - WAIT... 04520000 - : 04521000 -*26 04521500 - 479:* COMPILE TEST/OBJECT EZTRAN~ 04522000 - QUEUED( 1).WAIT... 04523000 - : 04524000 -*2 04525000 -IN THE LAST EXAMPLE, THE "EZTRAN" COMPILER (EZTRAN/DISK) WILL BE USED. 04526000 -IF THE FILE IS NOT IN ORDER, IT WILL BE REORDERED. SINCE THIS IS A 04527000 -LONG OPERATION THE USER GETS A "WAIT" MESSAGE. THE "QUEUED" MESSAGE 04528000 -INDICATES THAT ANOTHER USERS LONG OPERATION IS BEING PROCESSED AND 04529000 -THAT THIS LONG OPERATION IS QUEUED UNTIL THE OTHER IS DONE. THE "1" 04530000 -INDICATES THAT THIS IS THE FIRST REQUEST IN THE QUEUE. 04531000 -*5 04550000 -OUTPUT OF THE COMPILATION (LISTING) 04551000 -*1 04552000 -THE LISTING FILE OF THE COMPILER IS EQUATED TO LINE/ ON DISK. 04553000 -THE FILE MAY BE ACCESSED BY THE USE OF THE LISTING VERB: 04554000 -*RCTEACH LISTING 04554500 -*17 04555000 - * LISTING , , 04556000 -*2 04557000 -LISTS THE SEQUENCE NUMBERS RELATED TO SEGMENT FROM RELATIVE ADDRESS 04558000 - TO RELATIVE ADDRESS . IS ALGOL, XALGOL, BASIC, 04559000 -COBOL, OR FORTRAN AND INDICATES WHICH COMPILER CREATED THE LISTING FILE 04560000 -"LINE/". (THIS FILE IS AUTOMATICALLY GENERATED BY THE 04561000 -COMPILE VERB). 04562000 -*17 04563000 - * LISTING ERRORS 04564000 -*2 04565000 -LISTS THE SYNTAX ERRORS OF YOUR LAST COMPILATION. 04566000 -*17 04567000 - * LISTING 04568000 -*2 04569000 -PRINTS THE LINE FILE OF YOUR LAST COMPILATION ON THE PRINTER. 04570000 -*RCEND 04570500 -*15 04571000 -EXAMPLES: 04572000 -*25 04573000 - :* LISTING ALGOL 5, 25, 35~ 04574000 - WAIT... SEGMENT = 5: 04575000 - 4300: REL. ADDR. = 26. 04576000 - 4400: REL. ADDR. = 29. 04577000 - 9200: REL. ADDR. = 32. 04578000 - 9300: REL. ADDR. = 35. 04579000 - :* LISTING ALGOL ERRORS~ 04580000 - WAIT... 04581000 - 7800:ERROR 100 I, 04582000 - : 04583000 -*26 04583500 - 8900:* LISTING~ 04584000 - 8900: 04585000 -*5 04600000 -FILE ZIPPED AS AN "EXECUTE" DECK (ZIP) 04601000 -*1 04602000 -TO IMPLEMENT THE B5500 ZIP FUNCTION THROUGH R/C, USE THE 04603000 -FOLLOWING CONSTRUCT: 04604000 -*RCTEACH ZIP 04604500 -*17 04605000 - * ZIP 04606000 -*2 04607000 -THIS CONSTRUCT ZIPS THE OPENED FILE AFTER IT LINKS ALL THE CONTROL 04608000 -*INVALID 24 04609000 -CARDS AS INDICATED BY "Q". SEE THE ALGOL REFERENCE MANUAL FOR A 04610000 -DESCRIPTION OF THE "ZIP WITH FILE-ID" STATEMENT. 04611000 -*17 04614000 - * ZIP 04615000 -*2 04616000 -COPIES THE OPENED FILE CREATING AND ZIPS 04617000 -. NOTE THIS "ZIP" CONSTRUCT DOES NOT DESTROY THE 04618000 -OPEN FILE AS DOES THE FIRST FORM. 04619000 -*RCEND 04619500 -*15 04620000 -EXAMPLES: 04621000 -*25 04622000 - :COLUMN ON "@";COLUMN 73~ 04623000 - :OPEN MAKE/MANUAL DATA NEW;%%EXECUTE XREF/JONES.~ 04624000 - 200:%%FILE DISK = TEACHER/0000094.~ 04625000 - 300:%% DATA CARD.~ 04626000 - 400:$ DISK SIX DOCONLY DOCUMENT FINAL~ 04627000 - 500:@99999999~ 04628000 - 600%% END.~ 04629000 - 700:* ZIP TEMP/NAME~ 04630000 - WAIT... 04631000 - 700: 04632000 -*3 04633000 -THIS EXAMPLE ILLUSTRATES HOW TO CREATE A CONTROL DECK 04634000 -AND INITIATE ITS EXECUTION. THE DECK WAS SAVED (UNDER THE 04635000 -NAME "MAKE/MANUAL") SINCE THE ZIP CONSTRUCT INCLUDED THE 04636000 -DUMMY FILE "TEMP/NAME". (NOTE THAT THE ABOVE DECK WILL 04637000 -CREATE AN R/C USERS MANUAL.) 04638000 -*25 04639000 - :* OPEN MAKE/MANUAL DATA;* ZIP T/N;* CLOSE~ 04640000 - WAIT... 04641000 - : 04642000 -*8 05000000 -RECORD HANDLING VERBS 05001000 -*5 05100000 -RECORD COPYING (DITTO) 05101000 -*1 05102000 -RECORDS MAY BE COPIED FROM ONE PLACE TO ANOTHER WITHIN A 05103000 -FILE BY THE CONSTRUCT: 05104000 -*RCTEACH DITTO 05104500 -*17 05105000 - * DITTO 05106000 -*2 05107000 -COPIES CARD IMAGE AS THE NEXT RECORD. 05108000 -*17 05109000 - * DITTO , 05110000 -*2 05111000 -COPIES THE CARD IMAGES TO AS THE NEXT RECORDS. 05112000 -*17 05113000 - * DITTO OVERITE ON 05114000 -*17 05115000 - * DITTO OVERITE OFF 05116000 -*17 05117000 - * DITTO OVERITE 05118000 -*2 05119000 -IF THE DITTO OVERITE IS OFF AND AN EXISTING RECORD IS ABOUT TO BE 05120000 -OVERWRITTEN, THE DITTO TERMINATES WITH AN "OVERITE OFF" MESSAGE. (IT 05121000 -IS INITIALLY OFF.) THE ABOVE COMMANDS ARE USED TO SET THE OPTION AND 05122000 -TO PRINT ITS CURRENT SETTING. ITS SETTING MAY BE REVERSED FOR ONE 05123000 -COMMAND BY PREFIXING THE DITTO WITH A -. (E.G. *-DITTO 10,50.) 05124000 -*17 05126000 - * DITTO MOVE 05127000 -*17 05128000 - * DITTO , MOVE 05129000 -*2 05130000 -THE MOVE OPTION, MOVES RECORDS THRU TO THE CURRENT LOCATION. 05131000 -THIS OPTION IS VERY FAST, BUT OVERITING IS NOT ALLOWED. 05132000 -*RCEND 05133000 -*15 05134000 -EXAMPLES: 05135000 -*25 05136000 - 500:* DITTO 200,300~ 05137000 - 700:* LIST~ 05138000 - 100:ONE 05139000 - 200:TWO 05140000 - 300:THREE 05141000 - 400:FOUR 05142000 - 500:TWO 05143000 - 600:THREE 05144000 - 700:*DITTO 200,300 MOVE;*LIST~ 05145000 - 100:ONE 05146000 - 400:FOUR 05147000 - 500:TWO 05148000 - 600:THREE 05149000 - 700:TWO 05150000 - 800:THREE 05151000 - 900: 05152000 -*5 05200000 -COPYING EXTERNAL FILES (COPY) 05201000 -*1 05202000 -WHOLE OR PARTIAL EXTERNAL FILES MAY BE COPIED INTO THE 05203000 -CURRENTLY OPENED FILE BY THE CONSTRUCTS: 05204000 -*RCTEACH COPY 05204500 -*17 05205000 - * COPY 05206000 -*17 05207000 - * COPY 05208000 -*17 05209000 - * COPY , 05210000 -*17 05211000 - * COPY MERGE 05212000 -*2 05213000 -THE COPY VERB COPIES RECORDS FROM ANOTHER FILE (). 05214000 -*2 05215000 -THE FIRST FORM COPIES THE WHOLE FILE. THE SECOND FORM COPIES THE 05216000 --TH RECORD (WHERE THE FIRST RECORD OF IS 1, THE SECOND 05217000 -RECORD IS 2, THE THIRD IS 3, ETC.). THE THIRD FORM COPIES THE -TH 05218000 -THROUGH THE -TH RECORDS. THE LAST FORM USES THE SEQUENCE NUMBERS OF 05219000 -THE RECORDS OF TO DETERMINE THEIR POSITION IN THE OPEN 05220000 -FILE. 05221000 -*17 05222000 - * COPY OVERITE ON 05223000 -*17 05224000 - * COPY OVERITE OFF 05225000 -*17 05226000 - * COPY OVERITE 05227000 -*2 05228000 -IF THE COPY OVERITE IS OFF AND AN EXISTING RECORD IS ABOUT TO BE 05229000 -OVERWRITTEN, THE COPY TERMINATES WITH AN "OVERITE OFF" MESSAGE. (IT IS 05230000 -INITIALLY OFF.) THE ABOVE COMMANDS ARE USED TO SET THE OPTION AND TO 05231000 -PRINT ITS CURRENT SETTING. ITS SETTING MAY BE REVERSED FOR ONE COMMAND 05232000 -BY PREFIXING THE COPY WITH A -. (E.G. *-COPY A/B 10,50.) 05233000 -*RCEND 05234000 -*15 05235000 -EXAMPLES: 05236000 -*25 05237000 - :* OPEN SOURCE/MARK7 ALGOL NEW~ 05238000 - 100:* COPY SOURCE/MARK6~ 05239000 - WAIT... 05240000 - 8900: 05241000 -*26 05242000 - 500:* COPY LIBRARY/FILE 345, 368~ 05243000 - WAIT... 05244000 - 2800: 05245000 -*26 05246000 - :QUICK PATCH/FILE~ 05247000 - 1:A 00000050 05248000 - 2:B 00000150 05249000 - 3:C 00000200 05250000 - 4:X 00000175 05251000 - 5:Y 00000250 05252000 - 6:Z 00000250 05253000 - :OPEN MY/SOURCE ALGOL OLD~ 05254000 - 400:* COPY OVERITE ON;*COPY PATCH/FILE MERGE~ 05255000 - 400:* LIST~ 05256000 - 50:A 05257000 - 100:1 05258000 - 150:B 05259000 - 175:X 05260000 - 200:C 05261000 - 250:Z 05262000 - 300:3 05263000 - 400: 05264000 -*5 05300000 -INTRA-RECORD EDITING (INLINE) 05301000 -*1 05302000 -RECORDS MAY BE EDITED BY USE OF THE "* INLINE" CONSTRUCTS 05303000 -DESCRIBED IN THE NEXT PARAGRAPHS. 05304000 -*RCTEACH INLINE 05304500 -*17 05305000 - * INLINE 05306000 -*17 05307000 - * INLINE 05308000 -*17 05309000 - * INLINE 05310000 -*17 05311000 - * INLINE 05312000 -*1 05313000 -THIS SETS UP LINE FOR INLINE EDITING. IF THE SEQUENCE NUMBER 05314000 -IS NOT INCLUDED WITH THE COMMAND, THE PREVIOUS RECORD IS USED AND THE 05315000 -INITIAL PRINTING OF IT IS SUPPRESSED. 05316000 -*17 05317000 - * INLINE ECHO ON 05318000 -*17 05319000 - * INLINE ECHO OFF 05320000 -*17 05321000 - * INLINE ECHO 05322000 -*1 05323000 -THE MODIFIED RECORD WILL BE TYPED ON THE TELETYPE IF THE INLINE ECHO 05324000 -IS ON. (IT IS INITIALLY ON.) THE ABOVE COMMANDS ARE USED TO SET THE 05325000 -OPTION AND TO PRINT ITS CURRENT SETTING. ITS SETTING MAY BE REVERSED 05326000 -FOR ONE COMMAND BY PREFIXING THE INLINE WITH A -. (E.G. * -INLINE +3.) 05327000 -*1 05329000 -TO MODIFY A PORTION OF A RECORD (CARD IMAGE) USE THE "* INLINE" VERB. 05330000 -R/C PRINTS THE RECORD NUMBER AND THE LINE, THEN GIVES A CARRIAGE 05331000 -RETURN AND LINE FEED. IT NEXT SPACES THE PRINT BALL (ON THE NEW LINE) 05332000 -DIRECTLY BELOW THE FIRST CHARACTER POSITION OF THE OLD LINE, ABOVE. 05333000 -THE USER SPACES THE PRINT BALL TO THE PROPER POSITION AND ACCOMPLISHES 05334000 -THE FOLLOWING ACTIONS: 05335000 -*2 05336000 -TO INSERT A STRING, TYPE THE LETTER "I" FOLLOWED BY THE STRING AND 05337000 -A "~". 05338000 -*2 05339000 -TO DELETE A STRING, USE THE LETTER "D" FOLLOWED BY SPACES UNDER THE 05340000 -CHARACTERS TO BE DELETED AND THEN A "~". 05341000 -*2 05342000 -TO REPLACE A STRING, USE THE LETTER "R" FOLLOWED BY THE NEW STRING OF 05343000 -THE SAME LENGTH AND A "~". 05344000 -*2 05345000 -IF THE MODIFICATION IS TO BE DONE IN THE FIRST CHARACTER, THEN INCLUDE 05346000 -THE "I", "R", OR "D" WITH THE INLINE COMMAND. 05347000 -*RCEND 05347500 -*SKIP 2 INDENT 10 05348000 -EXAMPLES: 05349000 -*17 05350000 -TO INSERT CHARACTERS INTO A RECORD: 05351000 -*25 05352000 - 300:*INLINE 30500~ 05353000 - 30500:ABCDEFGHIJK 05354000 - 00030500: I12345~ 05355000 - 30500:ABC12345DEFGHIJK 05356000 -*17 05357000 -TO DELETE CHARACTERS FROM A RECORD: 05358000 -*25 05359000 - 7700:*INLINE 67700~ 05360000 - 67700:ABCDEFGHIJKLMNOP 05361000 - 00067700: D ~ 05362000 - 67700:ABHIJKLMNOP 05363000 -*17 05364000 -TO REPLACE CHARACTERS IN A RECORD: 05365000 -*25 05366000 - 600:* INLINE 551~ 05367000 - 551:ABCDEFGHIJKLMNOPQRST 05368000 - 00000551:R12345~ 05369000 - 551:A12345GHIJKLMNOPQRST 05370000 -*17 05371000 -TO MODIFY A RECORD BEGINNING WITH ITS FIRST CHARACTER: 05372000 -*25 05373000 - 00006700:*INLINE 70800 D~ 05374000 - 70800:ABCDEFGHIJKLM 05375000 - 00070800: ~ 05376000 - 70800:DEFGHIJKLM 05377000 - 70900:* INLINE D; ~ 05378000 - 70800:EFGHIJKLM 05379000 -*2 05380000 -THE "R" AND "I" FORMS OF THIS LATTER CONSTRUCT OPERATE 05381000 -IN A SIMILAR FASHION. 05382000 -*5 05400000 -STRINGS 05401000 -*1 05402000 -R/C SCANS FOR THE OCCURRENCE OF A STRING BY USE OF THE "* 05403000 -SCAN" AND "* CHANGE" VERBS. IN THIS APPLICATION THE FOLLOWING 05404000 -DEFINITION OF "STRING" APPLIES: 05405000 -*25 05406000 - ::= 05407000 - ::= "/ ( / [ / . 05408000 - ::= "/ ) / ] / . 05409000 - ::= {ANY STRING OF CHARACTERS 05410000 - EXCLUDING THE CORRESPONDING 05411000 - TO THE CHARACTER USED.} 05412000 - ::= {EMPTY} / 05413000 - @ / @- 05414000 -*1 05415000 -IF THE STRING IS DELIMITED BY PERIODS, AN ADDED CHECK WILL 05416000 -BE MADE BEFORE DETERMINING A MATCHED STRING. THIS CHECK INSURES 05417000 -THAT THE MATCHED STRING WILL BE IMMEDIATELY PRECEEDED AND 05418000 -FOLLOWED BY A NON-ALPHANUMERIC CHARACTER. HENCE THIS FORM SHOULD 05419000 -BE USED FOR IDENTIFIERS. 05420000 -*1 05421000 -IF THE IS SPECIFIED, A MATCH WILL BE FOUND 05422000 -ONLY IF THE FIRST CHARACTER APPEARS WITHIN THE RANGE. 05423000 -*15 05424000 -EXAMPLES: 05425000 -*25 05426000 - "FD"@8 05427000 -*26 05428000 - .LIST. 05429000 -*26 05430000 - "M := IMAGE [5] ;"@15-25 05431000 -*26 05432000 - ( WORD [I] := "SCAN" ;) 05433000 -*26 05434000 - ["] 05435000 -*26 05436000 - "" 05437000 -*5 05500000 -CHANGING THE OCCURRENCE OF A STRING (CHANGE) 05501000 -*1 05502000 -ENTIRE STRINGS MAY BE CHANGED IN A FILE BY USE OF THE "* 05503000 -CHANGE" VERB. 05504000 -*RCTEACH CHANGE 05504500 -*17 05505000 - * CHANGE TO 05506000 -*2 05507000 -SCANS THE CURRENT RECORD REPLACING EVERY OCCURRENCE OF THE FIRST 05508000 -STRING WITH THE SECOND. IF NO " TO " APPEARS THE 05509000 -PREVIOUSLY USED STRINGS WILL BE USED AGAIN. 05510000 -*17 05511000 - * CHANGE TO 05512000 -*2 05513000 -AS ABOVE, FOR THE RECORD WITH SEQUENCE NUMBER . 05514000 -*17 05515000 - * CHANGE , TO 05516000 -*2 05517000 -AS ABOVE, FOR ALL RECORDS FROM SEQUENCE NUMBER TO . 05518000 -*17 05519000 - * CHANGE ECHO ON 05520000 -*17 05521000 - * CHANGE ECHO OFF 05522000 -*17 05523000 - * CHANGE ECHO 05524000 -*2 05525000 -THE MODIFIED RECORDS WILL BE TYPED ON THE TELETYPE IF THE CHANGE ECHO 05526000 -IS ON. (IT IS INITIALLY OFF.) THE ABOVE COMMANDS ARE USED TO SET THE 05527000 -OPTION AND TO PRINT ITS CURRENT VALUE. ITS SETTING MAY BE REVERSED FOR 05528000 -A COMMAND BY PREFIXING THE CHANGE WITH A -. (E.G. *-CHANGE "X" TO 05529000 -"Z".) 05530000 -*RCEND 05530500 -*15 05531000 -EXAMPLES: 05532000 -*25 05533000 - 00004200:* CHANGE "REMOTE/CARD" TO "R/C";*CHANGE 5300~ 05534000 - 00005300: 05535000 -*26 05536000 - 8700:* -CHANGE -1 .TWX.@25-30 TO "TELETYPWRITER"~ 05537000 - 8600: THE OUTPUT IS TYPED ON THE TELETYPWRITER IF 05538000 - 00008600: 05539000 -*26 05540000 - 450:* CHANGE 232, 448 "IMAGE [I]" TO (Z [J])~ 05541000 - WAIT... 05542000 - 00000448: 05543000 -*26 05544000 - 47000:* CHANGE 2200+6 " "@1 " "~ 05545000 - 00002800:* CHANGE +1+3 " "@1 ""~ 05546000 - 00003200: 05547000 -*5 05600000 -SCANNING FOR OCCURRENCE OF A STRING (SCAN) 05601000 -*RCTEACH SCAN 05601500 -*17 05602000 - * SCAN 05603000 -*2 05604000 -SCANS THE FILE FROM THE CURRENT SEQUENCE NUMBER TO THE END OF THE FILE 05605000 -OR UNTIL THE FIRST OCCURRENCE OF . IF THE STRING IS FOUND THE 05606000 -RECORD CONTAINING IT IS TYPED ON THE TELETYPEWRITER. IF IS 05607000 -ACTUALLY TWO S THE SCAN STOPS AT THE FIRST OCCURRENCE OF 05608000 -EITHER . IF NO APPEARS WITH THE COMMAND, IT IS 05609000 -ASSUMED TO BE THE SAME AS IN THE LAST "* SCAN" OR "* CHANGE" 05610000 -COMMAND. IF THE SCAN VERB IS PREFIXED BY A -, THE SCAN WILL BE FOR 05611000 -RECORDS NOT CONTAINING THE . 05612000 -*17 05614000 - * SCAN 05615000 -*2 05616000 -AS ABOVE, EXCEPT THAT THE SCAN BEGINS AT SEQUENCE NUMBER . 05617000 -*17 05618000 - * SCAN , 05619000 -*2 05620000 -AS ABOVE, EXCEPT THAT THE SCANNING STOPS AFTER SEQUENCE NUMBER . 05621000 -*17 05622000 - * SCAN 05623000 -*2 05624000 -THE FILE IS SCANNED FOR . EVERY RECORD IN WHICH 05625000 - OCCURS IS TYPED ON THE TELETYPEWRITER. 05626000 -*17 05627000 - * SCAN 05628000 -*2 05629000 -AS ABOVE, EXCEPT THE SCAN BEGINS AT RECORD NUMBER . 05630000 -*17 05631000 - * SCAN , 05632000 -*2 05633000 -AS ABOVE, EXCEPT THAT THE SCAN STOPS AFTER THE -TH RECORD. 05634000 -*RCEND 05634500 -*15 05635000 -EXAMPLES: 05636000 -*25 05637000 - :* SCAN LIBRARY/FILE "TABLE OF CONTENTS"@3~ 05638000 - WAIT... 05639000 - 1:% TABLE OF CONTENTS ... READDATA 05640000 - 98:% TABLE OF CONTENTS ... READDATA 05641000 - 99:% TABLE OF CONTENTS ... WRITEDATA 05642000 - 273:% TABLE OF CONTENTS ... WRITEDATA 05643000 - 274:% TABLE OF CONTNETS ... DATE 05644000 - 285:% TABLE OF CONTENTS ... DATE 05645000 - : 05646000 -*26 05647000 - 8700:* SCAN 1 .PRINTER. .LINE.~ 05648000 - WAIT... 05649000 - 100: FILE PRINTER 1 (2, 15) ; 05650000 - 101:* SCAN~ 05651000 - WAIT... 05652000 - 2400: WRITE (LINE, F, LISTA) ; 05653000 - 2401:* SCAN~ 05654000 - WAIT... 05655000 - EOF NO STRING 05656000 - 8700: 05657000 -*5 05700000 -RECORD FORMATTING (EDIT) 05701000 -*1 05702000 -RECORDS MAY BE FORMATTED BY THE FOLLOWING CONSTRUCTS: 05703000 -*RCTEACH EDIT 05703500 -*17 05704000 - * EDIT , : 05705000 -*2 05706000 -EDITS EACH RECORD FROM SEQUENCE NUMBER TO ACCORDING TO THE 05707000 -FORMAT RECORD WITH SEQUENCE NUMBER . 05708000 -*2 05709000 -THE RESULT OF THE EDIT IS THAT EACH RECORD BECOMES IDENTICAL WITH THE 05710000 -FORMAT RECORD EXCEPT WHERE THERE IS A "#" OR "@" CHARACTER IN FORMAT 05711000 -RECORD. EACH "@" IS REPLACED BY THE NEXT CHARACTER OF THE INPUT 05712000 -RECORD. EACH "#" SKIPS THE NEXT CHARACTER OF THE INPUT RECORD. 05713000 -*17 05715000 - * EDIT ECHO ON 05716000 -*17 05717000 - * EDIT ECHO OFF 05718000 -*17 05719000 - * EDIT ECHO 05720000 -*2 05721000 -THE MODIFIED RECORDS WILL BE TYPED ON THE TELETYPE IF THE EDIT ECHO IS 05722000 -ON. (IT IS INITIALLY OFF.) THE ABOVE COMMANDS ARE USED TO SET THE ECHO 05723000 -AND TO PRINT ITS CURRENT SETTING. IT SETTING MAY BE REVERSED FOR A 05724000 -COMMAND BY PREFIXING THE EDIT WITH A -. (E.G. *- EDIT 200,800:2) 05725000 -*RCEND 05726000 -*15 05727000 -EXAMPLE: 05728000 -*25 05729000 - 100:1234567890~ 05730000 - 200:ABCDEFGHIJK~ 05731000 - 300: @@@...@@. THIS IS THE WAY THE LINE ENDS...@##@@@~ 05732000 - 400:* -EDIT 100, 200:300~ 05733000 - 100: 123...45. THIS IS THE WAY THE LINE ENDS...690 05734000 - 200: ABC...DE. THIS IS THE WAY THE LINE ENDS...FIJK 05735000 -*5 05750000 -RESEQUENCING RECORD NUMBERS (RESEQ) 05751000 -*1 05752000 -FILE SEQUENCE NUMBERS MAY BE MODIFIED BY THE FOLLOWING CONSTRUCTS: 05753000 -*RCTEACH RESEQ 05753500 -*17 05754000 - * RESEQ 05755000 -*2 05756000 -RESEQUENCES THE FILE BY THE CURRENT INCREMENT COUNTER. 05757000 -*17 05758000 - * RESEQ 05759000 -*2 05760000 -SETS THE INCREMENT COUNTER TO AND RESEQUENCES. 05761000 -*17 05762000 - * RESEQ , 05763000 -*2 05764000 -RESEQUENCES THE SEQUENCE NUMBERS THRU BY THE CURRENT INCREMENT 05765000 -COUNTER. THE FIRST SEQUENCE NUMBER IS . 05766000 -*17 05767000 - * RESEQ , , 05768000 -*2 05769000 -AS ABOVE, EXCEPT THAT THE FIRST SEQUENCE NUMBER IS . 05770000 -*17 05771000 - * RESEQ , , , 05772000 -*2 05773000 -AS ABOVE, EXCEPT THE INCREMENT IS SET TO FIRST. 05774000 -*RCEND 05774500 -*15 05775000 -EXAMPLES: 05776000 -*25 05777000 - 895:* RESEQ~ 05778000 - 323:* RESEQ 100~ 05779000 - 32300: 05780000 -*5 05800000 -DELETION OF RECORDS (DELETE) 05801000 -*1 05802000 -RECORDS MAY BE DELETED FROM A FILE BY THE FOLLOWING CONSTRUCTS: 05803000 -*RCTEACH DELETE 05803500 -*17 05804000 - * DELETE 05805000 -*2 05806000 -DELETES CARD IMAGE . 05807000 -*17 05808000 - * DELETE , 05809000 -*2 05810000 -DELETES CARD IMAGES THROUGH . 05811000 -*17 05812000 - * DELETE 05813000 -*2 05814000 -DELETES THE CURRENT CARD. 05815000 -*RCEND 05815500 -*15 05816000 -EXAMPLES: 05817000 -*25 05818000 - 3400:* DELETE 3300~ 05819000 - 3300: 05820000 -*26 05821000 - 2100:* DELETE 1500, + 3;* LIST 1400,2000~ 05822000 - 1400: BEGIN 05823000 - 1900: GO TO ERROR ; 05824000 - 2000: END ; 05825000 - 2100: 05826000 -*26 05827000 - 2100:* 2000~ 05828000 - 2000: END ; 05829000 - 00002000:*DELETE~ 05830000 - 2000: 05831000 -*8 06000000 -OPERATIONAL COMMANDS 06001000 -*5 06100000 -SET THE INCREMENT COUNTER (INC) 06101000 -*1 06102000 -THE INCREMENT COUNTER MAY BE SET BY THE CONSTRUCT "* INC". 06103000 -*RCTEACH INC 06103500 -*17 06104000 - * INC 06105000 -*2 06106000 -THIS CONSTRUCT SETS THE INCREMENT COUNTER TO . 06107000 -*17 06108000 - * INC 06109000 -*2 06110000 -THIS CONSTRUCT PRINTS THE CURRENT VALUE. 06111000 -*RCEND 06111500 -*15 06112000 -EXAMPLES: 06113000 -*25 06114000 - 100:BEGIN~ 06115000 - 200: INTEGER I, J, K ;~ 06116000 - 300:* INC 3~ 06117000 - 300: BOOLEAN B ;~ 06118000 - 303: REAL X, Y, Z ;~ 06119000 - 306: 06120000 -*5 06200000 -NON-TELETYPEWRITER CHARACTERS (PERCENT) 06201000 -*1 06202000 -SPECIAL CHARACTERS ON THE B5500 BUT NOT AVAILABLE ON THE 06203000 -*INVALID 55 06203500 -TELETYPEWRITER KEYBOARD (INCLUDING THE QUESTION MARK "Q") MAY BE 06204000 -INSERTED INTO R/C MAINTAINED FILES BY THE "* PERCENT" CONSTRUCT. 06205000 -*RCTEACH PERCENT 06205500 -*17 06206000 - * PERCENT ON 06207000 -*17 06208000 - * PERCENT OFF 06209000 -*17 06210000 - * PERCENT 06211000 -*2 06212000 -THE "* PERCENT" CONSTRUCTS ALLOW A USER TO INPUT THE SPECIAL RESERVED 06213000 -*INVALID 59 06213500 -CHARACTERS (I.E. LEFT-ARROW, NEQ, LSS, GEQ, GTR, LEQ, AND Q). THE 06214000 -ABOVE COMMANDS ARE USED TO SET THE OPTION AND TO PRINT ITS CURRENT 06215000 -SETTING. WHEN THE PERCENT OPTION IS ON, INPUT FROM THE TELETYPEWRITER 06216000 -IS SCANNED FOR SPECIAL CHARACTER PAIRS. IF A PAIR IS FOUND IT IS 06217000 -REPLACED BY THE SINGLE CHARACTER AS FOLLOWS: 06218000 -*25 06220000 - CHARACTER PAIR INTERNAL CHARACTER 06221000 - -------------- ------------------ 06222000 -* 06223000 - %- ~ (LEFT ARROW) 06224000 - %= ! (NEQ) 06225000 - %( < (LSS) 06226000 - %) > (GTR) 06227000 - %[ { (LEQ) 06228000 - %] } (GEQ) 06229000 -*INVALID 44 06229500 - %% Q (QUESTION MARK) 06230000 - %* * (STAR) (1ST CHR ONLY) 06231000 -*2 06232000 -A "%" FOLLOWED BY ANY OTHER CHARACTER REMAINS AS IS. WHEN THE PERCENT 06232500 -OPTION IS ON, THE TRANSLATION TAKES PLACE IMMEDIATELY. HENCE ONLY ONE 06233000 -BACKSPACE (SHIFT 7) IS NEEDED. 06233500 -*RCEND 06234000 -*15 06236000 -EXAMPLES: 06237000 -*25 06238000 - 100:* PERCENT OFF~ 06239000 - 100:%% COMPILE ... %= %( %A~ 06240000 - 200:* PERCENT ON~ 06241000 - 200:%% COMPILE ... %= %( %A~ 06242000 - 300:* LIST~ 06243000 - 100:%% COMPILE ... %= %( %A 06244000 -*INVALID 23 06244500 - 200:Q COMPILE ... ! < %A 06245000 - 300: 06246000 -*2 06247000 -NOTE THAT ON THE TELETYPWRITER THE CHARACTERS "!" AND 06248000 -"<" WOULD HAVE BEEN TYPED AS A "$". 06249000 -*5 06250000 -R/C VERB RENAMING (REPLACE) 06251000 -*1 06252000 -R/C VERBS MAY BE REPLACED BY OTHER WORDS THROUGH THE 06253000 -CONSTRUCT "* REPLACE". 06254000 -*RCTEACH REPLACE 06254500 -*17 06255000 - * REPLACE : 06256000 -*2 06257000 -THE REPLACE VERB RENAMES THE VERB WITH THE WORD . 06258000 -*RCEND 06258500 -*15 06259000 -EXAMPLES: 06260000 -*25 06261000 - :* REPLACE LIST:TYPE~ 06262000 - :* REPLACE INLINE:IN~ 06263000 - :* REPLACE REPLACE:R~ 06264000 - :* R CHANGE:C~ 06265000 - : 06266000 -*5 06300000 -AUTOMATIC FIRST CHARACTER PLACEMENT (TAB) 06301000 -*1 06302000 -R/C USERS MAY INITIALLY (AUTOMATICALLY) PRE-POSITION THE 06303000 -PRINT BALL AT ANY COLUMN BY USE OF THE "* TAB" CONSTRUCT. 06304000 -*RCTEACH TAB 06304500 -*17 06305000 - * TAB 06306000 -*2 06307000 -SETS UP AUTOMATIC INDENTING TO POSITION , WHERE 1 06308000 -LEQ LEQ 54. 06309000 -*17 06310000 - * TAB + 06311000 -*17 06312000 - * TAB - 06313000 -*2 06314000 -ADJUSTS THE TAB AMOUNT BY THE VALUE OF . 06315000 -*17 06316000 - * TAB ON 06317000 -*17 06318000 - * TAB OFF 06319000 -*17 06320000 - *TAB 06321000 -*2 06322000 -THE TAB OPTION PERMITS THE USER (BY SETTING THE OPTION OFF) TO 06323000 -SURPRESS THE TAB SPACING ON THE TELETYPEWRITER. THE AUTOMATIC 06324000 -INDENTING STILL APPLIES TO THE RECORDS CREATED. THE LAST CONSTRUCT 06325000 -PRINTS BOTH THE SETTING OF THE OPTION AND THE TAB VALUE. 06326000 -*RCEND 06327000 -*15 06328000 -EXAMPLE: 06329000 -*25 06330000 - 4500:* TAB~ 06331000 - 4500: BEGIN~ 06332000 - 4600: * TAB+2~ 06333000 - 4600: K := K + DELTAK ;~ 06334000 - 4700: * TAB - 2;END ;~ 06335000 - 4800: * TAB 1~ 06336000 - 4800: 06337000 -*5 06350000 -SETTING THE SAVE FACTOR (SAVE) 06351000 -*1 06352000 -THE SAVE FACTOR OF A DISK FILE IS THE NUMBER OF DAYS AFTER 06353000 -ITS LAST ACCESS BEFORE IT WILL BE CONSIDERED EXPIRED. THE SAVE 06354000 -FACTOR FOR A NEW USER IS SET AT 7 DAYS. IT MAY BE CHANGED BY: 06355000 -*RCTEACH SAVE 06355500 -*17 06356000 - * SAVE 06357000 -*2 06358000 -SETS THE SAVE FACTOR AT DAYS. 06359000 -*17 06360000 - * SAVE 06361000 -*2 06362000 -PRINTS THE CURRENT VALUE OF THE SAVE FACTOR. 06363000 -*RCEND 06363500 -*15 06364000 -EXAMPLE: 06365000 -*25 06366000 - :* SAVE 10~ 06367000 - : 06368000 -*5 06400000 -TABULATING (COLUMN) 06401000 -*RCTEACH COLUMN 06401500 -*17 06402000 - * COLUMN 06403000 -*17 06404000 - * COLUMN ON 06405000 -*17 06406000 - * COLUMN OFF 06407000 -*17 06408000 - * COLUMN 06409000 -*2 06410000 -THE COLUMN VERB IS USED TO SET UP COLUMN POSITIONS AND INDICATE WHAT 06411000 -CHARACTER IS THE COLUMN CHARACTER. THE FIRST FORM PRINTS THE CURRENT 06412000 -SETTINGS. THE SECOND AND THIRD FORMS ARE USED TO TURN THE OPTION ON OR 06413000 -OFF. THE FOURTH FORM SETS UP FROM 1 TO 4 COLUMN POSITIONS. ANY FORM 06414000 -MAY SET THE COLUMN CHARACTER. 06415000 -*2 06417000 -WHEN THE OPTION IS ON, EACH OCCURENCE OF THE COLUMN CHARACTER IN AN 06417500 -INPUT RECORD CAUSES BLANKS TO BE INSERTED TO THE NEXT HIGHER COLUMN 06418000 -POSITION. 06418500 -*RCEND 06419000 -*15 06421000 -EXAMPLE: 06422000 -*25 06423000 - :COLUMN ON "#";* COLUMN 10 20 25;COLUMN~ 06424000 - COLUMN ON # 10 20 25 06425000 - :OPEN COLUMN/SHOW ALGOL NEW~ 06426000 - 100:ABC#123#XYZ#IJK#789~ 06427000 - 200:* LIST~ 06428000 - 100:ABC 123 XYZ IJK#789 06429000 - 200:123456789012345678901234567890~ 06430000 - 300: 06431000 -*8 07000000 -AUXILIARY COMMANDS 07001000 -*5 07100000 -MESSAGES TO OTHERS (MAIL) 07101000 -*1 07102000 -MESSAGES MAY BE RECEIVED FROM, AND SENT TO, OTHER USERS OF 07103000 -R/C BY THE "* MAIL" VERB DESCRIBED BELOW. 07104000 -*RCTEACH MAIL 07104500 -*17 07105000 - * MAIL 07106000 -*2 07107000 -THIS LISTS THE MAIL SENT TO YOU, AND REMOVES IT FROM YOUR "MAIL-BOX". 07108000 -*17 07110000 - * MAIL TO : MESSAGE 07111000 -*2 07112000 -THIS ADDS YOUR MESSAGE TO THE -S MAIL. 07113000 -*RCEND 07113500 -*15 07114000 -EXAMPLES: 07115000 -*25 07116000 - :* MAIL~ 07117000 - PLEASE SEE ME WHEN YOU GET A CHANCE-BALDWIN 07118000 - THERE WILL NOT BE ANY REMOTE TIME 10/24/70-SYSTEM 07119000 - :* MAIL TO BALDWIN:MY OFFICE - 10AM- FRIDAY~ 07120000 -*5 07200000 -HOW TO DETACH YOURSELF FROM R/C (END) 07201000 -*1 07202000 -THREE METHODS ARE AVAILABLE TO THE USER WHEN HE WISHES TO 07203000 -MAKE AN EXIT FROM R/C: 07204000 -*RCTEACH END 07204500 -*17 07205000 - * END 07206000 -*17 07207000 - * END 07208000 -*17 07209000 - * END DS 07210000 -*2 07211000 -THE FIRST CONSTRUCT DETACHES THE USER FROM R/C. 07212000 -*2 07213000 -THE SECOND CONSTRUCT CAUSES R/C TO REMEMBER, FROM ONE RUN TO THE NEXT, 07214000 -THE VALUES OF THE OPTIONS AND THE EFFECTS OF THE "* REPLACE" VERB. THE 07215000 -"* END" CONSTRUCT DOES NOT GENERATE THIS LASTING EFFECT. DENOTES 07216000 -ANY ALPHANUMERIC CHARACTER STRING. 07217000 -*2 07219000 -THE THIRD CONSTRUCT ALLOWS A USER TO END WITHOUT CLOSING THE OPEN 07220000 -FILE. R/C REMEMBERS THE FILE STRUCTURE FOR THE NEXT TIME. HOWEVER THE 07221000 -FILE SHOULD NOT BE ACCESSED BY ANY OTHER PROGRAM UNTIL IT IS CLOSED 07222000 -USING R/C. THIS FORM CAN BE USED WHEN THE FILE EDITING IS SPLIT OVER 07223000 -MORE THAN ONE RUNNING OF R/C. 07224000 -*RCEND 07225000 -*15 07226000 -EXAMPLES: 07227000 -*25 07228000 - :* END~ 07229000 - GOOD BYE 07230000 -*26 07231000 - 634:* END X~ 07232000 - WAIT... 07233000 - GOOD BYE 07234000 -*26 07235000 - 892:* END DS~ 07236000 - GOOD BYE 07237000 -*5 07300000 -LEARNING ABOUT R/C ON THE TELETYPEWRITER (TEACH) 07301000 -*1 07302000 -THE TEACH VERB ALLOWS A USER AT THE TELETYPEWRITER TO LEARN 07303000 -ABOUT THE R/C VERBS AND SPECIFICALLY WHAT VERBS HE MAY USE. 07304000 -*RCTEACH TEACH 07304500 -*17 07305000 - * TEACH 07306000 -*2 07307000 -THIS LISTS THE VERBS THAT YOU ARE PERMITTED TO USE. THE LIST REFLECTS 07308000 -THE USE OF REPLACE ON ANY OF THE VERBS. 07309000 -*17 07310000 - * TEACH 07311000 -*2 07312000 -THIS LISTS THE SYNTAX AND SEMANTICS OF THE RESERVED WORD . 07313000 -*RCEND 07313500 -*15 07314000 -EXAMPLES: 07315000 -*25 07316000 - :* TEACH SAVE~ 07317000 - * SAVE $N$ 07318000 - SETS THE SAVE FACTOR AT $N$ DAYS. 07319000 - * SAVE 07320000 - PRINTS THE CURRENT VALUE OF THE SAVE FACTOR. 07321000 - : 07322000 -*26 07323000 - 121970:* TEACH~ 07324000 - THE VALID REQUESTS ARE: 07325000 - EXECUTE DITTO COPY IN ZIP C EDIT 07326000 - SAVE RESEQ PUNCH PRINT DELETE CLOSE COMPILE07327000 - COLUMN SCAN LISTING INC TAB PERCENT QUICK 07328000 - LIST OPEN MAIL TEACH REMOVE REPLACE END 07329000 - FOR SYNTAX OF A VERB (E.G. TAB), INPUT: 07330000 - * TEACH VERB. (E.G. * TEACH TAB) 07331000 - 121970: 07332000 -*2 07333000 -NOTE THAT THE USE OF THE REPLACE VERB (FOR INLINE AND 07334000 -CHANGE) IS REFLECTED BY THE TEACH VERB. 07335000 -*8 07500000 -MACRO VERB 07501000 -*5 07510000 -MACRO (EXECUTE) 07511000 -*1 07512000 -THE EXECUTE VERB GIVES R/C A SIMPLE MACRO CAPABILITY. 07513000 -*RCTEACH EXECUTE 07513500 -*17 07514000 - * EXECUTE 07515000 -*2 07516000 -RECORDS ARE READ FROM THE AND TREATED AS IF THEY CAME FROM 07517000 -THE TELETYPE. HENCE, THEY MAY CONTAIN COMMANDS. THE , IF PRESENT, CONTAINS FROM 0 TO 5 PARAMETERS ENCLOSED 07519000 -WITHIN PARENTHESIS AND MAY BE FOLLOWED BY A REPEAT FACTOR. EACH 07520000 -PARAMETER MAY BE A SEQUENCE NUMBER, A RELATIVE SEQUENCE NUMBER, A 07521000 -RECORD NUMBER, A FILE PREFIX, A FILE SUFFIX, OR A VERB. WITHIN THE 07522000 - THE PARAMETERS ARE REFERRED TO BY #1, #2, ..., #5. THE REPEAT 07523000 -FACTOR IS AN INTEGER FROM 0 TO 999 AND INDICATES THE NUMBER OF TIMES 07524000 -TO PERFORM THE EXECUTE. IF IT IS NOT SPECIFIED, IT IS ASSUMED TO BE 1. 07525000 -*17 07528000 - * EXECUTE ECHO ON 07529000 -*17 07530000 - * EXECUTE ECHO OFF 07531000 -*17 07532000 - * EXECUTE ECHO 07533000 -*2 07534000 -IF THE EXECUTE ECHO IS ON, EACH RECORD WILL BE TYPED ON THE TELETYPE 07535000 -BEFORE IT IS EXECUTED. IT IS INITIALLY OFF. IT MAY BE REVERSED FOR ONE 07536000 -COMMAND BY PREFIXING THE COMMAND BY A -. 07537000 -*17 07539000 - * EXECUTE LIBRARY = 07540000 -*17 07541000 - * EXECUTE LIBRARY 07542000 -*2 07543000 -THE EXECUTE LIBRARY FACILITY ALLOWS THE USER TO 07544000 -ABBREVIATE: 07545000 -*26 07546000 - * EXECUTE / (P1,P2,P3,P4)07547000 -*16 07548000 -WITH: 07549000 -*26 07550000 - * P1,P2,P3,P4 07551000 -*2 07552000 -THE IS "MACRO" AND ANY OTHER NAME DESIGNATED THRU THE 07553000 -* EXECUTE LIBRARY = COMMAND. 07554000 -*RCEND 07554500 -*15 07555000 -EXAMPLES: 07556000 -*25 07557000 - :* OPEN CREATE/MACRO DATA NEW~ 07558000 - 100:%* OPEN #1/#2 #3 NEW~ 07559000 - 200:* CLOSE~ 07560000 - :* CREATE MOVE/MACRO DATA~ 07561000 - 100:%* DITTO #1,#2 MOVE~ 07562000 - 200:*CLOSE~ 07563000 - : 07564000 -*26 07565000 - 5700:* TEACH CC~ 07566000 - 1:* SCAN + 1 "$$"@1 07567000 - 2:* DELETE -1 07568000 -*INVALID 26 07568500 - 3:Q COMPILE SOME/JOB FORTRAN. 07569000 -*INVALID 26 07569500 - 4:Q DATA 07570000 - 5:FILE 6=FILE6, UNIT = PRINTER 07571000 - 5700:*1;* INC 10;*EXECUTE CC/MACRO ()@2~ 07572000 - WAIT... 07573000 - 2200:$$ JOB 07574000 - 2900:$$ IBJOB 07575000 - 2840: 07576000 -*PAGEID 1," A-" 08000000 -*PAGE SKIP 10 INDEX 2 CENTER UNDERLINE 2 08001000 -APPENDIX A 08003000 -R/C SOURCE TAPE 08004000 -*SKIP 10 PARAGRAPH 10,72,5 08006000 -R/C RESIDES ON A SYSTEM DUMP TAPE CONTAINING THE FILES 08007000 -*15 08008000 -1. RCSY94/RON 08009000 -2. TEACHER/0000094 08010000 -3. XREF/JONES 08011000 -*15 08012000 -THE FILES SHOULD BE LOADED USING THE CONTROL DECK: 08013000 -*25 08014000 -*INVALID 12 08015000 - Q LOAD FROM RC RCSYS94/RON,TEACHER/0000094,XREF/JONES. 08016000 -*INVALID 12 08017000 - Q END. 08018000 -*1 08019000 -RCSY94/RON IS THE SOURCE FILE FOR THE PROGRAM R/C. IT 08020000 -SHOULD BE COMPILED WITH: 08021000 -*15 08022000 -*INVALID 1 08023000 -Q COMPILE R/C WITH ALGOL FOR LIBRARY. 08024000 -*INVALID 1 08025000 -Q ALGOL FILE TAPE = RCSY94/RON SERIAL. 08026000 -*INVALID 1 08027000 -Q STACK = 256. 08028000 -*INVALID 1 08029000 -Q CORE = 2800. = 2500 + 100 | MAXUSERS. 08030000 -*INVALID 1 08031000 -Q PRIORITY = 1. 08032000 -*INVALID 1 08033000 -Q DATA 08034000 -$ TAPE 08035000 -*INDENT 63 08036000 -99999999 08037000 -*INDENT 15 08038000 -*INVALID 1 08038500 -Q END. 08039000 -*1 08040000 -WHEN PATCHES ARE ISSUED THEY SHOULD BE PLACED AFTER THE "$ 08041000 -TAPE" CARD AND R/C SHOULD BE RECOMPILED. 08042000 -*1 08043000 -THE MAXIMUM NUMBER OF USERS HANDLED BY R/C IS DEFINED TO BE 08044000 -3 IN RCSY94/RON. TO INCREASE THE NUMBER, A PATCH CARD MUST BE 08045000 -ADDED. AS AN EXAMPLE, THE FOLLOWING CARD SHOULD BE ADDED TO 08046000 -INCREASE THE MAXIMUM NUMBER OF USERS TO 5. 08047000 -* 08048000 - DEFINE MAXUSERS = 5#, MAXUSER =4# ; 0000250008049000 -*1 08050000 -THE OUTPUT BUFFERS ARE DEFINED TO BE 56 CHARACTERS IN 08051000 -RCSY94/RON. THEY MAY BE SET AT 28 CHARACTERS USING THE FOLLOWING 08052000 -PATCH CARDS: 08053000 -* 08054000 - DEFINE CHRSPERBUFFER = 28#, % OR 56 0000260008055000 - WORDSPERBUFFER = 5#, % OR 8 0000270008056000 - WRDSPERBUFFER = 4# ; % OR 7 0000280008057000 -*1 08058000 -TEACHER/0000094 IS AN AUXILIARY FILE USED BY R/C. IT IS 08059000 -ALSO THE USERS REFERENCE MANUAL. THE PROGRAM XREF/JONES IS 08060000 -PROVIDED FOR GENERATING THE REFERENCE MANUAL AND FOR UPDATING THE 08061000 -TEACHER FILE. (NOTE, ONLY THE OBJECT CODE FOR XREF/JONES IS 08062000 -INCLUDED. THE SOURCE CAN BE OBTAINED THROUGH THE CUBE LIBRARY ON 08063000 -REQUEST.) 08064000 -*1 08065000 -THE FOLLOWING DECK WILL PRODUCE A USERS REFERENCE MANUAL. 08066000 -*15 08067000 -*INVALID 1 08068000 -Q EXECUTE XREF/JONES. 08069000 -*INVALID 1 08070000 -Q FILE DISK = TEACHER/0000094. 08071000 -*INVALID 1 08072000 -Q DATA CARD. 08073000 - $ DISK SIX DOCONLY DOCUMENT FINAL 08075000 -*INDENT 63 08076000 -99999999 08077000 -*INDENT 15 08078000 -*INVALID 1 08079000 -Q END. 08080000 -*1 08081000 -PATCHES TO R/C AND THE TEACHER FILE WILL BE ISSUED THRU CUBE. 08082000 -RATHER THAN PATCH DECKS, NEW SYMBOL FILES WILL BE INCLUDED ON 08083000 -THE CUBE TAPE. THE SEQUENCE NUMBERS WILL REMAIN THE SAME EXCEPT 08084000 -IN THE PATCHED AREA. 08085000 -*PAGEID 1," B-" 08100000 -*PAGE SKIP 10 INDEX 2 CENTER UNDERLINE 2 08101000 -APPENDIX B 08103000 -R / C USER-S GUIDE 08104000 -*PAGE 08110000 - * CHANGE TO 08111000 - * CHANGE TO 08112000 - * CHANGE TO 08113000 - * CHANGE ECHO ON 08114000 - * CHANGE ECHO OFF 08115000 - * CHANGE ECHO 08116000 - * -CHANGE TO 08117000 - * -CHANGE TO 08118000 - * -CHANGE TO 08119000 - * CLOSE 08120000 - * COLUMN 08121000 - * COLUMN ON 08122000 - * COLUMN OFF 08123000 - * COLUMN 08124000 - * COMPILE 08125000 - * COMPILE 08126000 - * COPY 08127000 - * COPY 08128000 - * COPY 08129000 - * COPY $(FILE-NAME> MERGE 08130000 - * COPY OVERITE ON 08131000 - * COPY OVERITE OFF 08132000 - * COPY OVERITE 08133000 - * -COPY 08134000 - * -COPY 08135000 - * -COPY 08136000 - * -COPY MERGE 08137000 - * DELETE 08138000 - * DELETE 08139000 - * DELETE 08140000 - * DITTO 08141000 - * DITTO 08142000 - * DITTO OVERITE ON 08143000 - * DITTO OVERITE OFF 08144000 - * DITTO OVERITE 08145000 - * -DITTO 08146000 - * -DITTO 08147000 - * DITTO MOVE 08148000 - * DITTO MOVE 08149000 - * EDIT : 08150000 - * EDIT ECHO ON 08151000 - * EDIT ECHO OFF 08152000 - * EDIT ECHO 08153000 - * -EDIT : 08154000 - * END 08155000 - * END 08156000 - * END DS 08157000 - * EXECUTE 08158000 - *-EXECUTE 08159000 - * EXECUTE ECHO ON 08160000 - * EXECUTE ECHO OFF 08161000 - * EXECUTE ECHO 08162000 - * EXECUTE LIBRARY = 08163000 - * EXECUTE LIBRARY 08164000 - * INC 08165000 - * INC 08166000 - * INLINE 08167000 - * INLINE I 08168000 - * INLINE R 08169000 - * INLINE D 08170000 - * INLINE 08171000 - * INLINE I 08172000 - * INLINE R 08173000 - * INLINE D 08174000 - * INLINE ECHO ON 08175000 - * INLINE ECHO OFF 08176000 - * INLINE ECHO 08177000 - * -INLINE 08178000 - * -INLINE I 08179000 - * -INLINE R 08180000 - * -INLINE D 08181000 - * -INLINE 08182000 - * -INLINE I 08183000 - * -INLINE R 08184000 - * -INLINE D 08185000 - * LIST 08186000 - * LIST 08187000 - * LIST NO 08188000 - * LIST 08189000 - * LIST 08190000 - * LIST 08191000 - * LIST 08192000 - * LISTING 08193000 - * LISTING ERRORS 08194000 - * LISTING 08195000 - * MAIL 08196000 - * MAIL TO : 08197000 - * OPEN NEW 08198000 - * OPEN OLD 08199000 - * OPEN 08200000 - * PERCENT ON 08201000 - * PERCENT OFF 08202000 - * PERCENT 08203000 - * PRINT 08204000 - * PRINT DOUBLE 08205000 - * PRINT 08206000 - * PRINT DOUBLE 08207000 - * PRINT 08208000 - * PRINT DOUBLE 08209000 - * PUNCH 08210000 - * PUNCH 08211000 - * PUNCH 08212000 - * QUICK 08213000 - * QUICK 08214000 - * QUICK NO 08215000 - * QUICK 08216000 - * QUICK 08217000 - * QUICK 08218000 - * QUICK 08219000 - * REMOVE 08220000 - * REPLACE : 08221000 - * RESEQ 08222000 - * RESEQ 08223000 - * RESEQ 08224000 - * RESEQ 08225000 - * RESEQ 08226000 - * SAVE 08227000 - * SAVE 08228000 - * SCAN 08229000 - * SCAN 08230000 - * SCAN 08231000 - * SCAN 08232000 - * SCAN 08233000 - * SCAN 08234000 - * SCAN 08235000 - * SCAN 08236000 - * SCAN 08237000 - * SCAN 08238000 - * SCAN 08239000 - * SCAN 08240000 - *-SCAN 08241000 - *-SCAN 08242000 - *-SCAN 08243000 - *-SCAN 08244000 - *-SCAN 08245000 - *-SCAN 08246000 - *-SCAN 08247000 - *-SCAN 08248000 - *-SCAN 08249000 - *-SCAN 08250000 - *-SCAN 08251000 - *-SCAN 08252000 - * TAB 08253000 - * TAB + 08254000 - * TAB - 08255000 - * TAB ON 08256000 - * TAB OFF 08257000 - * TAB 08258000 - * TEACH 08259000 - * TEACH 08260000 - * ZIP 08261000 - * ZIP 08262000 - 19998000 -*FINISH 19999000 +PROGRAM EXECUTION 00200100 +*6 00200200 +INITIAL REMOTE TERMINAL OPERATIONS 00200300 +*1 00200400 +FOR LOGGING-IN TO A TELETYPEWRITER, PRESS THE "ORGI" BUTTON, WAIT FOR 00200500 +A DIAL TONE FROM THE SPEAKER, AND DIAL THE COMPUTER NUMBER. THE B5500 00200600 +RESPONDS WITH THE MESSAGE: 00200700 +* SKIP 2 UNDERLINE CENTER 00200800 +BURROUGHS B-5500: / 00200900 +*2 00201000 +(THE STATION NUMBER IS / WHERE IS THE TERMINAL NUMBER AND 00201100 + IS THE BUFFER NUMBER.) 00201200 +*1 00201300 +YOU MAY TYPE: 00201400 +* SKIP 2 CENTER UNDERLINE 00201500 +* INVALID 1 00201600 +Q LI: /~ 00201700 +*2 00201900 +THIS LOG-IN MESSAGE MAY HAVE BEEN PRECEDED BY A 00202000 +* INVALID 2 00202090 +"QBO~" MESSAGE WHICH 00202100 +WOULD HAVE BLACKED OUT THE LINE ON WHICH THE LOG-IN MESSAGE WAS TYPED. 00202200 +*2 00202300 +THE B5500 VALIDATES THE AND AND 00202400 +RESPONDS BY TYPING OUT THE STATION NUMBER AND THE TIME OF DAY OF THE 00202500 +LOG-IN. 00202600 +*1 00202700 +TO CONNECT A REMOTE TERMINAL TO R/C, ENTER: 00202800 +* SKIP 2 CENTER UNDERLINE 00202900 +* INVALID 1,2 00203000 +QQ RUN R/C;END.~ 00203100 +*1 00203200 +THE B5500 RESPONDS BY EITHER TYPING OUT A "BOJ" (BEGINNING OF JOB) 00203300 +MESSAGE, A "SCHEDULED" MESSAGE, OR A "RUNNING" MESSAGE. A "BOJ" 00203400 +MESSAGE INDICATES THAT R/C WAS NOT PREVIOUSLY RUNNING BUT HAS NOW BEEN 00203500 +ENTERED INTO THE MIX AND IS READY FOR USE. A "SCHEDULED" MESSAGE 00203600 +INDICATES THAT R/C WAS NOT PREVIOUSLY RUNNING AND IS SCHEDULED. IN 00203700 +THIS CASE, R/C IS NOT BROUGHT INTO THE MIX UNTIL OTHER SYSTEM USERS 00203800 +COMPLETE THEIR WORK. THE "RUNNING" MESSAGE INDICATES R/C IS ALREADY 00203900 +IN THE MIX. 00204000 +*1 00204100 +WITH R/C IN THE MIX, IT AUTOMATICALLY SEARCHES OUT AND LOCKS ONTO 00204200 +REMOTE TERMINALS WHICH HAVE REQUESTED CONNECTION (BY "RUN R/C"). AS 00204300 +SOON AS YOUR TERMINAL IS LOCKED, R/C TYPES ONE OF THE FOLLOWING 00204400 +MESSAGE SEQUENCES, ACCORDING TO THE MANNER IN WHICH R/C ENDED DURING 00204500 +YOUR LAST R/C RUN (FIRST-TIME USERS ARE CONSIDERED TO HAVE CAUSED 00204600 +NORMAL LAST ENTRIES): 00204700 +*15 00204800 +INITIAL MESSAGE AFTER NORMAL TERMINATION OF LAST RUN: 00204900 +*20 00205000 + 00205100 + HELLO 00205900 + 00206000 + HELLO+ 00206100 + : 00206200 +*16 00206300 +OR IF NO FILE IS OPEN 00206400 +*21 00206500 + VERSION NUMBER> 00206600 + HELLO+ 00206700 + : 00206800 +*1 00206900 +IF A MESSAGE HAS BEEN SENT FROM ANOTHER USER TO YOUR USERCODE (SEE THE 00207000 +MAIL VERB), "MAIL %" IS TYPED INSTEAD OF "HELLO". 00207100 +*15 00207200 +EXAMPLES: 00207300 +*20 00207400 + VERSION # 00207500 + HELLO BLUM 00207600 + : 00207700 +*2 00207800 +THIS IS THE NORMAL INITIAL SEQUENCE FROM R/C. 00207900 +*SKIP 3 INDENT 20 00208000 + VERSION # 00208100 + HELLO+ WILNER 00208200 + : 00208300 +*2 00208400 +THIS SEQUENCE INDICATES THAT R/C REMEMBERS THE USERS STATE FROM 00208500 +THE PREVIOUS RUN. THE STATE INDICATES THE INCREMENT VALUE, TAB AMOUNT, 00208600 +SAVE FACTOR, PERCENT ON-OFF, AND VERB REPLACEMENTS. 00208700 +*SKIP 3 INDENT 20 00208800 + VERSION # 00208900 + FILE/NAME 00209000 + HELLO+ SHARPE 00209100 + 00050600: 00209200 +*2 00209300 +THIS SEQUENCE INDICATES THAT USER HAS THE FILE "FILE/NAME" OPEN AND IS 00209400 +AT THE RECORD WITH SEQUENCE NUMBER 50600. THE LEADING ZEROS INDICATE 00209500 +THAT A RECORD ALREADY EXISTS WITH THAT NUMBER. 00209600 +*6 00209700 +FINAL REMOTE TERMINAL OPERATIONS 00209800 +*1 00209900 +THE USER SHOULD TERMINATE HIS USE OF R/C WITH THE "* END" COMMAND (SEE 00210000 +BELOW). R/C WILL RESPOND WITH "GOOD BYE." 00210100 +*1 00210200 +AFTER HE HAS ENDED R/C, IF THE USER IS DONE WITH THE REMOTE TERMINAL HE 00210300 +SHOULD LOG-OUT BY ENTERING: 00210400 +* INVALID 2 00210490 +"QLO~" 00210500 +*6 00210600 +R/C INPUT 00210700 +*1 00210800 +INPUT TO R/C IS EITHER COMMANDS OR RECORDS. 00210900 +*1 00211000 +COMMANDS ARE INDICATED BY THE CHARACTER "*" IN THE FIRST 00211100 +INPUT POSITION. (IF THERE IS NO OPEN FILE, THE "*" IS OPTIONAL.) 00211200 +ALL OTHER INPUT IS CONSIDERED RECORDS TO BE PLACED IN THE OPEN 00211300 +FILE. THE FORMAT FOR A COMMAND IS THE "*" FOLLOWED BY AN R/C 00211400 +VERB AND, IF NEEDED, ITS PARAMETERS. THE VERB AND ITS PARAMETERS 00211500 +MUST BE SEPARATED BY A DELIMITER. 00211550 +*1 00211600 +A DELIMITER IS EITHER A SPACE OR ANY SPECIAL CHARACTER EXCEPT A ";", A 00211700 +""", A ".", A "(", OR A "[". MULTIPLE DELIMITERS ARE TREATED AS A 00211800 +SINGLE DELIMITER. 00211900 +*1 00212000 +A COMMAND MAY BE FOLLOWED BY ANOTHER INPUT (EITHER A COMMAND OR A 00212100 +RECORD) IF IT IS TERMINATED BY A ";". AN ERROR IN A COMMAND OF A 00212200 +MULTIPLE INPUT INHIBITS THE PROCESSING OF THE REST OF THAT INPUT. 00212300 +*15 00212400 +EXAMPLES: 00212500 +*15 00212600 +100:* INC 50~ 00212700 +*3 00212800 +THIS IS AN EXAMPLE OF ONE OF THE INPUT COMMANDS. 00212900 +*15 00213000 +100:BEGIN~ 00213100 +*3 00213200 +THIS IS AN EXAMPLE OF PLACING A RECORD AT SEQUENCE NUMBER 100. 00213300 +*15 00213400 +100:* INC 3;* RESEQ~ 00213500 +*3 00213600 +THIS IS AN EXAMPLE OF MULTIPLE COMMANDS. 00213700 +*15 00213800 +100:*35; THIS RECORD GOES AT 35~ 00213900 +*3 00214000 +THIS IS AN EXAMPLE OF A COMMAND FOLLOWED BY A RECORD OF INPUT. 00214100 +*15 00214200 +100:* OPEN A/B DATA;* PRINT FOR ME;*CLOSE~ 00214300 +*3 00214400 +THIS IS ANOTHER EXAMPLE OF MULTIPLE COMMANDS. NOTE THAT THE "*" MUST 00214500 +APPEAR IN THE NEXT CHARACTER POSITION FOLLOWING THE SEMICOLON OR 00214600 +THE REMAINDER OF THE RECORD IS TREATED AS DATA. 00214700 +*1 00214800 +AN INPUT LINE IS SENT TO THE COMPUTER BY TYPING THE CHARACTER "~". 00214900 +TYPING ERRORS CAN BE CORRECTED, BY BACKSPACING AND LINE ERASING, 00215000 +BEFORE A MESSAGE IS SENT. THE BACKSPACE CHARACTER IS THE APOSTROPHE 00215100 +(SHIFT 7) AND THE LINE ERASE CHARACTER IS THE UP-ARROW (SHIFT N). 00215200 +ALL THE FOLLOWING LINES OF INPUT ARE EQUIVALENT (NOTE THE UNDERLINED 00215300 +CHARACTERS REPRESENT USE OF THE SHIFT): 00215400 +*25 00215500 + 100:THIS IS IT~ 00215600 +*26 00215700 + 100:THIS IS NOT, BUTNTHIS IS IT~ 00215800 + - 00216000 + 100:THE7IS IT~ 00216200 + - 00216400 + 100:THESE777IS IS IT~ 00216600 + --- 00216800 +*1 00216900 +IF, AFTER BACKSPACING AND LINE ERASING, THE INPUT LINE CONTAINS MORE 00217000 +THEN 240 CHARACTERS, THE INPUT IS DISCARDED WITH AN "INPUT OVERFLW" 00217100 +ERROR MESSAGE. DATA RECORDS ARE ALSO DISCARDED (WITH THE ERROR MESSAGE) 00217200 +IF THEY ARE TOO LARGE FOR THE FILE. (I.E. GTR 66 FOR COBOL FILES; 00217300 +GTR 80 FOR DATA FILES; AND GTR 72 FOR ALL OTHER FILES) 00217400 +*1 00217500 +THERE ARE TWO CLASSES OF REQUESTS TO R/C: LONG AND SHORT. LONG 00217600 +OPERATIONS ARE THOSE THAT USUALLY ARE SLOW TO EXECUTE AND ARE 00217700 +CHARACTERIZED BY THE "WAIT..." MESSAGE. ALL OTHER REQUESTS ARE 00217800 +CLASSIFIED AS SHORT OPERATIONS. LONG OPERATIONS ARE SOMETIMES QUEUED 00217900 +BEFORE THE "WAIT..." MESSAGE, TO BE EXECUTED ONE AT A TIME. SHORT 00218000 +REQUESTS ARE DONE AS THEY ARE RECEIVED. THE USERS IN THE LONG 00218100 +REQUEST QUEUE (AND THE USER PERFORMING A LONG OPERATION IF IT IS NOT 00218200 +TYPING ON THE REMOTE) PERIODICALLY RECEIVE A FEW "RUBOUT" CHARACTERS 00218300 +OF REASSURANCE. R/C IGNORES ANY INPUT SENT BY USERS IN THE QUEUE OR 00218400 +BY THE USER WHOSE LONG OPERATION IS BEING PROCESSED. 00218500 +*1 00218600 +IF A USER PRODUCES NO INPUT FOR FIVE MINUTES, HE IS SENT THE 00218700 +MESSAGE "LOOK ALIVE". IF HE DOES NOT RESPOND WITHIN ANOTHER FIVE 00218800 +MINUTE PERIOD, R/C PROCESSES A "*END DS" FOR THAT USER. 00218900 +*6 00219000 +R/C OUTPUT 00219100 +*1 00219200 +OUTPUT TO THE TELETYPEWRITER OF THE SPECIAL CHARACTERS ~, !, <, {, >, 00219300 +AND } IS REPLACED BY A "$" CHARACTER IN ORDER THAT THEY DO NOT EVOKE 00219400 +TELETYPEWRITER CONTROL FUNCTIONS WITH WHICH THEY ARE ASSOCIATED. 00219500 +(THESE INCLUDE LINE-FEED, CARRIAGE-RETURN, MESSAGE-END, AND 00219600 +PAPER-TAPE-ON.) 00219700 +*1 00219800 +WHEN THE "BREAK" KEY IS DEPRESSED DURING OUTPUT, THE OUTPUT IS 00219900 +TERMINATED WITH THE MESSAGE "BREAK". 00220000 +*7 00300000 +R/C FILES 00300100 +*1 00300150 +ALL FILES CREATED BY R/C ARE PERMANENT DISK FILES. THE SAVE FACTOR 00300200 +IS NORMALLY 7 DAYS, BUT IT MAY BE CHANGED BY THE SAVE VERB (SEE BELOW). 00300300 +*6 00300400 +FILE TYPES 00300500 +*1 00300600 +R/C ENABLES THE USER TO CREATE AND MAINTAIN ALGOL, COBOL, FORTRAN, 00300700 +XALGOL, BASIC, AND DATA FILES. THESE FILES HAVE 80 CHARACTER-LONG 00300800 +RECORDS, (ONE CARD IMAGE). 00300900 +*1 00301000 +XALGOL, BASIC, ALGOL AND FORTRAN FILES CONTAIN EIGHT DIGIT SEQUENCE 00301100 +NUMBERS LOCATED IN THE POSITIONS 73-80 OF THE CARD IMAGE. 00301200 +*1 00301300 +COBOL FILES CONTAIN SIX-DIGIT SEQUENCE NUMBERS, PLACED IN POSITIONS 00301400 +1-6 OF THE RECORD. 00301500 +*1 00301600 +DATA FILES ARE NOT PHYSICALLY SEQUENCED ALTHOUGH R/C MAINTAINS AN 00301700 +INTERNAL, EIGHT-DIGIT NUMBER FOR EACH RECORD. 00301800 +*6 00301900 +FILE NAMES 00302000 +*1 00302100 +FILE NAMES MUST BE SUPPLIED TO R/C. THE FORM OF A NAME IS 00302200 + / . THROUGHOUT THIS DOCUMENT, 00302300 +IS USED TO SPECIFY A FILE AND SHOULD BE IN THE FORM ABOVE. THE AND THE MAY EACH BE NO LONGER THAN 00302500 +SEVEN CHARACTERS. 00302510 +*15 00302600 +EXAMPLES: 00302700 +*20 00302800 +A/B 00302900 +*21 00303000 +GRIMY/GULCH 00303100 +*21 00303200 +ZAP/1 00303300 +*21 00303400 +16JAN/SUFFIX 00303500 +*21 00303600 +0000000/DISK 00303700 +*6 00303800 +RECORD REFERENCING 00303900 +*1 00304000 +RECORDS IN THE OPEN FILE (SEE OPEN BELOW) ARE REFERRED TO BY THEIR 00304100 +SEQUENCE NUMBER. "DATA" FILES ARE IMPLICITLY SEQUENCED BY THE VALUE 00304200 +OF THE INCREMENT WHEN THEY ARE OPENED. 00304300 +*1 00304400 +AN ALTERNATE METHOD OF REFERENCING RECORDS IN THE OPEN FILE IS 00304500 +RELATIVE SEQUENCE NUMBERS. A RELATIVE SEQUENCE NUMBER IS AN INTEGER 00304600 +PRECEEDED BY A + OR - SIGN. IT MAY BE USED ANYPLACE A SEQUENCE NUMBER 00304700 +IS USED. IT IS TRANSLATED TO A SEQUENCE NUMBER BY MOVING FORWARD OR 00304800 +BACKWARD THE INDICATED NUMBER OF RECORDS AND USING THE SEQUENCE NUMBER 00304900 +OF THAT RECORD. 00305000 +*1 00305100 +RECORDS IN A NON-OPEN FILE (EXTERNAL FILE) ARE REFERRED TO BY THEIR 00305200 +RELATIVE POSITION WITHIN THE FILE. THE FIRST RECORD IS 1, THE SECOND 00305300 +2, ETC. ANY SEQUENCING THAT MAY BE ON THE RECORDS IS IGNORED. 00305400 +*7 00400000 +FILE-HANDLING VERBS 00400100 +*1 00400200 +THIS SECTION DESCRIBES VERBS THAT HANDLE FILES AS A WHOLE, RATHER THAN 00400300 +RECORDS WITHIN A FILE. HOWEVER, A FEW VERBS HAVE OPTIONS IN R/C SYNTAX 00400400 +THAT PERMIT ACCESS TO RECORDS WITHIN THE FILE. THE COMPLETE SYNTAX IS 00400500 +GIVEN FOR EACH VERB AS WELL AS A DISCUSSION AND EXAMPLES OF ITS USE. AN 00400600 +ASTERISK ("*") MUST ALWAYS BE THE FIRST CHARACTER IN THE INPUT STRING 00400700 +WHEN A COMMAND IS ENTERED. IF THIS IS NOT FOLLOWED, AN EXISTING RECORD 00400800 +MAY BE OVERWRITTEN BY THE COMMAND ITSELF. 00400900 +*5 00410000 +FILE OPENING AND CREATION (OPEN) 00410200 +*RCTEACH OPEN 00410250 +*17 00410300 + * OPEN NEW 00410350 +*17 00410400 + * OPEN OLD 00410450 +*17 00410500 + * OPEN 00410550 +*1 00410600 +THE "* OPEN " VERB ATTACHES THE USER TO THE DISK FILE . THE 00410650 + MUST BE EITHER "ALGOL", "COBOL", "FORTRAN", "XALGOL", 00410700 +"BASIC", OR "DATA". IF THE IS "NEW", A NEW DISK FILE IS 00410750 +CREATED. IF THE IS "OLD", THE DISK FILE IS 00410800 +OPENED AND RESEQUENCED BY THE CURRENT VALUE OF THE INCREMENT. IF THE 00410850 + IS NEITHER "NEW" NOR "OLD" THE DISK FILE IS 00410900 +OPENED AND IT IS READ TO DETERMINE ITS SEQUENCE NUMBERS. THIS LATTER 00410950 +FORM IS SLOWER THAN THE OPEN "OLD". 00411000 +*RCEND 00411020 +*15 00411050 +EXAMPLES: 00411100 +*25 00411150 + :* OPEN PROGRAM/SOURCE ALGOL NEW~ 00411200 + 100: 00411300 +*3 00411350 +THIS CREATES A NEW DISK FILE CALLED PROGRAM/SOURCE. 00411400 +*25 00411450 + 63500:* OPEN ANOTHER/PROG DATA OLD~ 00411500 + 4500: 00411600 +*3 00411650 +THIS OPENS THE FILE ANOTHER/PROG SEQUENCING IT BY THE CURRENT INCREMENT 00411700 +VALUE. NOTE THAT THE FILE THAT WAS OPEN IS FIRST CLOSED BEFORE THE NEXT 00411750 +FILE IS OPENED. 00411800 +*25 00411850 + :* OPEN YET/ANOTHER COBOL~ 00411900 + WAIT... 00412000 + READ ONLY FILE. 00412100 + 7504 00412200 +*3 00412250 +THIS OPENS THE FILE YET/ANOTHER USING THE SEQUENCE NUMBERS WITHIN THE 00412300 +FILE. THE MESSAGE "READ ONLY FILE" INDICATES THAT THE USER IS FORBIDDEN 00412350 +(BY THE FILE SECURITY SYSTEM) TO MODIFY THE FILE. 00412400 +*15 00412450 + ERRORS: 00412500 +*20 00412550 +DUP FILE: 00412600 +*2 00412650 +A FILE, , ALREADY EXISTS AND THE USER IS TRYING TO CREATE A 00412700 +FILE WITH THAT NAME WITH AN "* OPEN ... NEW". 00412750 +*20 00412800 +NO FILE: 00412850 +*2 00412900 +THE USER IS TRYING TO OPEN A FILE, , AND IT DOES NOT EXIST 00412950 +ON DISK. 00413000 +*20 00413050 +BAD FILE: 00413100 +*2 00413150 +THE FILE WHICH THE USER IS TRYING TO OPEN IS NOT BLOCKED 00413200 +CORRECTLY. THE CORRECT BLOCKING IS 10-WORD RECORDS WITH MULTIPLE OF 00413250 +3 RECORDS PER BLOCK. 00413300 +*20 00413350 +INV USER: 00413400 +*2 00413450 +THE USER IS TRYING TO OPEN A FILE TO WHICH HE HAS NO ACCESS. IF THE 00413500 +USER HAS EITHER SECONDARY OR TERTIARY ACCESS, THE MESSAGE: 00413550 +"READ ONLY FILE" IS TYPED. 00413600 +*20 00413650 +FILE TOO LONG 00413700 +*2 00413750 +THE USER IS TRYING TO OPEN A FILE WITH MORE THEN 8191 RECORDS. 00413800 +*20 00413850 +SEQ OVERFLOW 00413900 +*2 00413950 +THE FILE THE USER IS OPENING CAUSES THE SEQUENCE COUNTER TO EXCEED 00414000 +2,097,151. THE FILE IS OPENED, BUT THE USER SHOULD RESEQUENCE IT. 00414050 +*20 00414100 +SEQ ERR- 00414150 +*2 00414200 +THE FILE CONTAINS A RECORD WHOSE SEQUENCE NUMBER IS LESS THAN 00414250 +THE SEQUENCE NUMBER OF THE PRECEEDING RECORD. THE FILE IS NOT OPENED. 00414300 +*20 00414350 +BAD FILE TYPE: 00414400 +*2 00414450 + IS NOT "ALGOL", "COBOL", "FORTRAN", "XALGOL", "BASIC", OR 00414500 +"DATA". 00414550 +*5 00415000 +FILE CLOSING (CLOSE) 00415200 +*1 00415220 +FILES ARE CLOSED BY USE OF THE FOLLOWING CONSTRUCT: 00415240 +*RCTEACH CLOSE 00415250 +*17 00415300 + * CLOSE 00415400 +*1 00415500 +THIS VERB DETATCHES THE OPEN FILE, FROM R/C. 00415600 +*RCEND 00415650 +*15 00415700 +EXAMPLES: 00415800 +*25 00415900 + 5600:* CLOSE~ 00416000 + : 00416100 +*3 00416200 +THIS IS AN EXAMPLE OF CLOSING A FILE THAT IS IN THE CORRECT ORDER. 00416300 +*25 00416400 + 450:* RESEQ 100~ 00416500 + 9000:* CLOSE~ 00416600 + WAIT... 00416700 + : 00416800 +*3 00416900 +THIS IS AN EXAMPLE OF CLOSING A FILE THAT IS NOT IN ORDER. 00417000 +*15 00417100 +ERROR: 00417200 +*20 00417300 +NO FILE OPEN: CLOSE 00417400 +*2 00417500 +THERE IS NO OPEN FILE TO CLOSE 00417600 +*5 00420000 +LISTINGS ON THE TELETYPEWRITER (LIST) 00420200 +*1 00420300 +TO LIST FILES OR ANY OF THEIR SEPARATE RECORDS, THE FOLLOWING 00420400 +CONSTRUCTS APPLY: 00420500 +*RCTEACH LIST 00420550 +*17 00420600 + * LIST 00420700 +*17 00420800 + * LIST 00420900 +*17 00421000 + * LIST NO 00421100 +*17 00421200 + * LIST 00421300 +*17 00421400 + * LIST 00421500 +*17 00421600 + * LIST 00421700 +*17 00421800 + * LIST 00421900 +*1 00422000 +THE "LIST" VERB CAUSES AN ENTIRE FILE OR PORTIONS OF A FILE TO BE 00422100 +LISTED ON THE TELETYPEWRITER. LISTING MAY BE DISCONTINUED BY PRESSING 00422200 +THE BREAK KEY ON THE TELETYPEWRITER. 00422300 +*2 00422400 +THE FIRST FORM LISTS THE OPEN FILE. 00422500 +*2 00422600 +THE SECOND FORM LISTS THE FILE . 00422700 +*2 00422800 +THE THIRD FORM LISTS THE FILE , WITHOUT THE RECORD NUMBERS. 00422900 +*2 00423000 +THE FOURTH FORM LISTS FROM THE TH RECORD TO THE END. 00423100 +*2 00423200 +THE FIFTH FORM LISTS FROM THE TH TO THE TH RECORDS. 00423300 +*2 00423400 +THE SIXTH FORM LISTS SEQUENCE NUMBER OF THE OPEN FILE. 00423500 +*2 00423600 +THE LAST FORM LISTS SEQUENCE NUMBERS THROUGH OF THE OPEN FILE. 00423700 +*RCEND 00423750 +*15 00423800 +EXAMPLES: 00423900 +*25 00424000 + 500:* LIST~ 00424100 + 100:BEGIN 00424200 + 200: INTEGER I, J, K ; 00424300 + 300: REAL X, Y, Z ; 00424400 + 400: ARRAY A [0 : 9] ; 00424500 + 500: 00424600 +*26 00424700 + 5500:* LIST 8900,+3~ 00424900 + 8950: I := I + 5 ; 00425000 + 9125: GO TO NEXT ; 00425100 + 9300: HELP: 00425200 + 9400: 00425300 +*26 00425400 + 300* LIST 60~ 00425500 + 000060 MOVE A TO B. 00425600 + 000070 00425700 +*26 00425800 + :* LIST SOME/FILE~ 00425900 + 1:BEGIN 00426000 + 2: INTEGER I, J, K ; 00426100 + 3: REAL X, Y, Z ; 00426200 + 4: ARRAY A [0 : 9] ; 00426300 + 5: A [I] := X ; 00426400 + 6:END. 00426500 + : 00426600 +*26 00426700 + 500:* LIST SOME/FILE NO~ 00426800 + BEGIN 00426900 + INTEGER I, J, K ; 00427000 + REAL X, Y, Z ; 00427100 + ARRAY A [0 : 9] ; 00427200 + A [I] := X ; 00427300 + END. 00427400 + 500: 00427500 + :* LIST LIBRARY/FILE 2,4~ 00427600 + 2:PROCEDURE READDATA 567,653 00427700 + 3:PROCEDURE WRITEDATA 654,789 00427800 + 4:PROCEDURE DATA 790,808 00427900 + : 00428000 +*26 00428100 + :* LIST SOME/FILE 5~ 00428200 + 5: A [I] := X ; 00428300 + 6:END. 00428400 + : 00428500 +*26 00428600 + :* LIST SOME/FILE 200,500~ 00428700 + USE RECORD #S. 00428800 + : 00428900 +*3 00429000 +THE LAST EXAMPLE ILLUSTRATES THE COMMON ERROR OF REFERENCING 00429100 +AN EXTERNAL FILE WITH SEQUENCE NUMBERS INSTEAD OF RECORD NUMBERS. 00429200 +*5 00430000 +COMPRESSED FILE LISTINGS (QUICK) 00430100 +*1 00430200 +A COMPRESSED FILE LISTING MAY BE OBTAINED FROM R/C BY USE OF THE 00430300 +CONSTRUCTS: 00430400 +*RCTEACH QUICK 00430450 +*17 00430500 + * QUICK 00430600 +*17 00430700 + * QUICK 00430800 +*17 00430900 + * QUICK NO 00431000 +*17 00431100 + * QUICK 00431200 +*17 00431300 + * QUICK 00431400 +*17 00431500 + * QUICK 00431600 +*17 00431700 + * QUICK 00431800 +*1 00431900 +THE "* QUICK" VERB LISTS ON THE TELETYPEWRITER DELETING ALL CONTIGUOUS 00432000 +BLANKS EXCEPT THE FIRST. THE FILE IS NOT AFFECTED BY THE VERB. 00432100 +*RCEND 00432150 +*15 00432200 +EXAMPLE: 00432300 +*25 00432400 + 4500:* LIST 4300,4400~ 00432500 + 4300: FOR I := A STEP -1 UNTIL 0 DO 00432600 + 4400: X [I] := SIN (Y) ; 00432700 + 4500:*QUICK -2 + 1~ 00432800 + 4300: FOR I := A STEP -1 UNTIL 0 DO 00432900 + 4400: X [I] := SIN (Y) ; 00433000 + 4500: 00433100 +*5 00435000 +FILE REMOVAL (REMOVE) 00435100 +*1 00435200 +TO REMOVE A FILE USE THE FOLLOWING CONSTRUCT: 00435300 +*RCTEACH REMOVE 00435350 +*17 00435400 + * REMOVE 00435500 +*2 00435600 +THE REMOVE VERB REMOVES THE FILE FROM DISK. 00435700 +*17 00435800 + * REMOVE LISTING 00435900 +*2 00436000 +REMOVES LINE/, THE LISTING FILE FROM THE LAST COMPILATION. 00436100 +*RCEND 00436150 +*15 00436200 +EXAMPLES: 00436300 +*25 00436400 + 3200:* REMOVE A/B~ 00436500 + 3200: 00436600 +*26 00436700 + 546:* REMOVE ANOTHER/FILE~ 00436800 + NO FILE: ANOTHER/FILE 00436900 + 546: 00437000 +*26 00437100 + :* OPEN EXAMPLE/X COBOL OLD~ 00437200 + 46500* REMOVE EXAMPLE/X~ 00437300 + : 00437400 +*5 00440000 +LINE-PRINTER FILE REPRODUCTION (PRINT) 00440100 +*1 00440200 +THE PRINT VERB: 00440300 +*RCTEACH PRINT 00440350 +*17 00440400 + *PRINT 00440500 +*2 00440600 +PRINTS THE OPENED FILE ON THE LINE PRINTER (LABELED ). IF "" 00440700 +IS "DOUBLE" THEN DOUBLE SPACING IS USED. 00440800 +*17 00440900 + * PRINT 00441000 +*2 00441100 +AS ABOVE, STARTING WITH SEQUENCE NUMBER . 00441200 +*17 00441300 + * PRINT , 00441400 +*2 00441500 +AS ABOVE, STOPPING WITH SEQUENCE NUMBER . 00441600 +*RCEND 00441650 +*15 00441700 +EXAMPLES: 00441800 +*25 00441900 + :* OPEN TEST/CASE DATA;*PRINT TC DOUBLE;* CLOSE~ 00442000 + : 00442100 +*3 00442200 +THIS EXAMPLE ILLUSTRATES AN INSTANCE WHERE A SEQUENCED FILE SHOULD BE 00442300 +TREATED AS DATA TO SHORTEN THE OPERATION. IF THE FILE WAS OPENED 00442400 +"ALGOL OLD" IT WOULD HAVE BEEN RESEQUENCED BY THE CURRENT VALUE OF THE 00442500 +INCREMENT AND THEN WHEN IT WAS CLOSED IT WOULD HAVE BEEN RECOPIED. 00442600 +IF IT WAS OPENED "ALGOL" IT WOULD HAVE BEEN READ TO DETERMINE ITS 00442700 +SEQUENCE NUMBERS. EITHER WAY WOULD HAVE MADE THE WHOLE OPERATION 00442800 +MUCH SLOWER THAN OPENING THE FILE "DATA". 00442900 +*26 00443000 + 8700:* PRINT FOR USER~ 00443100 + WAIT... 00443200 + 8700: 00443300 +*5 00445000 +PUNCHED-CARD FILE REPRODUCTION (PUNCH) 00445100 +*1 00445200 +TO PUNCH A FILE: 00445300 +*RCTEACH PUNCH 00445350 +*17 00445400 + * PUNCH 00445500 +*2 00445600 +PUNCHES A CARD DECK (LABELED ) OF THE OPENED FILE. 00445700 +*17 00445800 + * PUNCH 00445900 +*2 00446000 +AS ABOVE, STARTING WITH SEQUENCE NUMBER . 00446100 +*17 00446200 + * PUNCH , 00446300 +*2 00446400 +AS ABOVE, STOPPING WITH SEQUENCE NUMBER . 00446500 +*RCEND 00446550 +*15 00446600 +EXAMPLE: 00446700 +*25 00446800 + 7600:* PUNCH A B 100,+10~ 00446900 + WAIT... 00447000 + 7600: 00447100 +*5 00450000 +FILE COMPILATION (COMPILE) 00450100 +*1 00450200 +FILES MAY BE COMPILED TO THE B5500 LIBRARY BY THE FOLLOWING CONSTRUCT: 00450300 +*RCTEACH COMPILE 00450350 +*17 00450400 + * COMPILE 00450500 +*2 00450600 +THIS VERB INITIATES THE COMPILATION OF THE OPEN FILE TO LIBRARY USING 00450700 +THE COMPILER INDICATED IN THE OPEN STATEMENT. THE OBJECT CODE IS NAMED 00450800 +. THE LISTING OUTPUT OF THE COMPILATION IS EQUATED TO 00450900 +"LINE/" ON DISK. THE "* LISTING" VERB MAY BE USED TO LIST 00451000 +THE SYNTAX ERRORS. 00451100 +*17 00451200 + * COMPILE 00451300 +*2 00451400 +COMPILES THE OPEN FILE USING SPECIFIED COMPILER. 00451500 +*RCEND 00451550 +*15 00451600 +EXAMPLES: 00451700 +*25 00451800 + 5700:* COMPILE OBJECT/CODE~ 00451900 + WAIT... 00452000 + : 00452100 +*26 00452150 + 479:* COMPILE TEST/OBJECT EZTRAN~ 00452200 + QUEUED( 1).WAIT... 00452300 + : 00452400 +*2 00452500 +IN THE LAST EXAMPLE, THE "EZTRAN" COMPILER (EZTRAN/DISK) WILL BE USED. 00452600 +IF THE FILE IS NOT IN ORDER, IT WILL BE REORDERED. SINCE THIS IS A 00452700 +LONG OPERATION THE USER GETS A "WAIT" MESSAGE. THE "QUEUED" MESSAGE 00452800 +INDICATES THAT ANOTHER USERS LONG OPERATION IS BEING PROCESSED AND 00452900 +THAT THIS LONG OPERATION IS QUEUED UNTIL THE OTHER IS DONE. THE "1" 00453000 +INDICATES THAT THIS IS THE FIRST REQUEST IN THE QUEUE. 00453100 +*5 00455000 +OUTPUT OF THE COMPILATION (LISTING) 00455100 +*1 00455200 +THE LISTING FILE OF THE COMPILER IS EQUATED TO LINE/ ON DISK. 00455300 +THE FILE MAY BE ACCESSED BY THE USE OF THE LISTING VERB: 00455400 +*RCTEACH LISTING 00455450 +*17 00455500 + * LISTING , , 00455600 +*2 00455700 +LISTS THE SEQUENCE NUMBERS RELATED TO SEGMENT FROM RELATIVE ADDRESS 00455800 + TO RELATIVE ADDRESS . IS ALGOL, XALGOL, BASIC, 00455900 +COBOL, OR FORTRAN AND INDICATES WHICH COMPILER CREATED THE LISTING FILE 00456000 +"LINE/". (THIS FILE IS AUTOMATICALLY GENERATED BY THE 00456100 +COMPILE VERB). 00456200 +*17 00456300 + * LISTING ERRORS 00456400 +*2 00456500 +LISTS THE SYNTAX ERRORS OF YOUR LAST COMPILATION. 00456600 +*17 00456700 + * LISTING 00456800 +*2 00456900 +PRINTS THE LINE FILE OF YOUR LAST COMPILATION ON THE PRINTER. 00457000 +*RCEND 00457050 +*15 00457100 +EXAMPLES: 00457200 +*25 00457300 + :* LISTING ALGOL 5, 25, 35~ 00457400 + WAIT... SEGMENT = 5: 00457500 + 4300: REL. ADDR. = 26. 00457600 + 4400: REL. ADDR. = 29. 00457700 + 9200: REL. ADDR. = 32. 00457800 + 9300: REL. ADDR. = 35. 00457900 + :* LISTING ALGOL ERRORS~ 00458000 + WAIT... 00458100 + 7800:ERROR 100 I, 00458200 + : 00458300 +*26 00458350 + 8900:* LISTING~ 00458400 + 8900: 00458500 +*5 00460000 +FILE ZIPPED AS AN "EXECUTE" DECK (ZIP) 00460100 +*1 00460200 +TO IMPLEMENT THE B5500 ZIP FUNCTION THROUGH R/C, USE THE 00460300 +FOLLOWING CONSTRUCT: 00460400 +*RCTEACH ZIP 00460450 +*17 00460500 + * ZIP 00460600 +*2 00460700 +THIS CONSTRUCT ZIPS THE OPENED FILE AFTER IT LINKS ALL THE CONTROL 00460800 +*INVALID 24 00460900 +CARDS AS INDICATED BY "Q". SEE THE ALGOL REFERENCE MANUAL FOR A 00461000 +DESCRIPTION OF THE "ZIP WITH FILE-ID" STATEMENT. 00461100 +*17 00461400 + * ZIP 00461500 +*2 00461600 +COPIES THE OPENED FILE CREATING AND ZIPS 00461700 +. NOTE THIS "ZIP" CONSTRUCT DOES NOT DESTROY THE 00461800 +OPEN FILE AS DOES THE FIRST FORM. 00461900 +*RCEND 00461950 +*15 00462000 +EXAMPLES: 00462100 +*25 00462200 + :COLUMN ON "@";COLUMN 73~ 00462300 + :OPEN MAKE/MANUAL DATA NEW;%%EXECUTE XREF/JONES.~ 00462400 + 200:%%FILE DISK = TEACHER/0000094.~ 00462500 + 300:%% DATA CARD.~ 00462600 + 400:$ DISK SIX DOCONLY DOCUMENT FINAL~ 00462700 + 500:@99999999~ 00462800 + 600%% END.~ 00462900 + 700:* ZIP TEMP/NAME~ 00463000 + WAIT... 00463100 + 700: 00463200 +*3 00463300 +THIS EXAMPLE ILLUSTRATES HOW TO CREATE A CONTROL DECK 00463400 +AND INITIATE ITS EXECUTION. THE DECK WAS SAVED (UNDER THE 00463500 +NAME "MAKE/MANUAL") SINCE THE ZIP CONSTRUCT INCLUDED THE 00463600 +DUMMY FILE "TEMP/NAME". (NOTE THAT THE ABOVE DECK WILL 00463700 +CREATE AN R/C USERS MANUAL.) 00463800 +*25 00463900 + :* OPEN MAKE/MANUAL DATA;* ZIP T/N;* CLOSE~ 00464000 + WAIT... 00464100 + : 00464200 +*8 00500000 +RECORD HANDLING VERBS 00500100 +*5 00510000 +RECORD COPYING (DITTO) 00510100 +*1 00510200 +RECORDS MAY BE COPIED FROM ONE PLACE TO ANOTHER WITHIN A 00510300 +FILE BY THE CONSTRUCT: 00510400 +*RCTEACH DITTO 00510450 +*17 00510500 + * DITTO 00510600 +*2 00510700 +COPIES CARD IMAGE AS THE NEXT RECORD. 00510800 +*17 00510900 + * DITTO , 00511000 +*2 00511100 +COPIES THE CARD IMAGES TO AS THE NEXT RECORDS. 00511200 +*17 00511300 + * DITTO OVERITE ON 00511400 +*17 00511500 + * DITTO OVERITE OFF 00511600 +*17 00511700 + * DITTO OVERITE 00511800 +*2 00511900 +IF THE DITTO OVERITE IS OFF AND AN EXISTING RECORD IS ABOUT TO BE 00512000 +OVERWRITTEN, THE DITTO TERMINATES WITH AN "OVERITE OFF" MESSAGE. (IT 00512100 +IS INITIALLY OFF.) THE ABOVE COMMANDS ARE USED TO SET THE OPTION AND 00512200 +TO PRINT ITS CURRENT SETTING. ITS SETTING MAY BE REVERSED FOR ONE 00512300 +COMMAND BY PREFIXING THE DITTO WITH A -. (E.G. *-DITTO 10,50.) 00512400 +*17 00512600 + * DITTO MOVE 00512700 +*17 00512800 + * DITTO , MOVE 00512900 +*2 00513000 +THE MOVE OPTION, MOVES RECORDS THRU TO THE CURRENT LOCATION. 00513100 +THIS OPTION IS VERY FAST, BUT OVERITING IS NOT ALLOWED. 00513200 +*RCEND 00513300 +*15 00513400 +EXAMPLES: 00513500 +*25 00513600 + 500:* DITTO 200,300~ 00513700 + 700:* LIST~ 00513800 + 100:ONE 00513900 + 200:TWO 00514000 + 300:THREE 00514100 + 400:FOUR 00514200 + 500:TWO 00514300 + 600:THREE 00514400 + 700:*DITTO 200,300 MOVE;*LIST~ 00514500 + 100:ONE 00514600 + 400:FOUR 00514700 + 500:TWO 00514800 + 600:THREE 00514900 + 700:TWO 00515000 + 800:THREE 00515100 + 900: 00515200 +*5 00520000 +COPYING EXTERNAL FILES (COPY) 00520100 +*1 00520200 +WHOLE OR PARTIAL EXTERNAL FILES MAY BE COPIED INTO THE 00520300 +CURRENTLY OPENED FILE BY THE CONSTRUCTS: 00520400 +*RCTEACH COPY 00520450 +*17 00520500 + * COPY 00520600 +*17 00520700 + * COPY 00520800 +*17 00520900 + * COPY , 00521000 +*17 00521100 + * COPY MERGE 00521200 +*2 00521300 +THE COPY VERB COPIES RECORDS FROM ANOTHER FILE (). 00521400 +*2 00521500 +THE FIRST FORM COPIES THE WHOLE FILE. THE SECOND FORM COPIES THE 00521600 +-TH RECORD (WHERE THE FIRST RECORD OF IS 1, THE SECOND 00521700 +RECORD IS 2, THE THIRD IS 3, ETC.). THE THIRD FORM COPIES THE -TH 00521800 +THROUGH THE -TH RECORDS. THE LAST FORM USES THE SEQUENCE NUMBERS OF 00521900 +THE RECORDS OF TO DETERMINE THEIR POSITION IN THE OPEN 00522000 +FILE. 00522100 +*17 00522200 + * COPY OVERITE ON 00522300 +*17 00522400 + * COPY OVERITE OFF 00522500 +*17 00522600 + * COPY OVERITE 00522700 +*2 00522800 +IF THE COPY OVERITE IS OFF AND AN EXISTING RECORD IS ABOUT TO BE 00522900 +OVERWRITTEN, THE COPY TERMINATES WITH AN "OVERITE OFF" MESSAGE. (IT IS 00523000 +INITIALLY OFF.) THE ABOVE COMMANDS ARE USED TO SET THE OPTION AND TO 00523100 +PRINT ITS CURRENT SETTING. ITS SETTING MAY BE REVERSED FOR ONE COMMAND 00523200 +BY PREFIXING THE COPY WITH A -. (E.G. *-COPY A/B 10,50.) 00523300 +*RCEND 00523400 +*15 00523500 +EXAMPLES: 00523600 +*25 00523700 + :* OPEN SOURCE/MARK7 ALGOL NEW~ 00523800 + 100:* COPY SOURCE/MARK6~ 00523900 + WAIT... 00524000 + 8900: 00524100 +*26 00524200 + 500:* COPY LIBRARY/FILE 345, 368~ 00524300 + WAIT... 00524400 + 2800: 00524500 +*26 00524600 + :QUICK PATCH/FILE~ 00524700 + 1:A 00000050 00524800 + 2:B 00000150 00524900 + 3:C 00000200 00525000 + 4:X 00000175 00525100 + 5:Y 00000250 00525200 + 6:Z 00000250 00525300 + :OPEN MY/SOURCE ALGOL OLD~ 00525400 + 400:* COPY OVERITE ON;*COPY PATCH/FILE MERGE~ 00525500 + 400:* LIST~ 00525600 + 50:A 00525700 + 100:1 00525800 + 150:B 00525900 + 175:X 00526000 + 200:C 00526100 + 250:Z 00526200 + 300:3 00526300 + 400: 00526400 +*5 00530000 +INTRA-RECORD EDITING (INLINE) 00530100 +*1 00530200 +RECORDS MAY BE EDITED BY USE OF THE "* INLINE" CONSTRUCTS 00530300 +DESCRIBED IN THE NEXT PARAGRAPHS. 00530400 +*RCTEACH INLINE 00530450 +*17 00530500 + * INLINE 00530600 +*17 00530700 + * INLINE 00530800 +*17 00530900 + * INLINE 00531000 +*17 00531100 + * INLINE 00531200 +*1 00531300 +THIS SETS UP LINE FOR INLINE EDITING. IF THE SEQUENCE NUMBER 00531400 +IS NOT INCLUDED WITH THE COMMAND, THE PREVIOUS RECORD IS USED AND THE 00531500 +INITIAL PRINTING OF IT IS SUPPRESSED. 00531600 +*17 00531700 + * INLINE ECHO ON 00531800 +*17 00531900 + * INLINE ECHO OFF 00532000 +*17 00532100 + * INLINE ECHO 00532200 +*1 00532300 +THE MODIFIED RECORD WILL BE TYPED ON THE TELETYPE IF THE INLINE ECHO 00532400 +IS ON. (IT IS INITIALLY ON.) THE ABOVE COMMANDS ARE USED TO SET THE 00532500 +OPTION AND TO PRINT ITS CURRENT SETTING. ITS SETTING MAY BE REVERSED 00532600 +FOR ONE COMMAND BY PREFIXING THE INLINE WITH A -. (E.G. * -INLINE +3.) 00532700 +*1 00532900 +TO MODIFY A PORTION OF A RECORD (CARD IMAGE) USE THE "* INLINE" VERB. 00533000 +R/C PRINTS THE RECORD NUMBER AND THE LINE, THEN GIVES A CARRIAGE 00533100 +RETURN AND LINE FEED. IT NEXT SPACES THE PRINT BALL (ON THE NEW LINE) 00533200 +DIRECTLY BELOW THE FIRST CHARACTER POSITION OF THE OLD LINE, ABOVE. 00533300 +THE USER SPACES THE PRINT BALL TO THE PROPER POSITION AND ACCOMPLISHES 00533400 +THE FOLLOWING ACTIONS: 00533500 +*2 00533600 +TO INSERT A STRING, TYPE THE LETTER "I" FOLLOWED BY THE STRING AND 00533700 +A "~". 00533800 +*2 00533900 +TO DELETE A STRING, USE THE LETTER "D" FOLLOWED BY SPACES UNDER THE 00534000 +CHARACTERS TO BE DELETED AND THEN A "~". 00534100 +*2 00534200 +TO REPLACE A STRING, USE THE LETTER "R" FOLLOWED BY THE NEW STRING OF 00534300 +THE SAME LENGTH AND A "~". 00534400 +*2 00534500 +IF THE MODIFICATION IS TO BE DONE IN THE FIRST CHARACTER, THEN INCLUDE 00534600 +THE "I", "R", OR "D" WITH THE INLINE COMMAND. 00534700 +*RCEND 00534750 +*SKIP 2 INDENT 10 00534800 +EXAMPLES: 00534900 +*17 00535000 +TO INSERT CHARACTERS INTO A RECORD: 00535100 +*25 00535200 + 300:*INLINE 30500~ 00535300 + 30500:ABCDEFGHIJK 00535400 + 00030500: I12345~ 00535500 + 30500:ABC12345DEFGHIJK 00535600 +*17 00535700 +TO DELETE CHARACTERS FROM A RECORD: 00535800 +*25 00535900 + 7700:*INLINE 67700~ 00536000 + 67700:ABCDEFGHIJKLMNOP 00536100 + 00067700: D ~ 00536200 + 67700:ABHIJKLMNOP 00536300 +*17 00536400 +TO REPLACE CHARACTERS IN A RECORD: 00536500 +*25 00536600 + 600:* INLINE 551~ 00536700 + 551:ABCDEFGHIJKLMNOPQRST 00536800 + 00000551:R12345~ 00536900 + 551:A12345GHIJKLMNOPQRST 00537000 +*17 00537100 +TO MODIFY A RECORD BEGINNING WITH ITS FIRST CHARACTER: 00537200 +*25 00537300 + 00006700:*INLINE 70800 D~ 00537400 + 70800:ABCDEFGHIJKLM 00537500 + 00070800: ~ 00537600 + 70800:DEFGHIJKLM 00537700 + 70900:* INLINE D; ~ 00537800 + 70800:EFGHIJKLM 00537900 +*2 00538000 +THE "R" AND "I" FORMS OF THIS LATTER CONSTRUCT OPERATE 00538100 +IN A SIMILAR FASHION. 00538200 +*5 00540000 +STRINGS 00540100 +*1 00540200 +R/C SCANS FOR THE OCCURRENCE OF A STRING BY USE OF THE "* 00540300 +SCAN" AND "* CHANGE" VERBS. IN THIS APPLICATION THE FOLLOWING 00540400 +DEFINITION OF "STRING" APPLIES: 00540500 +*25 00540600 + ::= 00540700 + ::= "/ ( / [ / . 00540800 + ::= "/ ) / ] / . 00540900 + ::= {ANY STRING OF CHARACTERS 00541000 + EXCLUDING THE CORRESPONDING 00541100 + TO THE CHARACTER USED.} 00541200 + ::= {EMPTY} / 00541300 + @ / @- 00541400 +*1 00541500 +IF THE STRING IS DELIMITED BY PERIODS, AN ADDED CHECK WILL 00541600 +BE MADE BEFORE DETERMINING A MATCHED STRING. THIS CHECK INSURES 00541700 +THAT THE MATCHED STRING WILL BE IMMEDIATELY PRECEEDED AND 00541800 +FOLLOWED BY A NON-ALPHANUMERIC CHARACTER. HENCE THIS FORM SHOULD 00541900 +BE USED FOR IDENTIFIERS. 00542000 +*1 00542100 +IF THE IS SPECIFIED, A MATCH WILL BE FOUND 00542200 +ONLY IF THE FIRST CHARACTER APPEARS WITHIN THE RANGE. 00542300 +*15 00542400 +EXAMPLES: 00542500 +*25 00542600 + "FD"@8 00542700 +*26 00542800 + .LIST. 00542900 +*26 00543000 + "M := IMAGE [5] ;"@15-25 00543100 +*26 00543200 + ( WORD [I] := "SCAN" ;) 00543300 +*26 00543400 + ["] 00543500 +*26 00543600 + "" 00543700 +*5 00550000 +CHANGING THE OCCURRENCE OF A STRING (CHANGE) 00550100 +*1 00550200 +ENTIRE STRINGS MAY BE CHANGED IN A FILE BY USE OF THE "* 00550300 +CHANGE" VERB. 00550400 +*RCTEACH CHANGE 00550450 +*17 00550500 + * CHANGE TO 00550600 +*2 00550700 +SCANS THE CURRENT RECORD REPLACING EVERY OCCURRENCE OF THE FIRST 00550800 +STRING WITH THE SECOND. IF NO " TO " APPEARS THE 00550900 +PREVIOUSLY USED STRINGS WILL BE USED AGAIN. 00551000 +*17 00551100 + * CHANGE TO 00551200 +*2 00551300 +AS ABOVE, FOR THE RECORD WITH SEQUENCE NUMBER . 00551400 +*17 00551500 + * CHANGE , TO 00551600 +*2 00551700 +AS ABOVE, FOR ALL RECORDS FROM SEQUENCE NUMBER TO . 00551800 +*17 00551900 + * CHANGE ECHO ON 00552000 +*17 00552100 + * CHANGE ECHO OFF 00552200 +*17 00552300 + * CHANGE ECHO 00552400 +*2 00552500 +THE MODIFIED RECORDS WILL BE TYPED ON THE TELETYPE IF THE CHANGE ECHO 00552600 +IS ON. (IT IS INITIALLY OFF.) THE ABOVE COMMANDS ARE USED TO SET THE 00552700 +OPTION AND TO PRINT ITS CURRENT VALUE. ITS SETTING MAY BE REVERSED FOR 00552800 +A COMMAND BY PREFIXING THE CHANGE WITH A -. (E.G. *-CHANGE "X" TO 00552900 +"Z".) 00553000 +*RCEND 00553050 +*15 00553100 +EXAMPLES: 00553200 +*25 00553300 + 00004200:* CHANGE "REMOTE/CARD" TO "R/C";*CHANGE 5300~ 00553400 + 00005300: 00553500 +*26 00553600 + 8700:* -CHANGE -1 .TWX.@25-30 TO "TELETYPWRITER"~ 00553700 + 8600: THE OUTPUT IS TYPED ON THE TELETYPWRITER IF 00553800 + 00008600: 00553900 +*26 00554000 + 450:* CHANGE 232, 448 "IMAGE [I]" TO (Z [J])~ 00554100 + WAIT... 00554200 + 00000448: 00554300 +*26 00554400 + 47000:* CHANGE 2200+6 " "@1 " "~ 00554500 + 00002800:* CHANGE +1+3 " "@1 ""~ 00554600 + 00003200: 00554700 +*5 00560000 +SCANNING FOR OCCURRENCE OF A STRING (SCAN) 00560100 +*RCTEACH SCAN 00560150 +*17 00560200 + * SCAN 00560300 +*2 00560400 +SCANS THE FILE FROM THE CURRENT SEQUENCE NUMBER TO THE END OF THE FILE 00560500 +OR UNTIL THE FIRST OCCURRENCE OF . IF THE STRING IS FOUND THE 00560600 +RECORD CONTAINING IT IS TYPED ON THE TELETYPEWRITER. IF IS 00560700 +ACTUALLY TWO S THE SCAN STOPS AT THE FIRST OCCURRENCE OF 00560800 +EITHER . IF NO APPEARS WITH THE COMMAND, IT IS 00560900 +ASSUMED TO BE THE SAME AS IN THE LAST "* SCAN" OR "* CHANGE" 00561000 +COMMAND. IF THE SCAN VERB IS PREFIXED BY A -, THE SCAN WILL BE FOR 00561100 +RECORDS NOT CONTAINING THE . 00561200 +*17 00561400 + * SCAN 00561500 +*2 00561600 +AS ABOVE, EXCEPT THAT THE SCAN BEGINS AT SEQUENCE NUMBER . 00561700 +*17 00561800 + * SCAN , 00561900 +*2 00562000 +AS ABOVE, EXCEPT THAT THE SCANNING STOPS AFTER SEQUENCE NUMBER . 00562100 +*17 00562200 + * SCAN 00562300 +*2 00562400 +THE FILE IS SCANNED FOR . EVERY RECORD IN WHICH 00562500 + OCCURS IS TYPED ON THE TELETYPEWRITER. 00562600 +*17 00562700 + * SCAN 00562800 +*2 00562900 +AS ABOVE, EXCEPT THE SCAN BEGINS AT RECORD NUMBER . 00563000 +*17 00563100 + * SCAN , 00563200 +*2 00563300 +AS ABOVE, EXCEPT THAT THE SCAN STOPS AFTER THE -TH RECORD. 00563400 +*RCEND 00563450 +*15 00563500 +EXAMPLES: 00563600 +*25 00563700 + :* SCAN LIBRARY/FILE "TABLE OF CONTENTS"@3~ 00563800 + WAIT... 00563900 + 1:% TABLE OF CONTENTS ... READDATA 00564000 + 98:% TABLE OF CONTENTS ... READDATA 00564100 + 99:% TABLE OF CONTENTS ... WRITEDATA 00564200 + 273:% TABLE OF CONTENTS ... WRITEDATA 00564300 + 274:% TABLE OF CONTNETS ... DATE 00564400 + 285:% TABLE OF CONTENTS ... DATE 00564500 + : 00564600 +*26 00564700 + 8700:* SCAN 1 .PRINTER. .LINE.~ 00564800 + WAIT... 00564900 + 100: FILE PRINTER 1 (2, 15) ; 00565000 + 101:* SCAN~ 00565100 + WAIT... 00565200 + 2400: WRITE (LINE, F, LISTA) ; 00565300 + 2401:* SCAN~ 00565400 + WAIT... 00565500 + EOF NO STRING 00565600 + 8700: 00565700 +*5 00570000 +RECORD FORMATTING (EDIT) 00570100 +*1 00570200 +RECORDS MAY BE FORMATTED BY THE FOLLOWING CONSTRUCTS: 00570300 +*RCTEACH EDIT 00570350 +*17 00570400 + * EDIT , : 00570500 +*2 00570600 +EDITS EACH RECORD FROM SEQUENCE NUMBER TO ACCORDING TO THE 00570700 +FORMAT RECORD WITH SEQUENCE NUMBER . 00570800 +*2 00570900 +THE RESULT OF THE EDIT IS THAT EACH RECORD BECOMES IDENTICAL WITH THE 00571000 +FORMAT RECORD EXCEPT WHERE THERE IS A "#" OR "@" CHARACTER IN FORMAT 00571100 +RECORD. EACH "@" IS REPLACED BY THE NEXT CHARACTER OF THE INPUT 00571200 +RECORD. EACH "#" SKIPS THE NEXT CHARACTER OF THE INPUT RECORD. 00571300 +*17 00571500 + * EDIT ECHO ON 00571600 +*17 00571700 + * EDIT ECHO OFF 00571800 +*17 00571900 + * EDIT ECHO 00572000 +*2 00572100 +THE MODIFIED RECORDS WILL BE TYPED ON THE TELETYPE IF THE EDIT ECHO IS 00572200 +ON. (IT IS INITIALLY OFF.) THE ABOVE COMMANDS ARE USED TO SET THE ECHO 00572300 +AND TO PRINT ITS CURRENT SETTING. IT SETTING MAY BE REVERSED FOR A 00572400 +COMMAND BY PREFIXING THE EDIT WITH A -. (E.G. *- EDIT 200,800:2) 00572500 +*RCEND 00572600 +*15 00572700 +EXAMPLE: 00572800 +*25 00572900 + 100:1234567890~ 00573000 + 200:ABCDEFGHIJK~ 00573100 + 300: @@@...@@. THIS IS THE WAY THE LINE ENDS...@##@@@~ 00573200 + 400:* -EDIT 100, 200:300~ 00573300 + 100: 123...45. THIS IS THE WAY THE LINE ENDS...690 00573400 + 200: ABC...DE. THIS IS THE WAY THE LINE ENDS...FIJK 00573500 +*5 00575000 +RESEQUENCING RECORD NUMBERS (RESEQ) 00575100 +*1 00575200 +FILE SEQUENCE NUMBERS MAY BE MODIFIED BY THE FOLLOWING CONSTRUCTS: 00575300 +*RCTEACH RESEQ 00575350 +*17 00575400 + * RESEQ 00575500 +*2 00575600 +RESEQUENCES THE FILE BY THE CURRENT INCREMENT COUNTER. 00575700 +*17 00575800 + * RESEQ 00575900 +*2 00576000 +SETS THE INCREMENT COUNTER TO AND RESEQUENCES. 00576100 +*17 00576200 + * RESEQ , 00576300 +*2 00576400 +RESEQUENCES THE SEQUENCE NUMBERS THRU BY THE CURRENT INCREMENT 00576500 +COUNTER. THE FIRST SEQUENCE NUMBER IS . 00576600 +*17 00576700 + * RESEQ , , 00576800 +*2 00576900 +AS ABOVE, EXCEPT THAT THE FIRST SEQUENCE NUMBER IS . 00577000 +*17 00577100 + * RESEQ , , , 00577200 +*2 00577300 +AS ABOVE, EXCEPT THE INCREMENT IS SET TO FIRST. 00577400 +*RCEND 00577450 +*15 00577500 +EXAMPLES: 00577600 +*25 00577700 + 895:* RESEQ~ 00577800 + 323:* RESEQ 100~ 00577900 + 32300: 00578000 +*5 00580000 +DELETION OF RECORDS (DELETE) 00580100 +*1 00580200 +RECORDS MAY BE DELETED FROM A FILE BY THE FOLLOWING CONSTRUCTS: 00580300 +*RCTEACH DELETE 00580350 +*17 00580400 + * DELETE 00580500 +*2 00580600 +DELETES CARD IMAGE . 00580700 +*17 00580800 + * DELETE , 00580900 +*2 00581000 +DELETES CARD IMAGES THROUGH . 00581100 +*17 00581200 + * DELETE 00581300 +*2 00581400 +DELETES THE CURRENT CARD. 00581500 +*RCEND 00581550 +*15 00581600 +EXAMPLES: 00581700 +*25 00581800 + 3400:* DELETE 3300~ 00581900 + 3300: 00582000 +*26 00582100 + 2100:* DELETE 1500, + 3;* LIST 1400,2000~ 00582200 + 1400: BEGIN 00582300 + 1900: GO TO ERROR ; 00582400 + 2000: END ; 00582500 + 2100: 00582600 +*26 00582700 + 2100:* 2000~ 00582800 + 2000: END ; 00582900 + 00002000:*DELETE~ 00583000 + 2000: 00583100 +*8 00600000 +OPERATIONAL COMMANDS 00600100 +*5 00610000 +SET THE INCREMENT COUNTER (INC) 00610100 +*1 00610200 +THE INCREMENT COUNTER MAY BE SET BY THE CONSTRUCT "* INC". 00610300 +*RCTEACH INC 00610350 +*17 00610400 + * INC 00610500 +*2 00610600 +THIS CONSTRUCT SETS THE INCREMENT COUNTER TO . 00610700 +*17 00610800 + * INC 00610900 +*2 00611000 +THIS CONSTRUCT PRINTS THE CURRENT VALUE. 00611100 +*RCEND 00611150 +*15 00611200 +EXAMPLES: 00611300 +*25 00611400 + 100:BEGIN~ 00611500 + 200: INTEGER I, J, K ;~ 00611600 + 300:* INC 3~ 00611700 + 300: BOOLEAN B ;~ 00611800 + 303: REAL X, Y, Z ;~ 00611900 + 306: 00612000 +*5 00620000 +NON-TELETYPEWRITER CHARACTERS (PERCENT) 00620100 +*1 00620200 +SPECIAL CHARACTERS ON THE B5500 BUT NOT AVAILABLE ON THE 00620300 +*INVALID 55 00620350 +TELETYPEWRITER KEYBOARD (INCLUDING THE QUESTION MARK "Q") MAY BE 00620400 +INSERTED INTO R/C MAINTAINED FILES BY THE "* PERCENT" CONSTRUCT. 00620500 +*RCTEACH PERCENT 00620550 +*17 00620600 + * PERCENT ON 00620700 +*17 00620800 + * PERCENT OFF 00620900 +*17 00621000 + * PERCENT 00621100 +*2 00621200 +THE "* PERCENT" CONSTRUCTS ALLOW A USER TO INPUT THE SPECIAL RESERVED 00621300 +*INVALID 59 00621350 +CHARACTERS (I.E. LEFT-ARROW, NEQ, LSS, GEQ, GTR, LEQ, AND Q). THE 00621400 +ABOVE COMMANDS ARE USED TO SET THE OPTION AND TO PRINT ITS CURRENT 00621500 +SETTING. WHEN THE PERCENT OPTION IS ON, INPUT FROM THE TELETYPEWRITER 00621600 +IS SCANNED FOR SPECIAL CHARACTER PAIRS. IF A PAIR IS FOUND IT IS 00621700 +REPLACED BY THE SINGLE CHARACTER AS FOLLOWS: 00621800 +*25 00622000 + CHARACTER PAIR INTERNAL CHARACTER 00622100 + -------------- ------------------ 00622200 +* 00622300 + %- ~ (LEFT ARROW) 00622400 + %= ! (NEQ) 00622500 + %( < (LSS) 00622600 + %) > (GTR) 00622700 + %[ { (LEQ) 00622800 + %] } (GEQ) 00622900 +*INVALID 44 00622950 + %% Q (QUESTION MARK) 00623000 + %* * (STAR) (1ST CHR ONLY) 00623100 +*2 00623200 +A "%" FOLLOWED BY ANY OTHER CHARACTER REMAINS AS IS. WHEN THE PERCENT 00623250 +OPTION IS ON, THE TRANSLATION TAKES PLACE IMMEDIATELY. HENCE ONLY ONE 00623300 +BACKSPACE (SHIFT 7) IS NEEDED. 00623350 +*RCEND 00623400 +*15 00623600 +EXAMPLES: 00623700 +*25 00623800 + 100:* PERCENT OFF~ 00623900 + 100:%% COMPILE ... %= %( %A~ 00624000 + 200:* PERCENT ON~ 00624100 + 200:%% COMPILE ... %= %( %A~ 00624200 + 300:* LIST~ 00624300 + 100:%% COMPILE ... %= %( %A 00624400 +*INVALID 23 00624450 + 200:Q COMPILE ... ! < %A 00624500 + 300: 00624600 +*2 00624700 +NOTE THAT ON THE TELETYPWRITER THE CHARACTERS "!" AND 00624800 +"<" WOULD HAVE BEEN TYPED AS A "$". 00624900 +*5 00625000 +R/C VERB RENAMING (REPLACE) 00625100 +*1 00625200 +R/C VERBS MAY BE REPLACED BY OTHER WORDS THROUGH THE 00625300 +CONSTRUCT "* REPLACE". 00625400 +*RCTEACH REPLACE 00625450 +*17 00625500 + * REPLACE : 00625600 +*2 00625700 +THE REPLACE VERB RENAMES THE VERB WITH THE WORD . 00625800 +*RCEND 00625850 +*15 00625900 +EXAMPLES: 00626000 +*25 00626100 + :* REPLACE LIST:TYPE~ 00626200 + :* REPLACE INLINE:IN~ 00626300 + :* REPLACE REPLACE:R~ 00626400 + :* R CHANGE:C~ 00626500 + : 00626600 +*5 00630000 +AUTOMATIC FIRST CHARACTER PLACEMENT (TAB) 00630100 +*1 00630200 +R/C USERS MAY INITIALLY (AUTOMATICALLY) PRE-POSITION THE 00630300 +PRINT BALL AT ANY COLUMN BY USE OF THE "* TAB" CONSTRUCT. 00630400 +*RCTEACH TAB 00630450 +*17 00630500 + * TAB 00630600 +*2 00630700 +SETS UP AUTOMATIC INDENTING TO POSITION , WHERE 1 00630800 +LEQ LEQ 54. 00630900 +*17 00631000 + * TAB + 00631100 +*17 00631200 + * TAB - 00631300 +*2 00631400 +ADJUSTS THE TAB AMOUNT BY THE VALUE OF . 00631500 +*17 00631600 + * TAB ON 00631700 +*17 00631800 + * TAB OFF 00631900 +*17 00632000 + *TAB 00632100 +*2 00632200 +THE TAB OPTION PERMITS THE USER (BY SETTING THE OPTION OFF) TO 00632300 +SURPRESS THE TAB SPACING ON THE TELETYPEWRITER. THE AUTOMATIC 00632400 +INDENTING STILL APPLIES TO THE RECORDS CREATED. THE LAST CONSTRUCT 00632500 +PRINTS BOTH THE SETTING OF THE OPTION AND THE TAB VALUE. 00632600 +*RCEND 00632700 +*15 00632800 +EXAMPLE: 00632900 +*25 00633000 + 4500:* TAB~ 00633100 + 4500: BEGIN~ 00633200 + 4600: * TAB+2~ 00633300 + 4600: K := K + DELTAK ;~ 00633400 + 4700: * TAB - 2;END ;~ 00633500 + 4800: * TAB 1~ 00633600 + 4800: 00633700 +*5 00635000 +SETTING THE SAVE FACTOR (SAVE) 00635100 +*1 00635200 +THE SAVE FACTOR OF A DISK FILE IS THE NUMBER OF DAYS AFTER 00635300 +ITS LAST ACCESS BEFORE IT WILL BE CONSIDERED EXPIRED. THE SAVE 00635400 +FACTOR FOR A NEW USER IS SET AT 7 DAYS. IT MAY BE CHANGED BY: 00635500 +*RCTEACH SAVE 00635550 +*17 00635600 + * SAVE 00635700 +*2 00635800 +SETS THE SAVE FACTOR AT DAYS. 00635900 +*17 00636000 + * SAVE 00636100 +*2 00636200 +PRINTS THE CURRENT VALUE OF THE SAVE FACTOR. 00636300 +*RCEND 00636350 +*15 00636400 +EXAMPLE: 00636500 +*25 00636600 + :* SAVE 10~ 00636700 + : 00636800 +*5 00640000 +TABULATING (COLUMN) 00640100 +*RCTEACH COLUMN 00640150 +*17 00640200 + * COLUMN 00640300 +*17 00640400 + * COLUMN ON 00640500 +*17 00640600 + * COLUMN OFF 00640700 +*17 00640800 + * COLUMN 00640900 +*2 00641000 +THE COLUMN VERB IS USED TO SET UP COLUMN POSITIONS AND INDICATE WHAT 00641100 +CHARACTER IS THE COLUMN CHARACTER. THE FIRST FORM PRINTS THE CURRENT 00641200 +SETTINGS. THE SECOND AND THIRD FORMS ARE USED TO TURN THE OPTION ON OR 00641300 +OFF. THE FOURTH FORM SETS UP FROM 1 TO 4 COLUMN POSITIONS. ANY FORM 00641400 +MAY SET THE COLUMN CHARACTER. 00641500 +*2 00641700 +WHEN THE OPTION IS ON, EACH OCCURENCE OF THE COLUMN CHARACTER IN AN 00641750 +INPUT RECORD CAUSES BLANKS TO BE INSERTED TO THE NEXT HIGHER COLUMN 00641800 +POSITION. 00641850 +*RCEND 00641900 +*15 00642100 +EXAMPLE: 00642200 +*25 00642300 + :COLUMN ON "#";* COLUMN 10 20 25;COLUMN~ 00642400 + COLUMN ON # 10 20 25 00642500 + :OPEN COLUMN/SHOW ALGOL NEW~ 00642600 + 100:ABC#123#XYZ#IJK#789~ 00642700 + 200:* LIST~ 00642800 + 100:ABC 123 XYZ IJK#789 00642900 + 200:123456789012345678901234567890~ 00643000 + 300: 00643100 +*8 00700000 +AUXILIARY COMMANDS 00700100 +*5 00710000 +MESSAGES TO OTHERS (MAIL) 00710100 +*1 00710200 +MESSAGES MAY BE RECEIVED FROM, AND SENT TO, OTHER USERS OF 00710300 +R/C BY THE "* MAIL" VERB DESCRIBED BELOW. 00710400 +*RCTEACH MAIL 00710450 +*17 00710500 + * MAIL 00710600 +*2 00710700 +THIS LISTS THE MAIL SENT TO YOU, AND REMOVES IT FROM YOUR "MAIL-BOX". 00710800 +*17 00711000 + * MAIL TO : MESSAGE 00711100 +*2 00711200 +THIS ADDS YOUR MESSAGE TO THE -S MAIL. 00711300 +*RCEND 00711350 +*15 00711400 +EXAMPLES: 00711500 +*25 00711600 + :* MAIL~ 00711700 + PLEASE SEE ME WHEN YOU GET A CHANCE-BALDWIN 00711800 + THERE WILL NOT BE ANY REMOTE TIME 10/24/70-SYSTEM 00711900 + :* MAIL TO BALDWIN:MY OFFICE - 10AM- FRIDAY~ 00712000 +*5 00720000 +HOW TO DETACH YOURSELF FROM R/C (END) 00720100 +*1 00720200 +THREE METHODS ARE AVAILABLE TO THE USER WHEN HE WISHES TO 00720300 +MAKE AN EXIT FROM R/C: 00720400 +*RCTEACH END 00720450 +*17 00720500 + * END 00720600 +*17 00720700 + * END 00720800 +*17 00720900 + * END DS 00721000 +*2 00721100 +THE FIRST CONSTRUCT DETACHES THE USER FROM R/C. 00721200 +*2 00721300 +THE SECOND CONSTRUCT CAUSES R/C TO REMEMBER, FROM ONE RUN TO THE NEXT, 00721400 +THE VALUES OF THE OPTIONS AND THE EFFECTS OF THE "* REPLACE" VERB. THE 00721500 +"* END" CONSTRUCT DOES NOT GENERATE THIS LASTING EFFECT. DENOTES 00721600 +ANY ALPHANUMERIC CHARACTER STRING. 00721700 +*2 00721900 +THE THIRD CONSTRUCT ALLOWS A USER TO END WITHOUT CLOSING THE OPEN 00722000 +FILE. R/C REMEMBERS THE FILE STRUCTURE FOR THE NEXT TIME. HOWEVER THE 00722100 +FILE SHOULD NOT BE ACCESSED BY ANY OTHER PROGRAM UNTIL IT IS CLOSED 00722200 +USING R/C. THIS FORM CAN BE USED WHEN THE FILE EDITING IS SPLIT OVER 00722300 +MORE THAN ONE RUNNING OF R/C. 00722400 +*RCEND 00722500 +*15 00722600 +EXAMPLES: 00722700 +*25 00722800 + :* END~ 00722900 + GOOD BYE 00723000 +*26 00723100 + 634:* END X~ 00723200 + WAIT... 00723300 + GOOD BYE 00723400 +*26 00723500 + 892:* END DS~ 00723600 + GOOD BYE 00723700 +*5 00730000 +LEARNING ABOUT R/C ON THE TELETYPEWRITER (TEACH) 00730100 +*1 00730200 +THE TEACH VERB ALLOWS A USER AT THE TELETYPEWRITER TO LEARN 00730300 +ABOUT THE R/C VERBS AND SPECIFICALLY WHAT VERBS HE MAY USE. 00730400 +*RCTEACH TEACH 00730450 +*17 00730500 + * TEACH 00730600 +*2 00730700 +THIS LISTS THE VERBS THAT YOU ARE PERMITTED TO USE. THE LIST REFLECTS 00730800 +THE USE OF REPLACE ON ANY OF THE VERBS. 00730900 +*17 00731000 + * TEACH 00731100 +*2 00731200 +THIS LISTS THE SYNTAX AND SEMANTICS OF THE RESERVED WORD . 00731300 +*RCEND 00731350 +*15 00731400 +EXAMPLES: 00731500 +*25 00731600 + :* TEACH SAVE~ 00731700 + * SAVE $N$ 00731800 + SETS THE SAVE FACTOR AT $N$ DAYS. 00731900 + * SAVE 00732000 + PRINTS THE CURRENT VALUE OF THE SAVE FACTOR. 00732100 + : 00732200 +*26 00732300 + 121970:* TEACH~ 00732400 + THE VALID REQUESTS ARE: 00732500 + EXECUTE DITTO COPY IN ZIP C EDIT 00732600 + SAVE RESEQ PUNCH PRINT DELETE CLOSE COMPILE00732700 + COLUMN SCAN LISTING INC TAB PERCENT QUICK 00732800 + LIST OPEN MAIL TEACH REMOVE REPLACE END 00732900 + FOR SYNTAX OF A VERB (E.G. TAB), INPUT: 00733000 + * TEACH VERB. (E.G. * TEACH TAB) 00733100 + 121970: 00733200 +*2 00733300 +NOTE THAT THE USE OF THE REPLACE VERB (FOR INLINE AND 00733400 +CHANGE) IS REFLECTED BY THE TEACH VERB. 00733500 +*8 00750000 +MACRO VERB 00750100 +*5 00751000 +MACRO (EXECUTE) 00751100 +*1 00751200 +THE EXECUTE VERB GIVES R/C A SIMPLE MACRO CAPABILITY. 00751300 +*RCTEACH EXECUTE 00751350 +*17 00751400 + * EXECUTE 00751500 +*2 00751600 +RECORDS ARE READ FROM THE AND TREATED AS IF THEY CAME FROM 00751700 +THE TELETYPE. HENCE, THEY MAY CONTAIN COMMANDS. THE , IF PRESENT, CONTAINS FROM 0 TO 5 PARAMETERS ENCLOSED 00751900 +WITHIN PARENTHESIS AND MAY BE FOLLOWED BY A REPEAT FACTOR. EACH 00752000 +PARAMETER MAY BE A SEQUENCE NUMBER, A RELATIVE SEQUENCE NUMBER, A 00752100 +RECORD NUMBER, A FILE PREFIX, A FILE SUFFIX, OR A VERB. WITHIN THE 00752200 + THE PARAMETERS ARE REFERRED TO BY #1, #2, ..., #5. THE REPEAT 00752300 +FACTOR IS AN INTEGER FROM 0 TO 999 AND INDICATES THE NUMBER OF TIMES 00752400 +TO PERFORM THE EXECUTE. IF IT IS NOT SPECIFIED, IT IS ASSUMED TO BE 1. 00752500 +*17 00752800 + * EXECUTE ECHO ON 00752900 +*17 00753000 + * EXECUTE ECHO OFF 00753100 +*17 00753200 + * EXECUTE ECHO 00753300 +*2 00753400 +IF THE EXECUTE ECHO IS ON, EACH RECORD WILL BE TYPED ON THE TELETYPE 00753500 +BEFORE IT IS EXECUTED. IT IS INITIALLY OFF. IT MAY BE REVERSED FOR ONE 00753600 +COMMAND BY PREFIXING THE COMMAND BY A -. 00753700 +*17 00753900 + * EXECUTE LIBRARY = 00754000 +*17 00754100 + * EXECUTE LIBRARY 00754200 +*2 00754300 +THE EXECUTE LIBRARY FACILITY ALLOWS THE USER TO 00754400 +ABBREVIATE: 00754500 +*26 00754600 + * EXECUTE / (P1,P2,P3,P4)00754700 +*16 00754800 +WITH: 00754900 +*26 00755000 + * P1,P2,P3,P4 00755100 +*2 00755200 +THE IS "MACRO" AND ANY OTHER NAME DESIGNATED THRU THE 00755300 +* EXECUTE LIBRARY = COMMAND. 00755400 +*RCEND 00755450 +*15 00755500 +EXAMPLES: 00755600 +*25 00755700 + :* OPEN CREATE/MACRO DATA NEW~ 00755800 + 100:%* OPEN #1/#2 #3 NEW~ 00755900 + 200:* CLOSE~ 00756000 + :* CREATE MOVE/MACRO DATA~ 00756100 + 100:%* DITTO #1,#2 MOVE~ 00756200 + 200:*CLOSE~ 00756300 + : 00756400 +*26 00756500 + 5700:* TEACH CC~ 00756600 + 1:* SCAN + 1 "$$"@1 00756700 + 2:* DELETE -1 00756800 +*INVALID 26 00756850 + 3:Q COMPILE SOME/JOB FORTRAN. 00756900 +*INVALID 26 00756950 + 4:Q DATA 00757000 + 5:FILE 6=FILE6, UNIT = PRINTER 00757100 + 5700:*1;* INC 10;*EXECUTE CC/MACRO ()@2~ 00757200 + WAIT... 00757300 + 2200:$$ JOB 00757400 + 2900:$$ IBJOB 00757500 + 2840: 00757600 +*PAGEID 1," A-" 00800000 +*PAGE SKIP 10 INDEX 2 CENTER UNDERLINE 2 00800100 +APPENDIX A 00800300 +R/C SOURCE TAPE 00800400 +*SKIP 10 PARAGRAPH 10,72,5 00800600 +R/C RESIDES ON A SYSTEM DUMP TAPE CONTAINING THE FILES 00800700 +*15 00800800 +1. RCSY94/RON 00800900 +2. TEACHER/0000094 00801000 +3. XREF/JONES 00801100 +*15 00801200 +THE FILES SHOULD BE LOADED USING THE CONTROL DECK: 00801300 +*25 00801400 +*INVALID 12 00801500 + Q LOAD FROM RC RCSYS94/RON,TEACHER/0000094,XREF/JONES. 00801600 +*INVALID 12 00801700 + Q END. 00801800 +*1 00801900 +RCSY94/RON IS THE SOURCE FILE FOR THE PROGRAM R/C. IT 00802000 +SHOULD BE COMPILED WITH: 00802100 +*15 00802200 +*INVALID 1 00802300 +Q COMPILE R/C WITH ALGOL FOR LIBRARY. 00802400 +*INVALID 1 00802500 +Q ALGOL FILE TAPE = RCSY94/RON SERIAL. 00802600 +*INVALID 1 00802700 +Q STACK = 256. 00802800 +*INVALID 1 00802900 +Q CORE = 2800. = 2500 + 100 | MAXUSERS. 00803000 +*INVALID 1 00803100 +Q PRIORITY = 1. 00803200 +*INVALID 1 00803300 +Q DATA 00803400 +$ TAPE 00803500 +*INDENT 63 00803600 +99999999 00803700 +*INDENT 15 00803800 +*INVALID 1 00803850 +Q END. 00803900 +*1 00804000 +WHEN PATCHES ARE ISSUED THEY SHOULD BE PLACED AFTER THE "$ 00804100 +TAPE" CARD AND R/C SHOULD BE RECOMPILED. 00804200 +*1 00804300 +THE MAXIMUM NUMBER OF USERS HANDLED BY R/C IS DEFINED TO BE 00804400 +3 IN RCSY94/RON. TO INCREASE THE NUMBER, A PATCH CARD MUST BE 00804500 +ADDED. AS AN EXAMPLE, THE FOLLOWING CARD SHOULD BE ADDED TO 00804600 +INCREASE THE MAXIMUM NUMBER OF USERS TO 5. 00804700 +* 00804800 + DEFINE MAXUSERS = 5#, MAXUSER =4# ; 0000250000804900 +*1 00805000 +THE OUTPUT BUFFERS ARE DEFINED TO BE 56 CHARACTERS IN 00805100 +RCSY94/RON. THEY MAY BE SET AT 28 CHARACTERS USING THE FOLLOWING 00805200 +PATCH CARDS: 00805300 +* 00805400 + DEFINE CHRSPERBUFFER = 28#, % OR 56 0000260000805500 + WORDSPERBUFFER = 5#, % OR 8 0000270000805600 + WRDSPERBUFFER = 4# ; % OR 7 0000280000805700 +*1 00805800 +TEACHER/0000094 IS AN AUXILIARY FILE USED BY R/C. IT IS 00805900 +ALSO THE USERS REFERENCE MANUAL. THE PROGRAM XREF/JONES IS 00806000 +PROVIDED FOR GENERATING THE REFERENCE MANUAL AND FOR UPDATING THE 00806100 +TEACHER FILE. (NOTE, ONLY THE OBJECT CODE FOR XREF/JONES IS 00806200 +INCLUDED. THE SOURCE CAN BE OBTAINED THROUGH THE CUBE LIBRARY ON 00806300 +REQUEST.) 00806400 +*1 00806500 +THE FOLLOWING DECK WILL PRODUCE A USERS REFERENCE MANUAL. 00806600 +*15 00806700 +*INVALID 1 00806800 +Q EXECUTE XREF/JONES. 00806900 +*INVALID 1 00807000 +Q FILE DISK = TEACHER/0000094. 00807100 +*INVALID 1 00807200 +Q DATA CARD. 00807300 + $ DISK SIX DOCONLY DOCUMENT FINAL 00807500 +*INDENT 63 00807600 +99999999 00807700 +*INDENT 15 00807800 +*INVALID 1 00807900 +Q END. 00808000 +*1 00808100 +PATCHES TO R/C AND THE TEACHER FILE WILL BE ISSUED THRU CUBE. 00808200 +RATHER THAN PATCH DECKS, NEW SYMBOL FILES WILL BE INCLUDED ON 00808300 +THE CUBE TAPE. THE SEQUENCE NUMBERS WILL REMAIN THE SAME EXCEPT 00808400 +IN THE PATCHED AREA. 00808500 +*PAGEID 1," B-" 00810000 +*PAGE SKIP 10 INDEX 2 CENTER UNDERLINE 2 00810100 +APPENDIX B 00810300 +R / C USER-S GUIDE 00810400 +*PAGE 00811000 + * CHANGE TO 00811100 + * CHANGE TO 00811200 + * CHANGE TO 00811300 + * CHANGE ECHO ON 00811400 + * CHANGE ECHO OFF 00811500 + * CHANGE ECHO 00811600 + * -CHANGE TO 00811700 + * -CHANGE TO 00811800 + * -CHANGE TO 00811900 + * CLOSE 00812000 + * COLUMN 00812100 + * COLUMN ON 00812200 + * COLUMN OFF 00812300 + * COLUMN 00812400 + * COMPILE 00812500 + * COMPILE 00812600 + * COPY 00812700 + * COPY 00812800 + * COPY 00812900 + * COPY $(FILE-NAME> MERGE 00813000 + * COPY OVERITE ON 00813100 + * COPY OVERITE OFF 00813200 + * COPY OVERITE 00813300 + * -COPY 00813400 + * -COPY 00813500 + * -COPY 00813600 + * -COPY MERGE 00813700 + * DELETE 00813800 + * DELETE 00813900 + * DELETE 00814000 + * DITTO 00814100 + * DITTO 00814200 + * DITTO OVERITE ON 00814300 + * DITTO OVERITE OFF 00814400 + * DITTO OVERITE 00814500 + * -DITTO 00814600 + * -DITTO 00814700 + * DITTO MOVE 00814800 + * DITTO MOVE 00814900 + * EDIT : 00815000 + * EDIT ECHO ON 00815100 + * EDIT ECHO OFF 00815200 + * EDIT ECHO 00815300 + * -EDIT : 00815400 + * END 00815500 + * END 00815600 + * END DS 00815700 + * EXECUTE 00815800 + *-EXECUTE 00815900 + * EXECUTE ECHO ON 00816000 + * EXECUTE ECHO OFF 00816100 + * EXECUTE ECHO 00816200 + * EXECUTE LIBRARY = 00816300 + * EXECUTE LIBRARY 00816400 + * INC 00816500 + * INC 00816600 + * INLINE 00816700 + * INLINE I 00816800 + * INLINE R 00816900 + * INLINE D 00817000 + * INLINE 00817100 + * INLINE I 00817200 + * INLINE R 00817300 + * INLINE D 00817400 + * INLINE ECHO ON 00817500 + * INLINE ECHO OFF 00817600 + * INLINE ECHO 00817700 + * -INLINE 00817800 + * -INLINE I 00817900 + * -INLINE R 00818000 + * -INLINE D 00818100 + * -INLINE 00818200 + * -INLINE I 00818300 + * -INLINE R 00818400 + * -INLINE D 00818500 + * LIST 00818600 + * LIST 00818700 + * LIST NO 00818800 + * LIST 00818900 + * LIST 00819000 + * LIST 00819100 + * LIST 00819200 + * LISTING 00819300 + * LISTING ERRORS 00819400 + * LISTING 00819500 + * MAIL 00819600 + * MAIL TO : 00819700 + * OPEN NEW 00819800 + * OPEN OLD 00819900 + * OPEN 00820000 + * PERCENT ON 00820100 + * PERCENT OFF 00820200 + * PERCENT 00820300 + * PRINT 00820400 + * PRINT DOUBLE 00820500 + * PRINT 00820600 + * PRINT DOUBLE 00820700 + * PRINT 00820800 + * PRINT DOUBLE 00820900 + * PUNCH 00821000 + * PUNCH 00821100 + * PUNCH 00821200 + * QUICK 00821300 + * QUICK 00821400 + * QUICK NO 00821500 + * QUICK 00821600 + * QUICK 00821700 + * QUICK 00821800 + * QUICK 00821900 + * REMOVE 00822000 + * REPLACE : 00822100 + * RESEQ 00822200 + * RESEQ 00822300 + * RESEQ 00822400 + * RESEQ 00822500 + * RESEQ 00822600 + * SAVE 00822700 + * SAVE 00822800 + * SCAN 00822900 + * SCAN 00823000 + * SCAN 00823100 + * SCAN 00823200 + * SCAN 00823300 + * SCAN 00823400 + * SCAN 00823500 + * SCAN 00823600 + * SCAN 00823700 + * SCAN 00823800 + * SCAN 00823900 + * SCAN 00824000 + *-SCAN 00824100 + *-SCAN 00824200 + *-SCAN 00824300 + *-SCAN 00824400 + *-SCAN 00824500 + *-SCAN 00824600 + *-SCAN 00824700 + *-SCAN 00824800 + *-SCAN 00824900 + *-SCAN 00825000 + *-SCAN 00825100 + *-SCAN 00825200 + * TAB 00825300 + * TAB + 00825400 + * TAB - 00825500 + * TAB ON 00825600 + * TAB OFF 00825700 + * TAB 00825800 + * TEACH 00825900 + * TEACH 00826000 + * ZIP 00826100 + * ZIP 00826200 + 01999800 +*FINISH 01999900 99999999