LABEL 000000000LINE 00188158?EXECUTE XREF/JONES XREF /JONES XREF PROGRAM OF 3DC70 THIS LISTING PRODUCED 6 JUN 1988 TIME 7.59 $ DISK SIX DOCONLY DOCUMENT FINAL CARD FILE IS CARD /0000000 SOURCE FILE IS TEACHER/0000094 R/C --- REFERENCE --------- MANUAL ------ BY RON BRODY 12/22/71 VERSION 94 PAGE 1 INTRODUCTION ------------ R/C PERMITS A USER AT A REMOTE TELETYPEWRITER TO CREATE AND MAINTAIN SOURCE OR DATA FILES ON THE B5500 SYSTEM DISK. FILE TYPES CREATED AND MAINTAINED WITH R/C ARE: ALGOL, XALGOL, COBOL, FORTRAN, BASIC, AND DATA. THESE FILES REPRESENT NORMAL (80 CHARACTER-PER-CARD) PUNCHED CARD DECKS EXCEPT THAT THEY ARE STORED ON THE DISK. EACH RECORD CAN BE THOUGHT OF AS ONE CARD. R/C ALLOWS THE USER TO: * CREATE A VARIETY OF FILES * RESEQUENCE FILES * PRINT OR PUNCH FILES * DELETE OR INSERT RECORDS INTO A FILE * MODIFY RECORDS WITHIN A FILE * SCAN A FILE FOR THE OCCURRENCE OF A STRING (OPTIONALLY REPLACING IT WITH ANOTHER STRING) * REMOVE FILES * COMPILE FILES * PERFORM MANY OTHER FUNCTIONS THE TELETYPEWRITER (IN CONJUNCTION WITH THE PROGRAM R/C) CAN BE CONSIDERED A KEYPUNCH EXTENSION WHICH ELIMINATES PUNCHED CARDS. IT OFFERS GREAT FLEXIBILITY IN FILE HANDLING. R/C HAS TWO MAJOR RESTRICTIONS: WHILE THE SEQUENCE NUMBER 99999999 IS PERMITTED FOR CONVENIENCE, THE MAXIMUM SEQUENCE NUMBER IS 2097151 (2*21-1). THE MAXIMUM NUMBER OF RECORDS PERMITTED IN A FILE IS 8191. IN THE DISCUSSION OF CERTAIN R/C VERBS, SOME OF THE ELEMENTS OF THE SYNTAX ARE GIVEN AS , , , OR . IN EACH CASE, THESE ELEMENTS REPRESENT INTEGER VALUES WHICH MUST BE PROVIDED BY THE USER. THE VALUE MAY BE A RECORD NUMBER FOR SOME VERBS, THE SEQUENCE NUMBER FOR OTHERS, OR AN INCREMENT AMOUNT. THE BRACKETED CONSTRUCT IS ONLY A FORM OF NOTATION USED TO REPRESENT AN INTEGER PARAMETER. PAGE 2 PROGRAM OPERATION AND RECORD SEQUENCING ------- --------- --- ------ ---------- DURING CREATION AND FILE MAINTENANCE, R/C AUTOMATICALLY ADVANCES (BY THE CURRENT VALUE OF THE "INCREMENT") THE SEQUENCE NUMBER OF EACH RECORD THAT IS INPUT. THE USER MAY SET THIS INCREMENT TO ANY DESIRED VALUE THROUGH USE OF THE "*INC" VERB (SEE BELOW). THE INCREMENT VALUE IS INITIALIZED TO 100 WHEN THE USER FIRST RUNS R/C. THE INITIAL SEQUENCE NUMBER IS SET TO THE INCREMENT WHEN A NEW FILE IS OPENED BY A USER. FOR EXAMPLE, IF THE CURRENT INCREMENT WERE 100, THE FIRST SEQUENCE NUMBER IN THE FILE WOULD BE "100:". THIS INITIAL SEQUENCE NUMBER MAY BE CHANGED BY THE USER THROUGH THE USE OF THE CONSTRUCT "*", (SEE BELOW). AFTER EACH RECORD IS TYPED INTO THE FILE, THE SEQUENCE NUMBER OF THE NEXT RECORD IN THE FILE IS SET TO THE LAST SEQUENCE NUMBER PLUS THE INCREMENT. THIS SEQUENCE NUMBER IS NEXT TYPED ON THE TELETYPEWRITER. IF THE FILE TYPE IS NOT "COBOL", THE SEQUENCE NUMBER IS FOLLOWED BY A COLON. IF A RECORD ALREADY EXISTS WITH THIS SEQUENCE NUMBER, LEADING ZEROS ARE TYPED AS A WARNING; OTHERWISE LEADING ZEROS ARE SUPPRESSED. AFTER THE SEQUENCE NUMBER IS TYPED OUT, THE USER MAY THEN ENTER THE DESIRED CONTENTS FOR THAT SEQUENCE NUMBER OR MAY ENTER A VERB TO PERFORM SOME OTHER FUNCTION. ALTERNATIVELY, THE USER MAY SET THE SEQUENCE TO SOME OTHER VALUE THROUGH THE USE OF THE CONSTRUCT "*", WHERE IS THE DESIRED SEQUENCE NUMBER. NOTE THAT LEADING ZEROS ARE ACCEPTED BUT NOT NECESSARY WITH THIS CONSTRUCT. BY USE OF THE "*" CONSTRUCT AND THE "*INC" VERB TO SET THE SEQUENCE NUMBER INCREMENT, THE USER MAY SET UP HIS OWN NUMBERING SEQUENCE THROUGHOUT HIS FILE. THE EXAMPLES ILLUSTRATE THE SEQUENCE NUMBER OF THE RECORD TYPED ON THE LEFT SIDE OF THE PAGE AS IT APPEARS ON THE TELETYPEWRITER AND THE MANNER IN WHICH THESE RECORDS ARE INCREMENTED. ALTHOUGH ALGOL, XALGOL, BASIC AND FORTRAN FILES ACTUALLY CARRY THE SEQUENCE NUMBER IN CHARACTER POSITIONS 73-80 OF THE RECORD, R/C TYPES THE NUMBER ON THE LEFT MARGIN OF THE TELETYPEWRITER. PAGE 3 PROGRAM EXECUTION ------- --------- INITIAL REMOTE TERMINAL OPERATIONS ------- ------ -------- ---------- FOR LOGGING-IN TO A TELETYPEWRITER, PRESS THE "ORIG" BUTTON, WAIT FOR A DIAL TONE FROM THE SPEAKER, AND DIAL THE COMPUTER NUMBER. THE B5500 RESPONDS WITH THE MESSAGE: BURROUGHS B-5500: / --------- ------- --------- (THE STATION NUMBER IS / WHERE IS THE TERMINAL NUMBER AND IS THE BUFFER NUMBER.) YOU MAY TYPE: ? LI: /~ - --- -------------------------- ------ THIS LOG-IN MESSAGE MAY HAVE BEEN PRECEDED BY A "?BO~" MESSAGE WHICH WOULD HAVE BLACKED OUT THE LINE ON WHICH THE LOG-IN MESSAGE WAS TYPED. THE B5500 VALIDATES THE AND AND RESPONDS BY TYPING OUT THE STATION NUMBER AND THE TIME OF DAY OF THE LOG-IN. TO CONNECT A REMOTE TERMINAL TO R/C, ENTER: ?? RUN R/C;END.~ -- --- --------- THE B5500 RESPONDS BY EITHER TYPING OUT A "BOJ" (BEGINNING OF JOB) MESSAGE, A "SCHEDULED" MESSAGE, OR A "RUNNING" MESSAGE. A "BOJ" MESSAGE INDICATES THAT R/C WAS NOT PREVIOUSLY RUNNING BUT HAS NOW BEEN ENTERED INTO THE MIX AND IS READY FOR USE. A "SCHEDULED" MESSAGE INDICATES THAT R/C WAS NOT PREVIOUSLY RUNNING AND IS SCHEDULED. IN THIS CASE, R/C IS NOT BROUGHT INTO THE MIX UNTIL OTHER SYSTEM USERS COMPLETE THEIR WORK. THE "RUNNING" MESSAGE INDICATES R/C IS ALREADY IN THE MIX. PAGE 4 WITH R/C IN THE MIX, IT AUTOMATICALLY SEARCHES OUT AND LOCKS ONTO REMOTE TERMINALS WHICH HAVE REQUESTED CONNECTION (BY "RUN R/ C"). AS SOON AS YOUR TERMINAL IS LOCKED, R/C TYPES ONE OF THE FOLLOWING MESSAGE SEQUENCES, ACCORDING TO THE MANNER IN WHICH R/C ENDED DURING YOUR LAST R/C RUN (FIRST-TIME USERS ARE CONSIDERED TO HAVE CAUSED NORMAL LAST ENTRIES): INITIAL MESSAGE AFTER NORMAL TERMINATION OF LAST RUN: HELLO : INITIAL MESSAGE AFTER "* END X" OR ABNORMAL LAST RUN TERMINATION: IF A FILE WAS OPEN HELLO+ : OR IF NO FILE IS OPEN HELLO+ : IF A MESSAGE HAS BEEN SENT FROM ANOTHER USER TO YOUR USERCODE (SEE THE MAIL VERB), "MAIL %" IS TYPED INSTEAD OF "HELLO". EXAMPLES: VERSION # HELLO BLUM : THIS IS THE NORMAL INITIAL SEQUENCE FROM R/C. VERSION # PAGE 5 HELLO+ WILNER : THIS SEQUENCE INDICATES THAT R/C REMEMBERS THE USERS STATE FROM THE PREVIOUS RUN. THE STATE INCLUDES THE INCREMENT VALUE, TAB AMOUNT, SAVE FACTOR, PERCENT ON-OFF, AND VERB REPLACEMENTS. VERSION # FILE/NAME HELLO+ SHARPE 00050600: THIS SEQUENCE INDICATES THAT USER HAS THE FILE "FILE/ NAME" OPEN AND IS AT THE RECORD WITH SEQUENCE NUMBER 50600. THE LEADING ZEROS INDICATE THAT A RECORD ALREADY EXISTS WITH THAT NUMBER. FINAL REMOTE TERMINAL OPERATIONS ----- ------ -------- ---------- THE USER SHOULD TERMINATE HIS USE OF R/C WITH THE "* END" COMMAND (SEE BELOW). R/C WILL RESPOND WITH "GOOD BYE." AFTER HE HAS ENDED R/C, IF THE USER IS DONE WITH THE REMOTE TERMINAL HE SHOULD LOG-OUT BY ENTERING: "?LO~" R/C INPUT --- ----- INPUT TO R/C IS EITHER COMMANDS OR RECORDS. COMMANDS ARE INDICATED BY THE CHARACTER "*" IN THE FIRST INPUT POSITION. (IF THERE IS NO OPEN FILE, THE "*" IS OPTIONAL.) ALL OTHER INPUT IS CONSIDERED RECORDS TO BE PLACED IN THE OPEN FILE. THE FORMAT FOR A COMMAND IS THE "*" FOLLOWED BY AN R/C VERB AND, IF NEEDED, ITS PARAMETERS. THE VERB AND ITS PARAMETERS MUST BE SEPARATED BY A DELIMITER. A DELIMITER IS EITHER A SPACE OR ANY SPECIAL CHARACTER EXCEPT A ";", A """, A ".", A "(", OR A "[". MULTIPLE DELIMITERS ARE TREATED AS A SINGLE DELIMITER. PAGE 6 A COMMAND MAY BE FOLLOWED BY ANOTHER INPUT (EITHER A COMMAND OR A RECORD) IF IT IS TERMINATED BY A ";". AN ERROR IN A COMMAND OF A MULTIPLE INPUT INHIBITS THE PROCESSING OF THE REST OF THAT INPUT. EXAMPLES: 100:* INC 50~ THIS IS AN EXAMPLE OF ONE OF THE INPUT COMMANDS. 100:BEGIN~ THIS IS AN EXAMPLE OF PLACING A RECORD AT SEQUENCE NUMBER 100. 100:* INC 3;* RESEQ~ THIS IS AN EXAMPLE OF MULTIPLE COMMANDS. 100:*35; THIS RECORD GOES AT 35~ THIS IS AN EXAMPLE OF A COMMAND FOLLOWED BY A RECORD OF INPUT. 100:* OPEN A/B DATA;* PRINT FOR ME;*CLOSE~ THIS IS ANOTHER EXAMPLE OF MULTIPLE COMMANDS. NOTE THAT THE "*" MUST APPEAR IN THE NEXT CHARACTER POSITION FOLLOWING THE SEMICOLON OR THE REMAINDER OF THE RECORD IS TREATED AS DATA. AN INPUT LINE IS SENT TO THE COMPUTER BY TYPING THE CHARACTER "~". TYPING ERRORS CAN BE CORRECTED, BY BACKSPACING AND LINE ERASING, BEFORE A MESSAGE IS SENT. THE BACKSPACE CHARACTER IS THE APOSTROPHE (SHIFT 7) AND THE LINE ERASE CHARACTER IS THE UP-ARROW (SHIFT N). ALL THE FOLLOWING LINES OF INPUT ARE EQUIVALENT (NOTE THE UNDERLINED CHARACTERS REPRESENT USE OF THE SHIFT): 100:THIS IS IT~ 100:THIS IS NOT, BUTNTHIS IS IT~ PAGE 7 - 100:THE7IS IS IT~ - 100:THESE777IS IS IT~ --- IF, AFTER BACKSPACING AND LINE ERASING, THE INPUT LINE CONTAINS MORE THAN 240 CHARACTERS, THE INPUT IS DISCARDED WITH AN "INPUT OVERFLW" ERROR MESSAGE. DATA RECORDS ARE ALSO DISCARDED (WITH THE ERROR MESSAGE) IF THEY ARE TOO LARGE FOR THE FILE. (I. E. GTR 66 FOR COBOL FILES; GTR 80 FOR DATA FILES; AND GTR 72 FOR ALL OTHER FILES) THERE ARE TWO CLASSES OF REQUESTS TO R/C: LONG AND SHORT. LONG OPERATIONS ARE THOSE THAT USUALLY ARE SLOW TO EXECUTE AND ARE CHARACTERIZED BY THE "WAIT..." MESSAGE. ALL OTHER REQUESTS ARE CLASSIFIED AS SHORT OPERATIONS. LONG OPERATIONS ARE SOMETIMES QUEUED BEFORE THE "WAIT..." MESSAGE, TO BE EXECUTED ONE AT A TIME. SHORT REQUESTS ARE DONE AS THEY ARE RECEIVED. THE USERS IN THE LONG REQUEST QUEUE (AND THE USER PERFORMING A LONG OPERATION IF IT IS NOT TYPING ON THE REMOTE) PERIODICALLY RECEIVE A FEW "RUBOUT" CHARACTERS OF REASSURANCE. R/C IGNORES ANY INPUT SENT BY USERS IN THE QUEUE OR BY THE USER WHOSE LONG OPERATION IS BEING PROCESSED. IF A USER PRODUCES NO INPUT FOR FIVE MINUTES, HE IS SENT THE MESSAGE "LOOK ALIVE". IF HE DOES NOT RESPOND WITHIN ANOTHER FIVE MINUTE PERIOD, R/C PROCESSES A "* END DS" FOR THAT USER. R/C OUTPUT --- ------ OUTPUT TO THE TELETYPEWRITER OF THE SPECIAL CHARACTERS ~, !, <, {, >, AND } IS REPLACED BY A "$" CHARACTER IN ORDER THAT THEY DO NOT EVOKE TELETYPWRITER CONTROL FUNCTIONS WITH WHICH THEY ARE ASSOCIATED. (THESE INCLUDE LINE-FEED, CARRIAGE-RETURN, MESSAGE- END, AND PAPER-TAPE-ON.) WHEN THE "BREAK" KEY IS DEPRESSED DURING OUTPUT, THE OUTPUT IS TERMINATED WITH THE MESSAGE "BREAK". PAGE 8 R/C FILES --- ----- ALL FILES CREATED BY R/C ARE PERMANENT DISK FILES. THE SAVE FACTOR IS NORMALLY 7 DAYS, BUT IT MAY BE CHANGED BY THE SAVE VERB (SEE BELOW). FILE TYPES ---- ----- R/C ENABLES THE USER TO CREATE AND MAINTAIN ALGOL, COBOL, FORTRAN, XALGOL, BASIC, AND DATA FILES. THESE FILES HAVE 80 CHARACTER-LONG RECORDS, (ONE CARD IMAGE). XALGOL, BASIC, ALGOL AND FORTRAN FILES CONTAIN EIGHT DIGIT SEQUENCE NUMBERS LOCATED IN THE POSITIONS 73-80 OF THE CARD IMAGE. COBOL FILES CONTAIN SIX-DIGIT SEQUENCE NUMBERS, PLACED IN POSITIONS 1-6 OF THE RECORD. DATA FILES ARE NOT PHYSICALLY SEQUENCED ALTHOUGH R/C MAINTAINS AN INTERNAL, EIGHT-DIGIT NUMBER FOR EACH RECORD. FILE NAMES ---- ----- FILE NAMES MUST BE SUPPLIED TO R/C. THE FORM OF A NAME IS / . THROUGHOUT THIS DOCUMENT, IS USED TO SPECIFY A FILE AND SHOULD BE IN THE FORM ABOVE. THE AND THE MAY EACH BE NO LONGER THAN SEVEN CHARACTERS. EXAMPLES: A/B GRIMY/GULCH ZAP/1 16JAN/SUFFIX 0000000/DISK PAGE 9 RECORD REFERENCING ------ ----------- RECORDS IN THE OPEN FILE (SEE OPEN BELOW) ARE REFERRED TO BY THEIR SEQUENCE NUMBER. "DATA" FILES ARE IMPLICITLY SEQUENCED BY THE VALUE OF THE INCREMENT WHEN THEY ARE OPENED. AN ALTERNATE METHOD OF REFERENCING RECORDS IN THE OPEN FILE IS RELATIVE SEQUENCE NUMBERS. A RELATIVE SEQUENCE NUMBER IS AN INTEGER PRECEEDED BY A + OR - SIGN. IT MAY BE USED ANYPLACE A SEQUENCE NUMBER IS USED. IT IS TRANSLATED TO A SEQUENCE NUMBER BY MOVING FORWARD OR BACKWARD THE INDICATED NUMBER OF RECORDS AND USING THE SEQUENCE NUMBER OF THAT RECORD. RECORDS IN A NON-OPEN FILE (EXTERNAL FILE) ARE REFERRED TO BY THEIR RELATIVE POSITION WITHIN THE FILE. THE FIRST RECORD IS 1, THE SECOND 2, ETC. ANY SEQUENCING THAT MAY BE ON THE RECORDS IS IGNORED. PAGE 10 FILE-HANDLING VERBS ------------- ----- THIS SECTION DESCRIBES VERBS THAT HANDLE FILES AS A WHOLE, RATHER THAN RECORDS WITHIN A FILE. HOWEVER, A FEW VERBS HAVE OPTIONS IN R/C SYNTAX THAT PERMIT ACCESS TO RECORDS WITHIN THE FILE. THE COMPLETE SYNTAX IS GIVEN FOR EACH VERB AS WELL AS A DISCUSSION AND EXAMPLES OF ITS USE. AN ASTERISK ("*") MUST ALWAYS BE THE FIRST CHARACTER IN THE INPUT STRING WHEN A COMMAND IS ENTERED. IF THIS IS NOT FOLLOWED, AN EXISTING RECORD MAY BE OVERWRITTEN BY THE COMMAND ITSELF. PAGE 11 FILE OPENING AND CREATION (OPEN) ---- ------- --- -------- ------ * OPEN NEW - ---- ----------- ----------- --- * OPEN OLD - ---- ----------- ----------- --- * OPEN - ---- ----------- ----------- THE "* OPEN " VERB ATTACHES THE USER TO THE DISK FILE . THE MUST BE EITHER "ALGOL", "COBOL", "FORTRAN", "XALGOL", "BASIC", OR "DATA". IF THE IS "NEW", A NEW DISK FILE IS CREATED. IF THE IS "OLD", THE DISK FILE IS OPENED AND RESEQUENCED BY THE CURRENT VALUE OF THE INCREMENT. IF THE IS NEITHER "NEW" NOR "OLD" THE DISK FILE IS OPENED AND IT IS READ TO DETERMINE ITS SEQUENCE NUMBERS. THIS LATTER FORM IS SLOWER THAN THE OPEN "OLD". EXAMPLES: :* OPEN PROGRAM/SOURCE ALGOL NEW~ 100: THIS CREATES A NEW DISK FILE CALLED PROGRAM/SOURCE. 63500:* OPEN ANOTHER/PROG DATA OLD~ 4500: THIS OPENS THE FILE ANOTHER/PROG SEQUENCING IT BY THE CURRENT INCREMENT VALUE. NOTE THAT THE FILE THAT WAS OPEN IS FIRST CLOSED BEFORE THE NEXT FILE IS OPENED. :* OPEN YET/ANOTHER COBOL~ WAIT... READ ONLY FILE. 7504 THIS OPENS THE FILE YET/ANOTHER USING THE SEQUENCE NUMBERS WITHIN THE FILE. THE MESSAGE "READ ONLY FILE" PAGE 12 INDICATES THAT THE USER IS FORBIDDEN (BY THE FILE SECURITY SYSTEM) TO MODIFY THE FILE. ERRORS: DUP FILE: A FILE, , ALREADY EXISTS AND THE USER IS TRYING TO CREATE A FILE WITH THAT NAME WITH AN "* OPEN ... NEW". NO FILE: THE USER IS TRYING TO OPEN A FILE, , AND IT DOES NOT EXIST ON DISK. BAD FILE: THE FILE WHICH THE USER IS TRYING TO OPEN IS NOT BLOCKED CORRECTLY. THE CORRECT BLOCKING IS 10-WORD RECORDS WITH A MULTIPLE OF 3 RECORDS PER BLOCK. INV USER: THE USER IS TRYING TO OPEN A FILE TO WHICH HE HAS NO ACCESS. IF THE USER HAS EITHER SECONDARY OR TERTIARY ACCESS, THE MESSAGE: "READ ONLY FILE" IS TYPED. FILE TOO LONG THE USER IS TRYING TO OPEN A FILE WITH MORE THAN 8191 RECORDS. SEQ OVERFLOW THE FILE THE USER IS OPENING CAUSES THE SEQUENCE COUNTER TO EXCEED 2,097,151. THE FILE IS OPENED, BUT THE USER SHOULD RESEQUENCE IT. PAGE 13 SEQ ERR- THE FILE CONTAINS A RECORD WHOSE SEQUENCE NUMBER IS LESS THAN THE SEQUENCE NUMBER OF THE PRECEEDING RECORD. THE FILE IS NOT OPENED. BAD FILE TYPE: IS NOT "ALGOL", "COBOL", "FORTRAN", "XALGOL", "BASIC", OR "DATA". PAGE 14 FILE CLOSING (CLOSE) ---- ------- ------- FILES ARE CLOSED BY USE OF THE FOLLOWING CONSTRUCT: * CLOSE - ----- THIS VERB DETATCHES THE OPEN FILE, FROM R/C. EXAMPLES: 5600:* CLOSE~ : THIS IS AN EXAMPLE OF CLOSING A FILE THAT IS IN THE CORRECT ORDER. 450:* RESEQ 100~ 9000:* CLOSE~ WAIT... : THIS IS AN EXAMPLE OF CLOSING A FILE THAT IS NOT IN ORDER. ERROR: NO FILE OPEN: CLOSE THERE IS NO OPEN FILE TO CLOSE. PAGE 15 LISTINGS ON THE TELETYPEWRITER (LIST) -------- -- --- -------------- ------ TO LIST FILES OR ANY OF THEIR SEPARATE RECORDS, THE FOLLOWING CONSTRUCTS APPLY: * LIST - ---- * LIST - ---- ----------- * LIST NO - ---- ----------- -- * LIST - ---- ----------- --- * LIST - ---- ----------- --- --- * LIST - ---- --- * LIST - ---- --- --- THE "LIST" VERB CAUSES AN ENTIRE FILE OR PORTIONS OF A FILE TO BE LISTED ON THE TELETYPEWRITER. LISTING MAY BE DISCONTINUED BY PRESSING THE BREAK KEY ON THE TELETYPEWRITER. THE FIRST FORM LISTS THE OPEN FILE. THE SECOND FORM LISTS THE FILE . THE THIRD FORM LISTS THE FILE , WITHOUT THE RECORD NUMBERS. PAGE 16 THE FOURTH FORM LISTS FROM THE TH RECORD TO THE END. THE FIFTH FORM LISTS FROM THE TH TO THE TH RECORDS. THE SIXTH FORM LISTS SEQUENCE NUMBER OF THE OPEN FILE. THE LAST FORM LISTS SEQUENCE NUMBERS THROUGH OF THE OPEN FILE. EXAMPLES: 500:* LIST~ 100:BEGIN 200: INTEGER I, J, K ; 300: REAL X, Y, Z ; 400: ARRAY A [0 : 9] ; 500: 5500:* LIST 8900,+3~ 8950: I := I + 5 ; 9125: GO TO NEXT ; 9300: HELP: 9400: 300* LIST 60~ 000060 MOVE A TO B. 000070 :* LIST SOME/FILE~ 1:BEGIN 2: INTEGER I, J, K ; 3: REAL X, Y, Z ; 4: ARRAY A [0 : 9] ; 5: A [I] := X ; 6:END. : 500:* LIST SOME/FILE NO~ BEGIN INTEGER I, J, K ; REAL X, Y, Z ; ARRAY A [0 : 9] ; A [I] := X ; END. 500: PAGE 17 :* LIST LIBRARY/FILE 2,4~ 2:PROCEDURE READDATA 567,653 3:PROCEDURE WRITEDATA 654,789 4:PROCEDURE DATA 790,808 : :* LIST SOME/FILE 5~ 5: A [I] := X ; 6:END. : :* LIST SOME/FILE 200,500~ USE RECORD #S. : THE LAST EXAMPLE ILLUSTRATES THE COMMON ERROR OF REFERENCING AN EXTERNAL FILE WITH SEQUENCE NUMBERS INSTEAD OF RECORD NUMBERS. PAGE 18 COMPRESSED FILE LISTINGS (QUICK) ---------- ---- -------- ------- A COMPRESSED FILE LISTING MAY BE OBTAINED FROM R/C BY USE OF THE CONSTRUCTS: * QUICK - ----- * QUICK - ----- ----------- * QUICK NO - ----- ----------- -- * QUICK - ----- ----------- --- * QUICK - ----- ----------- --- --- * QUICK - ----- --- * QUICK - ----- --- --- THE "* QUICK" VERB LISTS ON THE TELETYPEWRITER DELETING ALL CONTIGUOUS BLANKS EXCEPT THE FIRST. THE FILE IS NOT AFFECTED BY THE VERB. EXAMPLE: 4500:* LIST 4300,4400~ 4300: FOR I := A STEP -1 UNTIL 0 DO 4400: X [I] := SIN (Y) ; 4500:* QUICK -2, + 1~ 4300: FOR I := A STEP -1 UNTIL 0 DO 4400: X [I] := SIN (Y) ; 4500: PAGE 19 FILE REMOVAL (REMOVE) ---- ------- -------- TO REMOVE A FILE USE THE FOLLOWING CONSTRUCT: * REMOVE - ------ ----------- THE REMOVE VERB REMOVES THE FILE FROM DISK. * REMOVE LISTING - ------ ------- REMOVES LINE/, THE LISTING FILE FROM THE LAST COMPILATION. EXAMPLES: 3200:* REMOVE A/B~ 3200: 546:* REMOVE ANOTHER/FILE~ NO FILE: ANOTHER/FILE 546: :* OPEN EXAMPLE/X COBOL OLD~ 46500* REMOVE EXAMPLE/X~ : PAGE 20 LINE-PRINTER FILE REPRODUCTION (PRINT) ------------ ---- ------------ ------- THE PRINT VERB: *PRINT ------ --- --- PRINTS THE OPENED FILE ON THE LINE PRINTER (LABELED ). IF "" IS "DOUBLE" THEN DOUBLE SPACING IS USED. * PRINT - ----- --- --- --- AS ABOVE, STARTING WITH SEQUENCE NUMBER . * PRINT , - ----- --- --- ---- --- AS ABOVE, STOPPING WITH SEQUENCE NUMBER . EXAMPLES: :* OPEN TEST/CASE DATA;* PRINT TC DOUBLE;* CLOSE~ : THIS EXAMPLE ILLUSTRATES AN INSTANCE WHERE A SEQUENCED FILE SHOULD BE TREATED AS DATA TO SHORTEN THE OPERATION. IF THE FILE WAS OPENED "ALGOL OLD" IT WOULD HAVE BEEN RESEQUENCED BY THE CURRENT VALUE OF THE INCREMENT AND THEN WHEN IT WAS CLOSED IT WOULD HAVE BEEN RECOPIED. IF IT WAS OPENED "ALGOL" IT WOULD HAVE BEEN READ TO DETERMINE ITS SEQUENCE NUMBERS. EITHER WAY WOULD HAVE MADE THE WHOLE OPERATION MUCH SLOWER THAN OPENING THE FILE "DATA". 8700:* PRINT FOR USER~ WAIT... 8700: PAGE 21 PUNCHED-CARD FILE REPRODUCTION (PUNCH) ------------ ---- ------------ ------- TO PUNCH A FILE: * PUNCH - ----- --- --- PUNCHES A CARD DECK (LABELED ) OF THE OPENED FILE. * PUNCH - ----- --- --- --- AS ABOVE, STARTING WITH SEQUENCE NUMBER . * PUNCH , - ----- --- --- ---- --- AS ABOVE, STOPPING WITH SEQUENCE NUMBER . EXAMPLE: 7600:* PUNCH A B 100,+10~ WAIT... 7600: PAGE 22 FILE COMPILATION (COMPILE) ---- ----------- --------- FILES MAY BE COMPILED TO THE B5500 LIBRARY BY THE FOLLOWING CONSTRUCT: * COMPILE - ------- ----------- THIS VERB INITIATES THE COMPILATION OF THE OPEN FILE TO LIBRARY USING THE COMPILER INDICATED IN THE OPEN STATEMENT. THE OBJECT CODE IS NAMED . THE LISTING OUTPUT OF THE COMPILATION IS EQUATED TO "LINE/" ON DISK. THE "* LISTING" VERB MAY BE USED TO LIST THE SYNTAX ERRORS. * COMPILE - ------- ----------- ---------- COMPILES THE OPEN FILE USING THE SPECIFIED COMPILER. EXAMPLES: 5700:* COMPILE OBJECT/CODE~ WAIT... : 479:* COMPILE TEST/OBJECT EZTRAN~ QUEUED( 1).WAIT... : IN THE LAST EXAMPLE, THE "EZTRAN" COMPILER (EZTRAN/ DISK) WILL BE USED. IF THE FILE IS NOT IN ORDER, IT WILL BE REORDERED. SINCE THIS IS A LONG OPERATION THE USER GETS A "WAIT" MESSAGE. THE "QUEUED" MESSAGE INDICATES THAT ANOTHER USERS LONG OPERATION IS BEING PROCESSED AND THAT THIS LONG OPERATION IS QUEUED UNTIL THE OTHER IS DONE. THE "1" INDICATES THAT THIS IS THE FIRST REQUEST IN THE QUEUE. PAGE 23 OUTPUT OF THE COMPILATION (LISTING) ------ -- --- ----------- --------- THE LISTING FILE OF THE COMPILER IS EQUATED TO LINE/ ON DISK. THE FILE MAY BE ACCESSED BY THE USE OF THE LISTING VERB: * LISTING , , - ------- ----------- ---- ---- --- LISTS THE SEQUENCE NUMBERS RELATED TO SEGMENT FROM RELATIVE ADDRESS TO RELATIVE ADDRESS . IS ALGOL, XALGOL, BASIC, COBOL, OR FORTRAN AND INDICATES WHICH COMPILER CREATED THE LISTING FILE "LINE/". (THIS FILE IS AUTOMATICALLY GENERATED BY THE COMPILE VERB). * LISTING ERRORS - ------- ----------- ------ LISTS THE SYNTAX ERRORS OF YOUR LAST COMPILATION. * LISTING - ------- PRINTS THE LINE FILE OF YOUR LAST COMPILATION ON THE PRINTER. EXAMPLES: :* LISTING ALGOL 5, 25, 35~ WAIT... SEGMENT = 5: 4300: REL. ADDR. = 26. 4400: REL. ADDR. = 29. 9200: REL. ADDR. = 32. 9300: REL. ADDR. = 35. :* LISTING ALGOL ERRORS~ WAIT... 7800:ERROR 100 I. : 8900:* LISTING~ 8900: PAGE 24 FILE ZIPPED AS AN "EXECUTE" DECK (ZIP) ---- ------ -- -- --------- ---- ----- TO IMPLEMENT THE B5500 ZIP FUNCTION THROUGH R/C, USE THE FOLLOWING CONSTRUCT: * ZIP - --- THIS CONSTRUCT ZIPS THE OPENED FILE AFTER IT LINKS ALL THE CONTROL CARDS AS INDICATED BY "?". SEE THE ALGOL REFERENCE MANUAL FOR A DESCRIPTION OF THE "ZIP WITH FILE-ID" STATEMENT. * ZIP - --- ----------- COPIES THE OPENED FILE CREATING AND ZIPS . NOTE THIS "ZIP" CONSTRUCT DOES NOT DESTROY THE OPEN FILE, AS DOES THE FIRST FORM. EXAMPLES: :COLUMN ON "@";COLUMN 73~ :OPEN MAKE/MANUAL DATA NEW;%%EXECUTE XREF/JONES.~ 200:%%FILE DISK = TEACHER/0000094.~ 300:%% DATA CARD.~ 400:$ DISK SIX DOCONLY DOCUMENT FINAL~ 500:@99999999~ 600:%% END.~ 700:* ZIP TEMP/NAME~ WAIT... 700: THIS EXAMPLE ILLUSTRATES HOW TO CREATE A CONTROL DECK AND INITIATE ITS EXECUTION. THE DECK WAS SAVED (UNDER THE NAME "MAKE/MANUAL") SINCE THE ZIP CONSTRUCT INCLUDED THE DUMMY FILE "TEMP/NAME". (NOTE THAT THE ABOVE DECK WILL CREATE AN R/C USERS MANUAL.) :* OPEN MAKE/MANUAL DATA;* ZIP T/N;* CLOSE~ WAIT... : PAGE 25 RECORD HANDLING VERBS ------ -------- ----- PAGE 26 RECORD COPYING (DITTO) ------ ------- ------- RECORDS MAY BE COPIED FROM ONE PLACE TO ANOTHER WITHIN A FILE BY THE CONSTRUCT: * DITTO - ----- --- COPIES CARD IMAGE AS THE NEXT RECORD. * DITTO , - ----- ---- --- COPIES THE CARD IMAGES TO AS THE NEXT RECORDS. * DITTO OVERITE ON - ----- ------- -- * DITTO OVERITE OFF - ----- ------- --- * DITTO OVERITE - ----- ------- IF THE DITTO OVERITE IS OFF AND AN EXISTING RECORD IS ABOUT TO BE OVERWRITTEN, THE DITTO TERMINATES WITH AN "OVERITE OFF" MESSAGE. (IT IS INITIALLY OFF.) THE ABOVE COMMANDS ARE USED TO SET THE OPTION AND TO PRINT ITS CURRENT SETTING. ITS SETTING MAY BE REVERSED FOR ONE COMMAND BY PREFIXING THE DITTO WITH A -. (E.G. *-DITTO 10,50.) * DITTO MOVE - ----- --- ---- * DITTO , MOVE - ----- ---- --- ---- THE MOVE OPTION, MOVES RECORDS THRU TO THE PAGE 27 CURRENT LOCATION. THIS OPTION IS VERY FAST, BUT OVERITING IS NOT ALLOWED. EXAMPLES: 500:* DITTO 200,300~ 700:* LIST~ 100:ONE 200:TWO 300:THREE 400:FOUR 500:TWO 600:THREE 700:* DITTO 200,300 MOVE;*LIST~ 100:ONE 400:FOUR 500:TWO 600:THREE 700:TWO 800:THREE 900: PAGE 28 COPYING EXTERNAL FILES (COPY) ------- -------- ----- ------ WHOLE OR PARTIAL EXTERNAL FILES MAY BE COPIED INTO THE CURRENTLY OPENED FILE BY THE CONSTRUCTS: * COPY - ---- ----------- * COPY - ---- ----------- --- * COPY , - ---- ----------- ---- --- * COPY MERGE - ---- ----------- ----- THE COPY VERB COPIES RECORDS FROM ANOTHER FILE (). THE FIRST FORM COPIES THE WHOLE FILE. THE SECOND FORM COPIES THE -TH RECORD (WHERE THE FIRST RECORD OF IS 1, THE SECOND RECORD IS 2, THE THIRD IS 3, ETC.). THE THIRD FORM COPIES THE -TH THROUGH THE -TH RECORDS. THE LAST FORM USES THE SEQUENCE NUMBERS OF THE RECORDS OF TO DETERMINE THEIR POSITION IN THE OPEN FILE. * COPY OVERITE ON - ---- ------- -- * COPY OVERITE OFF - ---- ------- --- * COPY OVERITE - ---- ------- IF THE COPY OVERITE IS OFF AND AN EXISTING RECORD IS ABOUT TO BE OVERWRITTEN, THE COPY TERMINATES WITH AN "OVERITE OFF" MESSAGE. (IT IS INITIALLY OFF.) THE ABOVE PAGE 29 COMMANDS ARE USED TO SET THE OPTION AND TO PRINT ITS CURRENT SETTING. ITS SETTING MAY BE REVERSED FOR ONE COMMAND BY PREFIXING THE COPY WITH A -. (E.G. *-COPY A/B 10,50.) EXAMPLES: :* OPEN SOURCE/MARK7 ALGOL NEW~ 100:* COPY SOURCE/MARK6~ WAIT... 8900: 500:* COPY LIBRARY/FILE 345, 368~ WAIT... 2800: :QUICK PATCH/FILE~ 1:A 00000050 2:B 00000150 3:C 00000200 4:X 00000175 5:Y 00000250 6:Z 00000250 :OPEN MY/SOURCE ALGOL OLD~ 400:* COPY OVERITE ON;*COPY PATCH/FILE MERGE~ 400:* LIST~ 50:A 100:1 150:B 175:X 200:C 250:Z 300:3 400: PAGE 30 INTRA-RECORD EDITING (INLINE) ------------ ------- -------- RECORDS MAY BE EDITED BY USE OF THE "* INLINE" CONSTRUCTS DESCRIBED IN THE NEXT PARAGRAPHS. * INLINE - ------ --- * INLINE - ------ * INLINE - ------ --- ----- ---- * INLINE - ------ ----- ---- THIS SETS UP LINE FOR INLINE EDITING. IF THE SEQUENCE NUMBER IS NOT INCLUDED WITH THE COMMAND, THE PREVIOUS RECORD IS USED AND THE INITIAL PRINTING OF IT IS SUPPRESSED. * INLINE ECHO ON - ------ ---- -- * INLINE ECHO OFF - ------ ---- --- * INLINE ECHO - ------ ---- THE MODIFIED RECORD WILL BE TYPED ON THE TELETYPE IF THE INLINE ECHO IS ON. (IT IS INITIALLY ON.) THE ABOVE COMMANDS ARE USED TO SET THE OPTION AND TO PRINT ITS CURRENT SETTING. ITS SETTING MAY BE REVERSED FOR ONE COMMAND BY PREFIXING THE INLINE WITH A -. (E.G. * -INLINE +3.) TO MODIFY A PORTION OF A RECORD (CARD IMAGE) USE THE "* INLINE" VERB. R/C PRINTS THE RECORD NUMBER AND THE LINE, THEN GIVES A CARRIAGE RETURN AND LINE FEED. IT NEXT SPACES THE PRINT PAGE 31 BALL (ON THE NEW LINE) DIRECTLY BELOW THE FIRST CHARACTER POSITION OF THE OLD LINE, ABOVE. THE USER SPACES THE PRINT BALL TO THE PROPER POSITION AND ACCOMPLISHES THE FOLLOWING ACTIONS: TO INSERT A STRING, TYPE THE LETTER "I" FOLLOWED BY THE STRING AND A "~". TO DELETE A STRING, USE THE LETTER "D" FOLLOWED BY SPACES UNDER THE CHARACTERS TO BE DELETED AND THEN A "~". TO REPLACE A STRING, USE THE LETTER "R" FOLLOWED BY THE NEW STRING OF THE SAME LENGTH AND A "~". IF THE MODIFICATION IS TO BE DONE IN THE FIRST CHARACTER, THEN INCLUDE THE "I", "R", OR "D" WITH THE INLINE COMMAND. EXAMPLES: TO INSERT CHARACTERS INTO A RECORD: -- ------ ---------- ---- - ------- 300:*INLINE 30500~ 30500:ABCDEFGHIJK 00030500: I12345~ 30500:ABC12345DEFGHIJK TO DELETE CHARACTERS FROM A RECORD: -- ------ ---------- ---- - ------- 7700:*INLINE 67700~ 67700:ABCDEFGHIJKLMNOP 00067700: D ~ 67700:ABHIJKLMNOP TO REPLACE CHARACTERS IN A RECORD: -- ------- ---------- -- - ------- 600:* INLINE 551~ 551:ABCDEFGHIJKLMNOPQRST 00000551:R12345~ 551:A12345GHIJKLMNOPQRST PAGE 32 TO MODIFY A RECORD BEGINNING WITH ITS FIRST CHARACTER: -- ------ - ------ --------- ---- --- ----- ---------- 00006700:*INLINE 70800 D~ 70800:ABCDEFGHIJKLM 00070800: ~ 70800:DEFGHIJKLM 70900:* INLINE D; ~ 70800:EFGHIJKLM THE "R" AND "I" FORMS OF THIS LATTER CONSTRUCT OPERATE IN A SIMILAR FASHION. PAGE 33 STRINGS ------- R/C SCANS FOR THE OCCURRENCE OF A STRING BY USE OF THE "* SCAN" AND "* CHANGE" VERBS. IN THIS APPLICATION THE FOLLOWING DEFINITION OF "STRING" APPLIES: ::= ::= "/ ( / [ / . ::= "/ ) / ] / . ::= {ANY STRING OF CHARACTERS EXCLUDING THE CORRESPONDING TO THE CHARACTER USED.} ::= {EMPTY} / @ / @- IF THE STRING IS DELIMITED BY PERIODS, AN ADDED CHECK WILL BE MADE BEFORE DETERMINING A MATCHED STRING. THIS CHECK INSURES THAT THE MATCHED STRING WILL BE IMMEDIATELY PRECEEDED AND FOLLOWED BY A NON-ALPHANUMERIC CHARACTER. HENCE THIS FORM SHOULD BE USED FOR IDENTIFIERS. IF THE IS SPECIFIED, A MATCH WILL BE FOUND ONLY IF THE FIRST CHARACTER APPEARS WITHIN THE RANGE. EXAMPLES: "FD"@8 .LIST. "M := IMAGE [5] ;"@15-25 ( WORD [I] := "SCAN" ;) ["] "" PAGE 34 CHANGING THE OCCURRENCE OF A STRING (CHANGE) -------- --- ---------- -- - ------ -------- ENTIRE STRINGS MAY BE CHANGED IN A FILE BY USE OF THE "* CHANGE" VERB. * CHANGE TO - ------ -------- -- -------- SCANS THE CURRENT RECORD REPLACING EVERY OCCURRENCE OF THE FIRST STRING WITH THE SECOND. IF NO " TO " APPEARS THE PREVIOUSLY USED STRINGS WILL BE USED AGAIN. * CHANGE TO - ------ --- -------- -- -------- AS ABOVE, FOR THE RECORD WITH SEQUENCE NUMBER . * CHANGE , TO - ------ ---- --- -------- -- -------- AS ABOVE, FOR ALL RECORDS FROM SEQUENCE NUMBER TO . * CHANGE ECHO ON - ------ ---- -- * CHANGE ECHO OFF - ------ ---- --- * CHANGE ECHO - ------ ---- THE MODIFIED RECORDS WILL BE TYPED ON THE TELETYPE IF THE CHANGE ECHO IS ON. (IT IS INITIALLY OFF.) THE ABOVE COMMANDS ARE USED TO SET THE OPTION AND TO PRINT ITS CURRENT VALUE. ITS SETTING MAY BE REVERSED FOR A COMMAND BY PREFIXING THE CHANGE WITH A -. (E.G. *-CHANGE "X" TO "Z".) PAGE 35 EXAMPLES: 00004200:* CHANGE "REMOTE/CARD" TO "R/C";*CHANGE 5300~ 00005300: 8700:* -CHANGE -1 .TWX.@25-30 TO "TELETYPWRITER"~ 8600: THE OUPUT IS TYPED ON THE TELETYPWRITER IF 00008600: 450:* CHANGE 232, 448 "IMAGE [I]" TO (Z [J])~ WAIT... 00000448: 47000:* CHANGE 2200+6 " "@1 " "~ 00002800:* CHANGE +1+3 " "@1 ""~ 00003200: PAGE 36 SCANNING FOR OCCURRENCE OF A STRING (SCAN) -------- --- ---------- -- - ------ ------ * SCAN - ---- -------- SCANS THE FILE FROM THE CURRENT SEQUENCE NUMBER TO THE END OF THE FILE OR UNTIL THE FIRST OCCURRENCE OF . IF THE STRING IS FOUND THE RECORD CONTAINING IT IS TYPED ON THE TELETYPEWRITER. IF IS ACTUALLY TWO S THE SCAN STOPS AT THE FIRST OCCURRENCE OF EITHER . IF NO APPEARS WITH THE COMMAND, IT IS ASSUMED TO BE THE SAME AS IN THE LAST "* SCAN" OR "* CHANGE" COMMAND. IF THE SCAN VERB IS PREFIXED BY A -, THE SCAN WILL BE FOR RECORDS NOT CONTAINING THE . * SCAN - ---- --- -------- AS ABOVE, EXCEPT THAT THE SCAN BEGINS AT SEQUENCE NUMBER . * SCAN , - ---- ---- --- -------- AS ABOVE, EXCEPT THAT THE SCANNING STOPS AFTER SEQUENCE NUMBER . * SCAN - ---- ----------- -------- THE FILE IS SCANNED FOR . EVERY RECORD IN WHICH OCCURS IS TYPED ON THE TELETYPEWRITER. * SCAN - ---- ----------- --- -------- AS ABOVE, EXCEPT THE SCAN BEGINS AT RECORD NUMBER . PAGE 37 * SCAN , - ---- ----------- ---- --- -------- AS ABOVE, EXCEPT THAT THE SCAN STOPS AFTER THE -TH RECORD. EXAMPLES: :* SCAN LIBRARY/FILE "TABLE OF CONTENTS"@3~ WAIT... 1:% TABLE OF CONTENTS ... READDATA 98:% TABLE OF CONTENTS ... READDATA 99:% TABLE OF CONTENTS ... WRITEDATA 273:% TABLE OF CONTENTS ... WRITEDATA 274:% TABLE OF CONTNETS ... DATE 285:% TABLE OF CONTENTS ... DATE : 8700:* SCAN 1 .PRINTER. .LINE.~ WAIT... 100: FILE PRINTER 1 (2, 15) ; 101:* SCAN~ WAIT... 2400: WRITE (LINE, F, LISTA) ; 2401:* SCAN~ WAIT... EOF NO STRING 8700: PAGE 38 RECORD FORMATING (EDIT) ------ --------- ------ RECORDS MAY BE FORMATED BY THE FOLLOWING CONSTRUCTS: * EDIT , : - ---- ---- ---- --- EDITS EACH RECORD FROM SEQUENCE NUMBER TO ACCORDING TO THE FORMAT RECORD WITH SEQUENCE NUMBER . THE RESULT OF THE EDIT IS THAT EACH RECORD BECOMES IDENTICAL WITH THE FORMAT RECORD EXCEPT WHERE THERE IS A "#" OR "@" CHARACTER IN FORMAT RECORD. EACH "@" IS REPLACED BY THE NEXT CHARACTER OF THE INPUT RECORD. EACH "#" SKIPS THE NEXT CHARACTER OF THE INPUT RECORD. * EDIT ECHO ON - ---- ---- -- * EDIT ECHO OFF - ---- ---- --- * EDIT ECHO - ---- ---- THE MODIFIED RECORDS WILL BE TYPED ON THE TELETYPE IF THE EDIT ECHO IS ON. (IT IS INITIALLY OFF.) THE ABOVE COMMANDS ARE USED TO SET THE ECHO AND TO PRINT ITS CURRENT SETTING. IT SETTING MAY BE REVERSED FOR A COMMAND BY PREFIXING THE EDIT WITH A -. (E.G. *- EDIT 200,800:2.) EXAMPLE: 100:1234567890~ 200:ABCDEFGHIJK~ 300: @@@...@@. THIS IS THE WAY THE LINE ENDS...@##@@@~ 400:* -EDIT 100, 200:300~ 100: 123...45. THIS IS THE WAY THE LINE ENDS...690 200: ABC...DE. THIS IS THE WAY THE LINE ENDS...FIJK PAGE 39 RESEQUENCING RECORD NUMBERS (RESEQ) ------------ ------ ------- ------- FILE SEQUENCE NUMBERS MAY BE MODIFIED BY THE FOLLOWING CONSTRUCTS: * RESEQ - ----- RESEQUENCES THE FILE BY THE CURRENT INCREMENT COUNTER. * RESEQ - ----- --- SETS THE INCREMENT COUNTER TO AND RESEQUENCES. * RESEQ , - ----- ---- --- RESEQUENCES THE SEQUENCE NUMBERS THRU BY THE CURRENT INCREMENT COUNTER. THE FIRST SEQUENCE NUMBER IS . * RESEQ , , - ----- ---- ---- --- AS ABOVE, EXCEPT THAT THE FIRST SEQUENCE NUMBER IS . * RESEQ , , , - ----- ---- ---- ---- --- AS ABOVE, EXCEPT THE INCREMENT IS SET TO FIRST. EXAMPLES: 895:* RESEQ~ 323:* RESEQ 100~ 32300: PAGE 40 DELETION OF RECORDS (DELETE) -------- -- ------- -------- RECORDS MAY BE DELETED FROM A FILE BY THE FOLLOWING CONSTRUCTS: * DELETE - ------ --- DELETES CARD IMAGE . * DELETE , - ------ ---- --- DELETES CARD IMAGES THROUGH . * DELETE - ------ DELETES THE CURRENT CARD. EXAMPLES: 3400:* DELETE 3300~ 3300: 2100:* DELETE 1500, + 3;* LIST 1400,2000~ 1400: BEGIN 1900: GO TO ERROR ; 2000: END ; 2100: 2100:* 2000~ 2000: END ; 00002000:*DELETE~ 2000: PAGE 41 OPERATIONAL COMMANDS ----------- -------- PAGE 42 SET THE INCREMENT COUNTER (INC) --- --- --------- ------- ----- THE INCREMENT COUNTER MAY BE SET BY THE CONSTRUCT "* INC". * INC - --- --- THIS CONSTRUCT SETS THE INCREMENT COUNTER TO . * INC - --- THIS CONSTRUCT PRINTS THE CURRENT VALUE. EXAMPLES: 100:BEGIN~ 200: INTEGER I, J, K ;~ 300:* INC 3~ 300: BOOLEAN B ;~ 303: REAL X, Y, Z ;~ 306: PAGE 43 NON-TELETYPEWRITER CHARACTERS (PERCENT) ------------------ ---------- --------- SPECIAL CHARACTERS ON THE B5500 BUT NOT AVAILABLE ON THE TELETYPEWRITER KEYBOARD (INCLUDING THE QUESTION MARK "?") MAY BE INSERTED INTO R/C MAINTAINED FILES BY THE "* PERCENT" CONSTRUCT. * PERCENT ON - ------- -- * PERCENT OFF - ------- --- * PERCENT - ------- THE "* PERCENT" CONSTRUCTS ALLOW A USER TO INPUT THE SPECIAL RESERVED CHARACTERS (I.E. LEFT-ARROW, NEQ, LSS, GEQ, GTR, LEQ, AND ?). THE ABOVE COMMANDS ARE USED TO SET THE OPTION AND TO PRINT ITS CURRENT SETTING. WHEN THE PERCENT OPTION IS ON, INPUT FROM THE TELETYPEWRITER IS SCANNED FOR SPECIAL CHARACTER PAIRS. IF A PAIR IS FOUND IT IS REPLACED BY THE SINGLE CHARACTER AS FOLLOWS: CHARACTER PAIR INTERNAL CHARACTER -------------- ------------------ %- ~ (LEFT ARROW) %= ! (NEQ) %( < (LSS) %) > (GTR) %[ { (LEQ) %] } (GEQ) %% ? (QUESTION MARK) %* * (STAR) (1ST CHR ONLY) A "%" FOLLOWED BY ANY OTHER CHARACTER REMAINS AS IS. WHEN THE PERCENT OPTION IS ON, THE TRANSLATION TAKES PLACE IMMEDIATELY. HENCE ONLY ONE BACKSPACE (SHIFT 7) IS NEEDED. EXAMPLES: 100:* PERCENT OFF~ PAGE 44 100:%% COMPILE ... %= %( %A~ 200:* PERCENT ON~ 200:%% COMPILE ... %= %( %A~ 300:* LIST~ 100:%% COMPILE ... %= %( %A 200:? COMPILE ... ! < %A 300: NOTE THAT ON THE TELETYPWRITER THE CHARACTERS "!" AND "<" WOULD HAVE BEEN TYPED AS A "$". PAGE 45 R/C VERB RENAMING (REPLACE) --- ---- -------- --------- R/C VERBS MAY BE REPLACED BY OTHER WORDS THROUGH THE CONSTRUCT "* REPLACE". * REPLACE : - ------- ------- THE REPLACE VERB RENAMES THE VERB WITH THE WORD . EXAMPLES: :* REPLACE LIST:TYPE~ :* REPLACE INLINE:IN~ :* REPLACE REPLACE:R~ :* R CHANGE:C~ : PAGE 46 AUTOMATIC FIRST CHARACTER PLACEMENT (TAB) --------- ----- --------- --------- ----- R/C USERS MAY INITIALLY (AUTOMATICALLY) PRE-POSITION THE PRINT BALL AT ANY COLUMN BY USE OF THE "* TAB" CONSTRUCT. * TAB - --- --- SETS UP AUTOMATIC INDENTING TO POSITION , WHERE 1 LEQ LEQ 54. * TAB + - --- ---- * TAB - - --- ---- ADJUSTS THE TAB AMOUNT BY THE VALUE OF . * TAB ON - --- -- * TAB OFF - --- --- * TAB - --- THE TAB OPTION PERMITS THE USER (BY SETTING THE OPTION OFF) TO SURPRESS THE TAB SPACING ON THE TELETYPEWRITER. THE AUTOMATIC INDENTING STILL APPLIES TO THE RECORDS CREATED. THE LAST CONSTRUCT PRINTS BOTH THE SETTING OF THE OPTION AND THE TAB VALUE. EXAMPLE: 4500:* TAB 5~ 4500: BEGIN~ PAGE 47 4600: * TAB+2~ 4600: K := K + DELTAK ;~ 4700: * TAB - 2;END ;~ 4800: * TAB 1~ 4800: PAGE 48 SETTING THE SAVE FACTOR (SAVE) ------- --- ---- ------ ------ THE SAVE FACTOR OF A DISK FILE IS THE NUMBER OF DAYS AFTER ITS LAST ACCESS BEFORE IT WILL BE CONSIDERED EXPIRED. THE SAVE FACTOR FOR A NEW USER IS SET AT 7 DAYS. IT MAY BE CHANGED BY: * SAVE - ---- --- SETS THE SAVE FACTOR AT DAYS. * SAVE - ---- PRINTS THE CURRENT VALUE OF THE SAVE FACTOR. EXAMPLE: :* SAVE 10~ : PAGE 49 TABULATING (COLUMN) ---------- -------- * COLUMN - ------ --------- ------- * COLUMN ON - ------ -- --------- ------- * COLUMN OFF - ------ --- --------- ------- * COLUMN - ------ ------ ------ ------ ------ ----- ------- THE COLUMN VERB IS USED TO SET UP COLUMN POSITIONS AND INDICATE WHAT CHARACTER IS THE COLUMN CHARACTER. THE FIRST FORM PRINTS THE CURRENT SETTINGS. THE SECOND AND THIRD FORMS ARE USED TO TURN THE OPTION ON OR OFF. THE FOURTH FORM SETS UP FROM 1 TO 4 COLUMN POSITIONS. ANY FORM MAY SET THE COLUMN CHARACTER. WHEN THE OPTION IS ON, EACH OCCURENCE OF THE COLUMN CHARACTER IN AN INPUT RECORD CAUSES BLANKS TO BE INSERTED TO THE NEXT HIGHER COLUMN POSITION. EXAMPLE: :COLUMN ON "#";* COLUMN 10 20 25;COLUMN~ COLUMN ON # 10 20 25 :OPEN COLUMN/SHOW ALGOL NEW~ 100:ABC#123#XYZ#IJK#789~ 200:* LIST~ 100:ABC 123 XYZ IJK#789 200:123456789012345678901234567890~ 300: PAGE 50 AUXILIARY COMMANDS --------- -------- PAGE 51 MESSAGES TO OTHERS (MAIL) -------- -- ------ ------ MESSAGES MAY BE RECEIVED FROM, AND SENT TO, OTHER USERS OF R/C BY THE "* MAIL" VERB DESCRIBED BELOW. * MAIL - ---- THIS LISTS THE MAIL SENT TO YOU, AND REMOVES IT FROM YOUR "MAIL-BOX". * MAIL TO : MESSAGE - ---- -- ----------- ------- THIS ADDS YOUR MESSAGE TO THE -S MAIL. EXAMPLES: :* MAIL~ PLEASE SEE ME WHEN YOU GET A CHANCE-BALDWIN THERE WILL NOT BE ANY REMOTE TIME 10/24/70-SYSTEM :* MAIL TO BALDWIN:MY OFFICE- 10AM- FRIDAY~ PAGE 52 HOW TO DETACH YOURSELF FROM R/C (END) --- -- ------ -------- ---- --- ----- THREE METHODS ARE AVAILABLE TO THE USER WHEN HE WISHES TO MAKE AN EXIT FROM R/C: * END - --- * END - --- --- * END DS - --- -- THE FIRST CONSTRUCT DETACHES THE USER FROM R/C. THE SECOND CONSTRUCT CAUSES R/C TO REMEMBER, FROM ONE RUN TO THE NEXT, THE VALUES OF THE OPTIONS AND THE EFFECTS OF THE "* REPLACE" VERB. THE "* END" CONSTRUCT DOES NOT GENERATE THIS LASTING EFFECT. DENOTES ANY ALPHANUMERIC CHARACTER STRING. THE THIRD CONSTRUCT ALLOWS A USER TO END WITHOUT CLOSING THE OPEN FILE. R/C REMEMBERS THE FILE STRUCTURE FOR THE NEXT TIME. HOWEVER THE FILE SHOULD NOT BE ACCESSED BY ANY OTHER PROGRAM UNTIL IT IS CLOSED USING R/C. THIS FORM CAN BE USED WHEN THE FILE EDITING IS SPLIT OVER MORE THAN ONE RUNNING OF R/C. EXAMPLES: :* END~ GOOD BYE 634:* END X~ WAIT... GOOD BYE 892:* END DS~ GOOD BYE PAGE 53 LEARNING ABOUT R/C ON THE TELETYPWRITER (TEACH) -------- ----- --- -- --- ------------- ------- THE TEACH VERB ALLOWS A USER AT THE TELETYPWRITER TO LEARN ABOUT THE R/C VERBS AND SPECIFICALLY WHAT VERBS HE MAY USE. * TEACH - ----- THIS LISTS THE VERBS THAT YOU ARE PERMITTED TO USE. THE LIST REFLECTS THE USE OF REPLACE ON ANY OF THE VERBS. * TEACH - ----- ------ THIS LISTS THE SYNTAX AND SEMANTICS OF THE RESERVED WORD . EXAMPLES: :* TEACH SAVE~ * SAVE $N$ SETS THE SAVE FACTOR AT $N$ DAYS. * SAVE PRINTS THE CURRENT VALUE OF THE SAVE FACTOR. : 121970:* TEACH~ THE VALID REQUESTS ARE: EXECUTE DITTO COPY IN ZIP C EDIT SAVE RESEQ PUNCH PRINT DELETE CLOSE COMPILE COLUMN SCAN LISTING INC TAB PERCENT QUICK LIST OPEN MAIL TEACH REMOVE REPLACE END FOR SYNTAX OF A VERB (E.G. TAB), INPUT: * TEACH VERB. (E.G. * TEACH TAB) 121970: NOTE THAT THE USE OF THE REPLACE VERB (FOR INLINE AND CHANGE) IS REFLECTED BY THE TEACH VERB. PAGE 54 MACRO VERB ----- ---- PAGE 55 MACRO (EXECUTE) ----- --------- THE EXECUTE VERB GIVES R/C USERS A SIMPLE MACRO CAPABILITY. * EXECUTE - ------- -------- --------- --------- ----- RECORDS ARE READ FROM THE AND TREATED AS IF THEY CAME FROM THE TELETYPE. HENCE, THEY MAY CONTAIN COMMANDS. THE , IF PRESENT, CONTAINS FROM 0 TO 5 PARAMETERS ENCLOSED WITHIN PARENTHESIS AND MAY BE FOLLOWED BY A REPEAT FACTOR. EACH PARAMETER MAY BE A SEQUENCE NUMBER, A RELATIVE SEQUENCE NUMBER, A RECORD NUMBER, A FILE PREFIX, A FILE SUFFIX, OR A VERB. WITHIN THE THE PARAMETERS ARE REFERRED TO BY #1, #2, ..., #5. THE REPEAT FACTOR IS AN INTEGER FROM 0 TO 999 AND INDICATES THE NUMBER OF TIMES TO PERFORM THE EXECUTE. IF IT IS NOT SPECIFIED, IT IS ASSUMED TO BE 1. * EXECUTE ECHO ON - ------- ---- -- * EXECUTE ECHO OFF - ------- ---- --- * EXECUTE ECHO - ------- ---- IF THE EXECUTE ECHO IS ON, EACH RECORD WILL BE TYPED ON THE TELETYPE BEFORE IT IS EXECUTED. IT IS INITIALLY OFF. IT MAY BE REVERSED FOR ONE COMMAND BY PREFIXING THE COMMAND BY A -. * EXECUTE LIBRARY = - ------- ------- - ------ * EXECUTE LIBRARY - ------- ------- THE EXECUTE LIBRARY FACILITY ALLOWS THE USER TO PAGE 56 ABBREVIATE: * EXECUTE / (P1,P2,P3,P4) WITH: * P1,P2,P3,P4 THE IS "MACRO" AND ANY OTHER NAME DESIGNATED THRU THE * EXECUTE LIBRARY = COMMAND. EXAMPLES: :* OPEN CREATE/MACRO DATA NEW~ 100:%* OPEN #1/#2 #3 NEW~ 200:* CLOSE~ :* CREATE MOVE/MACRO DATA~ 100:%* DITTO #1,#2 MOVE~ 200:*CLOSE~ : 5700:* TEACH CC~ 1:* SCAN + 1 "$$"@1 2:* DELETE -1 3:? COMPILE SOME/JOB FORTRAN. 4:? DATA 5:FILE 6=FILE6, UNIT = PRINTER 5700:*1;* INC 10;*EXECUTE CC/MACRO ()@2~ WAIT... 2200:$$ JOB 2900:$$ IBJOB 2840: A- 1 APPENDIX A -------- - R/C SOURCE TAPE --- ------ ---- R/C RESIDES ON A SYSTEM DUMP TAPE CONTAINING THE FILES 1. RCSY94/RON 2. TEACHER/0000094 3. XREF/JONES THE FILES SHOULD BE LOADED USING THE CONTROL DECK: ? LOAD FROM RC RCSY94/RON,TEACHER/0000094,XREF/JONES. ? END. RCSY94/RON IS THE SOURCE FILE FOR THE PROGRAM R/C. IT SHOULD BE COMPILED WITH: ? COMPILE R/C WITH ALGOL FOR LIBRARY. ? ALGOL FILE TAPE = RCSY94/RON SERIAL. ? STACK = 256. ? CORE = 2800. = 2500 + 100 | MAXUSERS. ? PRIORITY = 1. ? DATA $ TAPE 99999999 ? END. A- 2 WHEN PATCHES ARE ISSUED THEY SHOULD BE PLACED AFTER THE "$ TAPE" CARD AND R/C SHOULD BE RECOMPILED. THE MAXIMUM NUMBER OF USERS HANDLED BY R/C IS DEFINED TO BE 3 IN RCSY94/RON. TO INCREASE THE NUMBER, A PATCH CARD MUST BE ADDED. AS AN EXAMPLE, THE FOLLOWING CARD SHOULD BE ADDED TO INCREASE THE MAXIMUM NUMBER OF USERS TO 5. DEFINE MAXUSERS = 5#, MAXUSER =4# ; 00002500 THE OUTPUT BUFFERS ARE DEFINED TO BE 56 CHARACTERS IN RCSY94/RON. THEY MAY BE SET AT 28 CHARACTERS USING THE FOLLOWING PATCH CARDS: DEFINE CHRSPERBUFFER = 28#, % OR 56 00002600 WORDSPERBUFFER = 5#, % OR 8 00002700 WRDSPERBUFFER = 4# ; % OR 7 00002800 TEACHER/0000094 IS AN AUXILIARY FILE USED BY R/C. IT IS ALSO THE USERS REFERENCE MANUAL. THE PROGRAM XREF/JONES IS PROVIDED FOR GENERATING THE REFERENCE MANUAL AND FOR UPDATING THE TEACHER FILE. (NOTE, ONLY THE OBJECT CODE FOR XREF/JONES IS INCLUDED. THE SOURCE CAN BE OBTAINED THROUGH THE CUBE LIBRARY ON REQUEST.) THE FOLLOWING DECK WILL PRODUCE A USERS REFERENCE MANUAL. ? EXECUTE XREF/JONES. ? FILE DISK = TEACHER/0000094. ? DATA CARD. $ DISK SIX DOCONLY DOCUMENT FINAL 99999999 ? END. PATCHES TO R/C AND THE TEACHER FILE WILL BE ISSUED THRU CUBE. RATHER THAN PATCH DECKS, NEW SYMBOLIC FILES WILL BE INCLUDED ON THE CUBE TAPE. THE SEQUENCE NUMBERS WILL REMAIN THE SAME EXCEPT IN THE PATCHED AREA. B- 1 APPENDIX B -------- - R / C USER-S GUIDE - - - ------ ----- B- 2 * CHANGE TO * CHANGE TO * CHANGE TO * CHANGE ECHO ON * CHANGE ECHO OFF * CHANGE ECHO * -CHANGE TO * -CHANGE TO * -CHANGE TO * CLOSE * COLUMN * COLUMN ON * COLUMN OFF * COLUMN * COMPILE * COMPILE * COPY * COPY * COPY * COPY $(FILE-NAME> MERGE * COPY OVERITE ON * COPY OVERITE OFF * COPY OVERITE * -COPY * -COPY * -COPY * -COPY MERGE * DELETE * DELETE * DELETE * DITTO * DITTO * DITTO OVERITE ON * DITTO OVERITE OFF * DITTO OVERITE * -DITTO * -DITTO * DITTO MOVE * DITTO MOVE * EDIT : * EDIT ECHO ON * EDIT ECHO OFF * EDIT ECHO * -EDIT : * END * END * END DS * EXECUTE *-EXECUTE * EXECUTE ECHO ON * EXECUTE ECHO OFF * EXECUTE ECHO * EXECUTE LIBRARY = B- 3 * EXECUTE LIBRARY * INC * INC * INLINE * INLINE I * INLINE R * INLINE D * INLINE * INLINE I * INLINE R * INLINE D * INLINE ECHO ON * INLINE ECHO OFF * INLINE ECHO * -INLINE * -INLINE I * -INLINE R * -INLINE D * -INLINE * -INLINE I * -INLINE R * -INLINE D * LIST * LIST * LIST NO * LIST * LIST * LIST * LIST * LISTING * LISTING ERRORS * LISTING * MAIL * MAIL TO : * OPEN NEW * OPEN OLD * OPEN * PERCENT ON * PERCENT OFF * PERCENT * PRINT * PRINT DOUBLE * PRINT * PRINT DOUBLE * PRINT * PRINT DOUBLE * PUNCH * PUNCH * PUNCH * QUICK * QUICK * QUICK NO * QUICK B- 4 * QUICK * QUICK * QUICK * REMOVE * REPLACE : * RESEQ * RESEQ * RESEQ * RESEQ * RESEQ * SAVE * SAVE * SCAN * SCAN * SCAN * SCAN * SCAN * SCAN * SCAN * SCAN * SCAN * SCAN * SCAN * SCAN *-SCAN *-SCAN *-SCAN *-SCAN *-SCAN *-SCAN *-SCAN *-SCAN *-SCAN *-SCAN *-SCAN *-SCAN * TAB * TAB + * TAB - * TAB ON * TAB OFF * TAB * TEACH * TEACH * ZIP * ZIP TABLE OF CONTENTS INTRODUCTION. . . . . . . . . . . . . . . . . . . . . . . . . . PAGE 1 PROGRAM OPERATION AND RECORD SEQUENCING . . . . . . . . . . . . PAGE 2 PROGRAM EXECUTION . . . . . . . . . . . . . . . . . . . . . . . PAGE 3 INITIAL REMOTE TERMINAL OPERATIONS . . . . . . . . . . . . PAGE 3 FINAL REMOTE TERMINAL OPERATIONS . . . . . . . . . . . . . PAGE 5 R/C INPUT. . . . . . . . . . . . . . . . . . . . . . . . . PAGE 5 R/C OUTPUT . . . . . . . . . . . . . . . . . . . . . . . . PAGE 7 R/C FILES . . . . . . . . . . . . . . . . . . . . . . . . . . . PAGE 8 FILE TYPES . . . . . . . . . . . . . . . . . . . . . . . . PAGE 8 FILE NAMES . . . . . . . . . . . . . . . . . . . . . . . . PAGE 8 RECORD REFERENCING . . . . . . . . . . . . . . . . . . . . PAGE 9 FILE-HANDLING VERBS . . . . . . . . . . . . . . . . . . . . . . PAGE 10 FILE OPENING AND CREATION (OPEN) . . . . . . . . . . . . . PAGE 11 FILE CLOSING (CLOSE) . . . . . . . . . . . . . . . . . . . PAGE 14 LISTINGS ON THE TELETYPEWRITER (LIST). . . . . . . . . . . PAGE 15 COMPRESSED FILE LISTINGS (QUICK) . . . . . . . . . . . . . PAGE 18 FILE REMOVAL (REMOVE). . . . . . . . . . . . . . . . . . . PAGE 19 LINE-PRINTER FILE REPRODUCTION (PRINT) . . . . . . . . . . PAGE 20 PUNCHED-CARD FILE REPRODUCTION (PUNCH) . . . . . . . . . . PAGE 21 FILE COMPILATION (COMPILE) . . . . . . . . . . . . . . . . PAGE 22 OUTPUT OF THE COMPILATION (LISTING). . . . . . . . . . . . PAGE 23 FILE ZIPPED AS AN "EXECUTE" DECK (ZIP) . . . . . . . . . . PAGE 24 RECORD HANDLING VERBS . . . . . . . . . . . . . . . . . . . . . PAGE 25 RECORD COPYING (DITTO) . . . . . . . . . . . . . . . . . . PAGE 26 COPYING EXTERNAL FILES (COPY). . . . . . . . . . . . . . . PAGE 28 INTRA-RECORD EDITING (INLINE). . . . . . . . . . . . . . . PAGE 30 STRINGS. . . . . . . . . . . . . . . . . . . . . . . . . . PAGE 33 CHANGING THE OCCURRENCE OF A STRING (CHANGE) . . . . . . . PAGE 34 SCANNING FOR OCCURRENCE OF A STRING (SCAN) . . . . . . . . PAGE 36 RECORD FORMATING (EDIT). . . . . . . . . . . . . . . . . . PAGE 38 RESEQUENCING RECORD NUMBERS (RESEQ). . . . . . . . . . . . PAGE 39 DELETION OF RECORDS (DELETE) . . . . . . . . . . . . . . . PAGE 40 OPERATIONAL COMMANDS. . . . . . . . . . . . . . . . . . . . . . PAGE 41 SET THE INCREMENT COUNTER (INC). . . . . . . . . . . . . . PAGE 42 NON-TELETYPEWRITER CHARACTERS (PERCENT). . . . . . . . . . PAGE 43 R/C VERB RENAMING (REPLACE). . . . . . . . . . . . . . . . PAGE 45 AUTOMATIC FIRST CHARACTER PLACEMENT (TAB). . . . . . . . . PAGE 46 SETTING THE SAVE FACTOR (SAVE) . . . . . . . . . . . . . . PAGE 48 TABULATING (COLUMN). . . . . . . . . . . . . . . . . . . . PAGE 49 AUXILIARY COMMANDS. . . . . . . . . . . . . . . . . . . . . . . PAGE 50 MESSAGES TO OTHERS (MAIL). . . . . . . . . . . . . . . . . PAGE 51 HOW TO DETACH YOURSELF FROM R/C (END). . . . . . . . . . . PAGE 52 LEARNING ABOUT R/C ON THE TELETYPWRITER (TEACH). . . . . . PAGE 53 MACRO VERB. . . . . . . . . . . . . . . . . . . . . . . . . . . PAGE 54 MACRO (EXECUTE). . . . . . . . . . . . . . . . . . . . . . PAGE 55 APPENDIX A. . . . . . . . . . . . . . . . . . . . . . . . . . . A- 1 R/C SOURCE TAPE . . . . . . . . . . . . . . . . . . . . . . . . A- 1 APPENDIX B. . . . . . . . . . . . . . . . . . . . . . . . . . . B- 1 R / C USER-S GUIDE. . . . . . . . . . . . . . . . . . . . . . . B- 1 LABEL 000000000LINE 00188158?EXECUTE XREF/JONES XREF /JONES