TEDI--a Text EDItor RSX/IAS/VMS VERSION Clair W. Nielson Los Alamos National Laboratory Lo s Alamos, New Mexico 87545 TEDI is a text editor and formatter whose editing syntax is derived from that of the LTSS editing language TRIX AC and whose formatting notation is similar to that of the DEC formatter RUNOFF. Ho wever, many changes and additions have been made and users are advised to review the commands before use. EXECUTING TEDI On machines where TEDI has been installed in the system area, execution is begun with either TEDI filename or TEDI In the case where TEDI resides in your own filespace, execution is begun with RUN TEDI For the latter two forms, the editor wil l immediately ask for a filename with the prompt "FILE:". The file specified may be either an existing file o r a new file to be created. The editor will respond to the filename with a report of the number of lines found. A new fil e will have zero lines. TEDI will remove sequence numbers of the type added by the SOS editor if they are present. A command consists of an alphabetic abbreviation followed immediately by its numeric arguments and, in some cases, by one or more string arguments. String arguments may be text lines to be input, patterns to be found o r replaced, or a filename specifier. String arguments may be input on separate lines from the command (by giving carriage returns), in which case a distinctive prompt character or word suggesting the nature of the input will be given or, in a more compact form, may be specified on the same line as the command, separated from it and its numeric arguments b y a separator character called the logical line feed. The logical line feed character is dynamically determined, an d is the first special character (i.e., not alphabetic or numeric) following a command. Special characters later d esignated to have other functions, ".", "]", "*", "+", "-", ",", ' ', "`", and "ESC", may not be used as the logical line feed. The two -2- most likely choices are the semicolon and the slash--FOR TRAN users will generally prefer the former and MACRO users the latter. If no such special character appears after the first command on a line (that is, a carriage return is given and the explicit prompt obtained) no logica l line-feed applies until another command appears at the beginning of a line. The logical line feed character may be used not only to separate the string arguments from a single command, but may be used to combine several command-argument sequences (up to the maximum line length of 136 characters) on a single input line. While us ing TEDI, either the DEL (RUBOUT) or CTRL-H (BACKSPACE) keys may be used as the character erase. CTRL-U is the normal lin e erase. The escape character is an alternative form of line erase when TEDI is running. Moreover, if given immediately after the prompt in a multiple-line command such as text entry, the escape functions as a command erase in that the editor returns to command mode ignoring the partial command thus far entered. Finally, C TRL-O stops type out to the terminal. If the type out was from a verification, the update is completed eve n though verification ceases. TEDI makes extensive use of line numbers in referencing the working file. Th ese line numbers are not actually entered into the file, but are implicitly determined by the position of the line in the file, and run consecutively 1, 2, 3, ... ] where "]" is a symbol for the last line in the file. Every editing o peration that adds or deletes lines causes an effective renumbering of the file. Other special symbols are the period "." for the current line (the last line on which a change or a type-out took place) and "*" for the entire file. Expressions of the form ".+k", ".-k", and "]-k" are permitted in line number arguments. The length of lines in the file is limited to 136 characters. The length of pattern strings for search or replacement is limited to 64 chara cters, although the final result of the modification by a pattern replacement command may be up to 136 characters. The editor is terminated by either "END" which causes a new copy of the file to be written into the us er's file space, or "QUIT" which discards the working file and makes no change to any previous user file of the same name. TWELVE BASIC COMMANDS TEDI has a large instruction set designed to allow a user to carry out complex editing operations with a minimum of effort. However, the following subset will be a ll that many users will ever want and should at least be sufficient for a new user. Li ne Replacement ALm|"&"|"&"|...|. After Line Add text after line m. BLm|"&"|"&"|...|. Before Line Add text before line m. DLm,n Delete Lines Delete Lines m through n. RLm,n|"&"|"&"|.. .|. Replace Lines Replace lines m,n with text. CAi,j,m Copy After Copy lines i through j after line m. -3- Pattern Replacement RPm,n|"P:"|"R:" Replace Pattern Replace pattern in lines m through n. Type and Search Tm,n Type Type lines m through n. TAm,k Type After Type k lines after line m. TBm,k Type Before Type k lines before line m. TPm,n|"P:" Type Pattern Type lines from m t o n with pattern. TPA|"P:" Type Pattern After Type next lin e having pattern. TPB|"P:" Type Pattern Before Type previous line with pattern. In the representations of commands and their a rguments above, the vertical separator bar represents either a carriage return, in which case the editor will promp t for input with the prompt shown in quotations, or the logical line feed character, in which case the additional inp ut is typed in immediately. The AL, BL, and RL commands cause entry into text mode in which each line is prompte d by the ampersand "&". Text mode is terminated by typing in a line containing only a period in the first colum n. (To enter such a line into a file, add an extra blank.) The patterns represented by the prompt "P:" may be any st ring of characters. Commands with a pair of arguments "m,n" may be applied to the entire file by replacing "m,n" by "*". Commands with a count argument "k" may be given an indefinitely large count by replacing "k" with "*". I f the second argument n is omitted, the command applies only to line m. If n is less than m, the range is from m to m+n. If "m" is omitted, the current line is assumed. If "k" is omitted "1" is assumed. Exceptions to the above are the file manipulation and iteration commands which all default to the entire file. As examples of these types of numerical arguments, "T*" types the entire file, "T" type only the current line, "TA,5" types the next five lines, and "RP100,5" replaces the specified pattern in lines 100 through 105. PATTERNS, SYMBOLS, AND SPECI AL CHARACTERS Certain commands search for the occurrence of specified strings of characters. A pattern is a ny string of legal characters. A symbol is a pattern which is delimited in the text by special characters or blanks. This distinction is useful as a means of changing variables in a source program. For example, it allows finding all occurrences of the FORTRAN variable "I" without interference from occurrences of the letter "I" in the symbol "PI" or the command "IF". In order to insert into a file control or other characters which would otherwis e cause either monitor or editor control functions, the force literal character "`" (the grave accent) is used. If fo llowed by an upper-case letter, the corresponding control character is entered. For example, "`C" enters CTRL-C . "`[" enters the escape character. If followed by a character outside the octal range 100 through 137, it simply -4- causes the following character to be entered unchanged. This allows entering the commonly used logical line-feed characters or the grave accent itself by preceding any of them with the grave accent. To make control characters visible on output, use either the SCC (Set Control Characters) swit ch or use the TO (Type Octal) command. All search and replacement strings are limited to 64 characters; if s trings exceed this length they will be truncated. TEDI "remembers" iteration strings (DO commands) and match s trings (type and pattern replacement commands). In a subsequent command the same string may be reused by specify ing the null string. The iteration and match strings are independently saved. Replacement strings, however, must be e xplicitly reentered; the null string in this context means deletion. FILE TYPES TEDI distinguishes two FILES-11 file types. Normally each record of a file implies a carriage return and line fee d without actually including the characters for them. However a special type of file does include the ASCII charact ers for all carriage control functions. TEDI reports the size of the first type as "xxxx LINES" while it reports th e size of the second as "xxxx RECORDS". Normally the NN (No Numbers) switch must be set to cause proper listing of th e second type of file. Moreover, when adding text lines to this latter type of file, a carriage return causes entry of a new record, but not necessarily of a new line. To enter a new line in this second type of file, use the force liter al character and explicitly type "`M" and "`J". TEDI writes a file of this latter type if the file it opened was of this type. The FPF (Format Pages to File) command also generates a file of this type. File types must not be mixed with the file copy commands since no conversion capability is provided. TRIX AC DIFFERE NCES TEDI differs from TRIX AC in small ways on almost every command. However, the biggest difference to most users will be the default to one line of commands like "T" and "TP"; the TEDI equivalents of these TRIX AC comma nds are "T*" and "TP*". The TRIX AC command "NF", New File, is replaced by "W", Write, and "WR", Write Renaming. The RAP and DAP commands have completely different meanings in TEDI, Replace After Pattern and Delete After Patt ern respectively. TEDI updates after each command, so that line numbers change immediately, whereas TRIX AC updat es on receipt of the "U" command or prior to typing out information. Only one file at a time is ever unpacked into working file format by TEDI; therefore the open command "O" always goes to a local file for its input. TEDI' s basic search commands are TPA and TPB; these commands are not available on TRIX AC. The use of these commands can be much more efficient than continual use of the "TP*" command, since the latter requires a scan of th e entire file. -5- COMMAND DESCRIPTION ALm|" &"|"&"|...|. After Line Add text lines "&" after line m. Text input is terminated by a line consi sting solely of a period in column one. ACm,n|"I:" After Characters Insert the pattern "I:" af ter the last non-blank character in lines m through n. APm,n|"P:"|"I:" After Pattern Inse rt the pattern "I:" after each occurrence of the pattern "P:" in lines m through n. ASm,n|"S:"|"I:" After Symbol Insert the pattern "I:" after each occurrence of the symbol "S:" in lines m through n. BCm,n|"I:" Before Characters Insert the pattern "I:" before the first character in each of lines m through n. BLm|"&"|"&"|...|. Before Line Add text lines "&" before line m. Text input is terminated by a line consisting solely of a period in column one. BPm,n|"P:"|"I:" Before Pattern Insert the pattern "I:" before each occurrence of the pattern "P:" in lines m through n. BSm,n|"S:"|"I :" Before Symbol Insert the pattern "I:" before each occurrence of the symbol "S:" in lines m th rough n. CAi,j,m Copy After Copy lines i through j after line m. CBi,j,m Copy Before Copy lines i through j before line m. CFAi,j,m|"FILE:" Copy File After Copy the lines i through j of "FILE:" into the working file after line m. If i and j are null, the ent ire file is copied. To -6- explicitly specify j as the last line of the so urce file, use "*" (not "]"). CFBi,j,m|"FILE" Copy File Before Copy the lines i thr ough j of "FILE:" into the working file before line m. If i and j are null, the entire file is copied. To explicitly specify j as the last line of the source file, use "*" (not "]"). DACm,n,c Delete After Column Delete all characters after column c in lines m through n. To remove trailing bl anks use DAC* (with no verify set). DAPm,n|"P:" Delete After Pattern Delete everything past the first occurrence of the pattern "P:" in each of lines m through n. DBCm,n,c Delete Before Column Delete all characters before column c in lines m through n. DBPm,n|"P:" Delete Before Pa ttern Delete everything before the first occurrence of the pattern "P:" in each of lines m through n. DLm,n Delete Lines Delete lines m through n. DNPm,n|"P:"|... Do No Pattern Repeat the commands on the remainder of this physical line (using the logical line feed as a delimiter) fo r all lines in range m through n without the pattern "P:". Otherwise like "DO" below. DNSm,n|"S:"|... Do No Symbol Repeat the commands on the remainder of this physical line (using the logical line feed as a delimiter) for all lines in range m through n without the symbol "S:". Otherwise like "DO" below. DOm,n|. .. Do Repeat the commands on the remainder of this physical line (using the logical line fe ed as a delimiter) for all lines in the range m through n. The command line may be up to 136 characters long , even on 80 column terminals. The default range is the entire file. DOs may not be nested. -7- DOPm,n|"P:"|... Do On Pattern Repeat the commands on the remainde r of this physical line (using the logical line feed as a delimiter) for all lines in range m through n con taining the pattern "P:". Otherwise like "DO" above. DOSm,n|"S:"|... Do On Symbol Repeat the comma nds on the remainder of this physical line (using the logical line feed as a delimiter) for all lines in range m throu gh n containing the symbol "S:". Otherwise like "DO" above. DPm,n|"P:" Delete Pattern Delete all occurrences of the pattern "P:" in lines m through n. DSm,n|"S:" Delete Symbol Delete all occurrences of the symbol "S:" in lines m through n. END End Terminate the editor writing out the present version of the working file to local file space. Fm,n Form at Format source text lines m through n directly to the terminal. Format information is given by invariant special characters and by format codes which begin with a period and appear isolated on s eparate lines. When in the fill and justify mode (default) a new paragraph is indicated by any line beginning with a blank. Required blanks are indicated by the underline "_" and underlines by characters, words , or phrases surrounded by "<" and ">". The regular tab character is the exclamation point "!" while the decimal ad just tab is the pound sign "#". Tabbing beyond a set tab stop causes right margin justification of t he remainder of the input line. The left square bracket "[" causes an index up before a superscript or a fter a subscript, while the right square bracket "]" does the reverse. The backslash "\" is a coded backspace. The character "@" preceding any of the above special characters overrides its control function and intr oduces it into the text. The tilde "~" represents an optional hyphenation point when in fill mode, or indicates that the next line of source text is to be appended without a break if it appears at the end of a no-fill line. The ampersand "&" preceding a character identifies it as a special symbol which on an ordinary d aisy-wheel terminal is either overstruck, printed in red, or left out depending on whether the .gr, the .rgr, or t he .ngr switch is effective. On the Qume Twin-Track one of 96 special characters is printed according to a standard mapping. The vertical bar "|" following a character causes it to be underlined with "~" to indi cate boldface. The braces cause the printing of true fractions on daisy-wheel terminals with the notation {...}/{...} being used; fractions may be nested up to five deep. If between .eq and .eeq, a ppropriate spacing before and after will be made. Otherwise, -8- fra ctions will appear in line. All other formatting information is given by special codes which must be on separate lines from actual text; these all begin with a period in column one. The presently available codes are : .br Break the fill (go to a new line) .c n Center next line at n/2--default is n=lm+rm .dfg n Begin double figure in two column mode leaving n lines f or figure .eeq End separated equation .efg End figure caption .ef n End footnote .eq Begin separated equation .f Fill--resume fill and justification .ff n Form feed (0=skip,-1=stop,1=eject, -2=stop and revers e, 2=eject and reverse) .fg n Begin figure caption leaving n lines for figure .fn Begin footnote .gr Overstrike to make Greek characters .hd Use the next line as a running header. Anything past the first "!" is right margin justified before the line number .hm i,j Set daisy wheel hardware margin to i; if j is present, begin double column at i and j .i n Indent n spaces from left margin, plus or minu s .j Justify .lm m Left margin column m, default 5 .nf No fill--discontinue fill and justification .ngr Leave Greek characters blank .nj No justify .nnm No page numbers .nm n Number pages--if n is present center at n/2 .nvs No variable spacing .p i,s,t Set paragraph parameters, indent, skip, and test page, default (5,1,3) .pg n Eject page--if n is present, number it n .ps n Page size n lines, default 55 .rgr Use red Roman for Greek characters (daisy wheel) .rm m Right margin column m, default 75 .s n Skip n lines .sk n,m Forced skip of n whole and m half lines .sp n,m Put n whole and m half spaces between lines .tp n Test page and eject if fewer than n lines. .ts i,j,..,k Set tab stops (16 maximum) .tty t,p Set terminal type and pitch--default 2 and 12 t=1 for refresh CRT, t= 2 for hard copy or storage CRT, t=3-4 for daisy-wheel A-B .vs Variable s pacing (daisy wheel) The F command disables page eject functions as is usally desirable in a debugging mode . Use the FPG command below to enable the page eject. When ff=-1 or -2, a carriage return causes formatti ng to continue with the next page while any other input terminates formatting and returns the edito r to command mode. -9- FPFp,q|"FILE:" Format Pages to File Format pages as in FPG below except that the output goes to a disc file with the name "FILE:" for subsequent use in formatted form. FPGp,q Format Pages Format pages p through q. Unlike the simple F com mand, this command "thinks through" all pages before p so that the exact placement on each page is achie ved. Since this takes a bit of work on the part of the computer, it should be used only when page placement matters. JLm,n Join Lines Join lines m through n together making one line out of them. MAi ,j,m Move After Move lines i through j after line m. MBi,j,m Move Before Move lines i through j before line m. NCC No Control Characters Do not ty pe control characters with the "caret" notation, but transmit them normally. This is the default setting. NN No Numbers Do not preface TTY output with line numbers. NV No Verification This switch prevents the editor from typing out verification of all changes to the work ing file. NXP No teXt Prompt Do not give any prompt on text input. This mode is adva ntages when using the CTRL-I tab character for input of MACRO source programs since it provides proper c olumn alignment of the tabbed fields during entry. O|"FILE:" Open Open or create a new file for editing. If any changes have been made in the previous working file, it is written out first. OD |"FILE:" Open Discarding Open the file "FILE:" for editing. The previous working file is discarded so that the local file of the same name is not changed. -10- QUIT Quit Terminate the editor, discarding the working file without making any changes to any existing local files. RAPm,n|"P:"|"R:" Replace After Pattern Replace everything past the first o ccurrence of the pattern "P:" with the pattern "R:" in lines m through n. RBPm,n|"P:"|"R:" Replace Bef ore Pattern Replace everything before the first occurrence of the pattern "P:" with the pattern "R:" in lines m through n. RLm,n|"&"|"&"|...|. Replace Lines Replace lines m through n with the text lines "&". Text input is terminated with a line consisting solely of a period in column one. RPm,n|"P:"|"R:" Replace Pattern Replace all occurrences of the pattern "P:" with the pattern "R:" in lines m through n. RSm,n|"S:"|"R:" Replace Symbol Replace all occurrences of the symbol "S:" with the pattern "R: " in lines m through n. S Settings Type out the name and length of the cur rent working file and the values of all switch settings. SCC Set Control Characters This switch causes control characters, other than the final carriage-return line-feed, to be prin ted in the "caret" notation, i.e., a caret followed by an upper case alphabetic character. This switc h combined with the force literal character allows fairly complete manipulation of non printing control charact ers in the text. SCMi,j Set Columns Match Set the range of columns for pattern searchi ng and replacing to i through j. A command with no arguments restores the range to 1 through 136. SCTi,j Set Columns Type Set the type out range to be columns i through j. A command with no arguments restores the range to 1 through 136. -11- SN Set Numbers Precede each line of TTY output with a line number. This is the default mode. STC|"CHAR:" Set Tab Character Set the tab character to "CHAR:". The blank, the initial setting, is interpreted uniquely when it is the tab character: exactly two blanks function as a tab. For any o ther character, a single occurrence causes the tab. STP Set Top Page This com mand issues a form feed. It is used to align form-feed sensitive terminals to top-of-form since the operatin g system does not normally echo CTRL-L literally. STSi,j,...k Set Tab Stops Set the t ab stops to i, j, ..., k up to a maximum of ten. SV Set Verify Type out all changes th at occur as a result of line or pattern replacement commands. This is the initial setting. SXT Set teXt Prompt Prompt all lines of text input with the ampersand. This is the normal mode. Tm,n Type Type lines m through n. TAm,k Type After Type the next k lines. If m is present, type k lines beginning after m. TBm,k Typ e Before Type the previous k lines. If m is present, type k lines before m. TCm,n Type C olumns Type lines m through n preceded by a line of column numbers. TDm,n,k,s Type Delimited Type lines m through n in blocks of k lines separated by s spaces. The defaults are k = 60 and s = 6 , values which break DTC and DECWRITER output at page boundaries. -12 - TOm,n Type Octal Type lines m through n in an octal representation. TPm,n|"P:" Type Pattern Type all lines from m through n which contain the pattern "P:". TPAm,k|"P:" Type Pattern After Type the next k lines containing the pattern "P:". If m is present, start the s earch after line m. TPBm,k|"P:" Type Pattern Before Type the previous k lines containing the pattern "P:". If m is present, start the search before line m. TSm,n|"S:" Type Symbol Type all lines from m through n which contain the symbol "S:". TSAm,k|"S:" Type Symbol After Type the next k lines containing the symbol "S:". If m is present, start the search after line m. TSBm ,k|"S:" Type Symbol Before Type the previous k lines containing the symbol "S:". If m is present, start the search before line m. VAPm,n|"P:" diVide After Pattern Divide lines into new lines after each occurrence of the pattern "P:" in lines m through n. VBPm,n|"P:" diVide Bef ore Pattern Divide lines into new lines before each occurrence of the pattern "P:" in lines m through n. W Write Write out a new copy of the current file. This is a protection against subsequent editing blunders. WFm,n|"FILE:" Write File Write lines m through n to th e file "FILE:". Any previous file of that name is destroyed. The default range is the entire file. -13- WFNm,n|"FILE:" Write File Numbered Write lines m through n to the file "FILE:". Include the line number at the beginning of each line. Any previous file of that name is destroyed. The default range is the entire file. This kind of file would normally be sent to the printer and then be deleted. WR|"FILE:" Write Renaming Write out a new copy of the working file under the name of "FILE:". "FILE:" remains as the new name of the working file. Xm,n|":" eXchange Each line in the range m through n is typed out and the next line prompted by ":" for the user to specify the modification directives. Most characters replace the characters above them. However, a set of selected ch aracters, called modification directives, have other effects. A blank means replicate the character above, a "\" means delete it, and a "_" means replace it with a blank. A string may be inserted before a charact er by the string notation ^...^ where the "."'s represent any characters except "^". The final modify directive is "|" which causes the line to be split before the location of this symbol. As many of these d irectives as will fit may be applied at one time. -14- COMMAND SUMMARY LINE REPLACEMENT ALm|"&"|"&"|...|. After Line Add text after line m BLm|"&"|"&"|...|. Before Line Add text before line m CAi,j,m Copy Afte r Copy lines i to j after line m CBi,j,m Copy Before Copy lines i to j before line m DLm,n Delete Lines Delete lines m to n RLm,n|"&"|...|. Replace Lines Replace lines m t o n JLi,j Join Lines Join lines i to j into one MAi,j,m Move After Mov e lines i to j after line m MBi,j,m Move Before Move lines i to j before line m VAPm,n|"P:" diVide After Pattern Divide after pattern in m to n VBPm,n|"P:" diVide Before Pattern Divide before pattern in m to n PATTERN REPLACEMENT ACm,n|"I:" After Characters Insert at end of l ines m to n APm,n|"P:"|"I:" After Pattern Insert after pattern in m to n ASm,n|"S:"|"I:" After Symbol Insert after symbol in m to n BCm,n|"P:" Before Characters Insert at start of lines m to n BPm,n |"P:"|"I:" Before Pattern Insert before pattern in m to n BSm,n|"S:"|"I:" Before Symbol Insert befor e symbol in m to n DACm,n,c Delete After Column Delete after column c in m to n DAPm,n|"P:" Delete After Pattern Delete after pattern in m to n DBCm,n,c Delete Before Column Delete before column c in m to n DBPm,n|"P:" Delete Before Pattern Delete before pattern in m to n DPm,n|"P:" Delete Pattern De lete pattern in lines m to n DSm,n|"S:" Delete Symbol Delete symbol in lines m to n RAPm,n|"P:"|"R:" Replace After Pattern Replace after pattern in m to n RBPm,n|"P:"|"R:" Replace Before Pattern Replace before pattern i n m to n RPm,n|"P:"|"R:" Replace Pattern Replace pattern in lines m to n RSm,n|"S:"|"R:" Replace Symbol Replace symbol in lines m to n Xm,n|":" eXchange Character edit in lines m to n TYPE AND SEARCH Tm,n Type Type lines m through n TAm,k Type After Type k lines after m TBm,k Type Before Type k lines before m TCm ,n Type Columns Type lines and column list TDm,n,k,s Type Delimited Type k lines th en s spaces TOm,n Type Octal Type lines m through n in octal TPm,n|"P:" Type Pattern Type from m to n with pattern TPAm,k|"P:" Type Pattern After Type pattern k times after m TPBm,k| "P:" Type Pattern Before Type pattern k times before m TSm,n|"S:" Type Symbol Type from m to n with symbol TSAm,k|"S:" Type Symbol After Type symbol k times after m TSBm,k|"S:" Type Symbol Befor e Type symbol k times before m -15- ITERATI ON DNPi,j|"P:"|... Do No Pattern Repeat for lines without pattern DNSi,j|"P:"|... Do No Symbol Repeat for lines without symbol DOi,j|... Do Repeat for lines i through j DOPi,j|"P:"| ... Do On Pattern Repeat for lines with pattern DOSi,j|"P:"|... Do On Symbol Repeat for lines with symbol FILE MANIPULATION CFAi,j,m|"FILE:" Copy File After Copy i to j of FILE after m CFBi,j,m|"FILE:" Copy File Before Copy i to j of FILE before m O|"FILE:" Open Open FILE for editing OD|"FILE:" Open Discarding Discard working and open FILE W Wr ite Write out new version WFi,j|"FILE:" Write File Make FILE from lines i to j WFNi ,j|"FILE" Write File Numbered Write numbered FILE WR|"FILE:" Write Renaming Write and rename workin g file SWITCHES NCC No Control Characters Do not show controls NN No Numbers Omit line numbers NV No Verify Omit verification NXP No teXt Prompt Omit prompt on text input S Settings Type out f ile name and switches SCC Set Control Characters Show control characters SCMi,j Set Columns Match Match-replace in columns i to j SCTi,j Set Columns Type Set type-out to columns i to j S N Set Numbers Include line numbers STC|"CHAR:" Set Tab Character Set tab character STP Set Top Page Issue form feed character STSi,j,...,k Set Tab Stops Tab stops at i, j, ..., k SV Set Verify Include verification SXP Set teXt Prompt Prompt text input with "&" FORMATTING Fm,n Format Format lines m to n FPFp,q|"FILE:" Format Pages to File Format pages p to q to FILE FPGp,q Format Pag es Format pages p to q TERMINATION END End End writing out working file QUIT Quit End discarding working file C. W. Nielso n 3/12/79