@V7 54 2 -5
@L5 HIUK1047
0
85  85  85  85  85  85  85  85
85  85  85  85  85  85  85  85
85  85  85  85  85  85  85  85
85  85  85  85  85  85  85  85
85  58  78  85  85  127 90  60
85  85  90  85  85  85  85  85
85  85  85  85  85  85  85  85
85  85  85  85  85  85  85  85
100 91  99  107 109 93  90  109
111 50  82  93  78  127 112 109
90  109 100 89  90  115 95  127
86  83  87  55  72  55  80  91
60  84  87  82  87  84  50  87
83  46  46  74  46  125 83  85
87  87  61  76  45  83  65  100
63  65  65  55  50  55  85  127
@L2 GREE1247
80
@L3 COUK1247
80
@V9 0
@YCHAPTER 6 - MUSS USER MANUAL
@G@RCHAPTER 6 - DOCUMENTATION AIDS@G
@V10 1 9 89
@T% 10
@BThe Documentation Aids are of two kinds; word processing and diagrammatic.
Most users should find the first set of interest but some of the second set
relate to the programming methodology used in producing MUSS and
in this area opinions can be sharply divided.
@S26.1 WORD PROCESSING
@BThis facility is provided mainly by the procedure TXT, but a
spelling checking aid SPELL augments this, and the standard editing
and file facilities described in the previous chapter provide the
means for manipulating the files.
There are also some output procedures for printing
a dictionary or index.
TXT takes an encoded description of a document, and
produces the required layout. It contains a facility to
interface with other layout procedures, for example for
tables, formulae and diagrams.
@S36.1.1 The Text Facility
@BThe procedure TXT copies text from an input stream generating a
layout suited to a specified type of printing device. It allows the
user to embed "warning sequences" in the text which control the
layout. Three basic device types are provided for, corresponding to
Diablo type daisy wheel printers, Santex Corporation Variflex printers
and ordinary
printers or terminals.
All printers are assumed to have a full visual character set
but the daisy wheel and santex printers are also assumed to have@
@Q 7
@
@M    a variable character size
@N    a reverse linefeed
@N    a variable linefeed
@N    an underline facility
@N    and variable fonts (Santex only).
@
@
Normally the page and line layout is determined by the TXT procedure, and the us
er
is required only to provide the actual text and to indicate paragraph
and section boundaries. This manual has been produced using TXT
and serves as an example of the facility. The formal
specification of TXT is@
@Q 11
@T% 10 20
@
%%TXT ([C],[C],II,[C],[C])@
@
%where%P1 specifies the input file@
%%P2 specifies the output file@
%%P3 = O ordinary printer (LPT)@
%%   = DBL diablo printer@
%%   = LPT line printer@
%%   = SAN Santex printer@
%%P4 = specifies a contents file@
%%P5 = specifies an index file.@
@BIf P4 and P5 are omitted the contents and index information are
suppressed. The contents file when produced will contain entries for all
Chapter and Section headings (i.e. @@R, @@S1, @@S2, @@S3 described below) in TXT
 format with
page numbers added.
@BThe index file will be an unsorted list of words and
page numbers.
It is normally expected that a document will be produced a Chapter
at a time, and that the index files will be edited together and listed
using the facilities of 6.1.7.
@BIt is the warning sequences and the actions they trigger
that characterise the system. These are presented in
three groups as the basic facilities, the layout control facilities
and the special purpose layout facilities. However, most warning
sequences normally start with the symbol '@@'. The character immediately
following the '@@' defines the required action, some of which may require that s
ome
parameters follow.
@S36.1.2 Basic Facilities of Text
@BThe basic mode of operation of @JTXT is that it copies words from
the input to the output, starting newlines (and new pages) as
necessary to avoid splitting words across lines and spacing the
words across a line to right justify them. A 'word' in this context is any
sequence of characters in the input separated by space and/or
newline characters and/or warning sequences. Warning sequences inserted
in the input can modify this basic action as follows.@
@
@
@I@@ followed by a newline symbol. This causes a newline to be inserted
and it inhibits the right justification of the current line.@
@
@I@@ followed by B. This signifies the start of a new paragraph. The
current line is terminated without right justification, some blank
lines are inserted to separate the paragraphs and spaces are inserted
to indent the new paragraph.@
@
@I@@ followed by R indicates the start of a new chapter. It should
be followed by a string
giving the chapter name.
If a chapter number has been specified (see @@V) it will be
output prior to the chapter title.  The chapter string also
appears as the page heading on all righthand pages if the
'double-sided' heading option is selected (see @@V10).
An entry will also be generated in the contents file.@
@
@
@I@@ followed by S1, S2 or S3. This indicates the start of a new chapter or sect
ion. The
action is similar to @@B except one more blank line is normally
inserted and the following line is not indented. In fact the
following line in the input is copied without any layout change to
the output because it is assumed to be a heading.
There is no distinction between S1, S2, S3 from the point of view of
the formatted text. However, they cause different degrees of indentation
and separation in the contents file. S1 should be used for
chapter headings (as an alternative to @@R), S2 for sections and S3 for subsecti
ons.@
@
@I@@ followed by P. This causes a new page to be started and the last
line of the previous page will not be right justified.@
@
@I@@ followed by G.  This provides a bolding facility on devices
which support it, otherwise it is ignored.  Normally it works as a toggle
but the non-bold state is automatically reset after predictable newlines,
e.g. at the ends of section headings and paragraphs.@
@
@I@@ followed by O. This is again concerned with underlining.
It 'toggles' an 'underline switch'. The first use of it
will 'turn on' the underlining of all following characters until a
second use of it turns the underlining off.
It also is reset after predictable newlines.@
@
@I@@ followed by K. This is used for highlighting changes
by means of margin bars. The first occurrence of @@K causes a
switch to be set. Whilst this switch is set all lines that
follow will be preceded by '|' in the margin. A second occurrence of @@K
resets the switch and the lines which follow will not be
highlighted, unless a further @@K occurs to set the switch again.@
@
@I@@ followed by X. In addition to '@@' three other symbols, namely
@X%~ }` {\
'%', '{' and '}' have special significance as described in 6.1.3.
@X%%
If text is to be processed which uses these symbols normally, other
symbols can be associated with their special functions, by means of
the @@X command. After @@X should follow
a list of non-blank symbol pairs, in which the
@X%~
first symbol is one of @@, %, { or } and the second is the
@X%%
symbol that is to take its place.@
@
@I@@ followed by a decimal digit.  These sequences are
concerned with font selection.  The digit specifies a font
number and should be in the range 1- 8 in order to explicitly
specify a font.  An immediately previous font may be selected
by using 0, but only one level of unwinding is provided. All eight
fonts are initially identical and they relate to a compiled
in default.  New fonts may be defined as described below.@
@
@I@@ followed by L.  This command, for defining the
characteristics of a font is only applicable to the Santex
printer and will be ignored in other cases.  It must be
followed by a logical font number (in the range 1 - 8), a font
name (of eight characters) and then a character size
specification.  The character size specification may be given
as a single integer giving the character width in 'HEPS'
for a fixed font, or as zero followed by 128 integers giving
the 'HEP' width of each individual character.@
@
@I@@ followed by Y.  This command should be
followed by a string terminating with either newline or @@,
newline.  It defines a page heading, which will appear
centrally at the top of a page.  If the single-sided
layout option has been selected (see @@V10) it will appear
at the top of all pages apart from the first.  If double-sided
it will appear on only left-hand pages and the right-hand pages
will have the current chapter title at the top.@
@
@I@@ followed by F signifies the end of the text file.
In order to avoid an entry to the input ended trap of the
operating system '@@F' should be placed at the end of all
files to be processed by TXT. If it is omitted the
output text will normally still be produced.
@S36.1.3 Layout Control Facilities
@BHere we are concerned mainly with centreing, tabulating and
indenting text and with superscripts and subscripts. Some effects of this kind c
an be obtained
from the facility to change the parameters that determine the basic
layout, and it is convenient to start with this. It is
@@ followed by V that provides the warning sequence that causes
parameters to be changed. For parameter values up to fourteen, it should be foll
owed by an arbitrary list
of pairs of integers all on one line. Each integer pair gives a parameter number
and its new value.
The parameter numbers have the
following significance@
@Q 14
@
@M1  position of L.H. margin
@N2  position of R.H. margin
@N3  number of blank lines between paragraphs
@N4  number of spaces in a paragraph indent
@N5  number of blank lines between sections
@N6  number of blank lines at the head of a page
@N7  number of lines on a page
@N8  chapter number
@N9  page number
@N10 single/double sided
@N11 page heading font
@N12 chapter heading font
@N13 number of blank lines before chapter heading
@N14 number of blank lines after chapter heading.
@
@
Four of these require amplification because they permit special
encodings. If a negative number is given for parameter 4 the
first paragraph of each new section will not be indented. The other
paragraphs will be indented by the absolute value of the number. If a
negative number is given for parameter 5 each section heading will be
placed on a new page. If a zero is given for
parameter 8 the chapter
number will not appear before chapter headings.
If a negative number is given as the page
number, pages will not be numbered at all.
@BParameter 10 allows control over page headings.  If single-sided
is selected the heading string defined by @@Y will appear centrally
at the top of each page.  Double-sided documents have it on the
left-hand page and the current chapter title on the right-hand page.
@BAny line of input can be centred on a line by preceding it with
@@M. The previous line is terminated without right justification. The
position of the first character on a centred line is remembered and
any subsequent line of input can be similarly positioned by
preceding it by @@N. Again the line previous to the @@N line will
be terminated without right justification. In both cases the output
line will correspond exactly with the input line apart from being
right shifted to achieve the centralisation effect.
@BTabulation is normally provided for by
@X%~
the '%' character. Its action is defined by
the @@T sequence. This serves a dual
function, it defines a character which is subsequently to be treated
@X%~
as a 'tab' character normally '%' and it defines positions across the page for
@X%%
'tab stops'. Therefore it is assumed to be followed first by a single
character which becomes the tab character and then a list of integers
which define the positions of tab stops counting from the L.H. margin.
Whenever the tab character is used the output line will be space
filled up to the next tab stop. If the output line is subsequently
right justified, the extra spacing will occur only to the right of the
last space inserted as a result of using a tab symbol. Obviously even
this can be avoided by ending the source line with @@ newline.
@BIndentation is provided for by a mechanism similar to the
tabulation facility. The warning sequence is @@I, which
@X%~
is similar to % but with some very significant differences.
@X%%
Like 'tab' when 'indent' is used the line
is space filled to the next tab position. The difference is that
the last indented position is remembered and if a newline is
automatically generated in the output due to the current line
becoming full the next line is automatically indented to the same
extent, whereas in the case of tabulation the next line commences
back at the margin. Any user forced newline by means of @@ newline,
@@B etc., cancels the indentation.
@BProviding the output device has the facility of fractional
linefeeds up and down, superscripts and subscripts are obtained
by surrounding the appropriate character string with the
symbols "{" meaning 'shift half a line up the page' and
"}" meaning 'shift half a line down'.
@S36.1.4 Special Layout Effects
@BThe special effects are concerned mainly with diagrams and tables
contained within the text, and with special forms of document.
@BIn the case of diagrams which are to be 'glued' into place,' the requirement i
s to leave space
at an appropriate place in the text for a diagram that will be
produced by other means. The warning sequence for immediate
creation of space is @@D which should be followed by an integer giving
its size in lines. If there is not enough room on the current
page a new page will be started and the requested space will be
left blank at the head of it.
A further alternative which leaves the requested amount
of space on the current page if possible otherwise at
the top of the next page, whilst still utilising the current page for subsequent
 text, is @@E.
@BTable layouts and diagrams generated by explicit statements
may also need to be positioned. For example, when a table
is generated
using the tabulation and
indentation facilities, it may be desirable to
prevent it being split across pages.
The simplest need is met by @@Q
which is followed by an integer specifying the number of lines
required by a following table. If the specified number of blank lines
do not remain on the current page a new page is forced otherwise the
@@Q has no effect. A variant of this is @@U which in addition to
operating like @@Q suppresses all layout changes for the specified
number of lines.
The second more complicated requirement is met by
two warning sequences @@A and @@Z. @@A should appear in front of
any sequence of text, but most often a table encoding, and it should
be followed by an integer giving the amount of space in lines that
the text will occupy in the output. The given text whose end should
be marked with @@Z will
be output immediately if there is room, otherwise if it is
too small it will be output at the head of the next
page.
@BAnother way in which tables and diagrams can be
generated explicitly by in-line commands is by calling
another procedure from TXT using the @@* command. This may
be followed by any job control command. In particular, if a
flowchart is to be inserted it might be required to call the
DRAW procedure described in 6.2.7.
@BFinally there is a facility @@H which causes the line of
text following it to be output in large letters. The style is
device dependent and simple character devices will give@
@
@H        HEADING
@S36.1.5 Summary of Text Commands
@
@
@M@@A  displaced text header
@N@@B  paragraph start
@N@@D  leave space for diagram
@N@@E  leave displaced space
@N@@F  end of document
@N@@G  toggle the 'bold' switch
@N@@H  heading
@N@@I  indentation
@N@@J  add to index
@N@@K  highlight by margin bars
@N@@L  define new font
@N@@M  line centreing
@N@@N  indentation following line centreing
@N@@O  toggle the underline switch
@N@@P  new page
@N@@Q  force new page for large tables@
@N@@R  chapter heading
@N@@S  section start
@N@@T  tabulation stops
@N@@U  user formatted diagram
@N@@V  reset layout control parameters
@N@@X  reset warning characters
@N@@Y  alter page heading
@N@@Z  end displaced text
@N@@*
@N@@newline
@N@@@@
@N@@<decimal digit> select font
@S36.1.6 The Spell Facility
@BThis procedure is simply an aid to checking the consistency of
spelling in a text file such as the TXT procedure might generate.
It requires two parameters which are the file to be checked
and a dictionary. All words in the text file are compared with
words in the dictionary and if a match is not found the word is
noted. A word in both the dictionary and the text files is any
sequence of alphabetic characters between spaces and/or newlines.
The list of words whose spelling is not found in the dictionary
appear as the current file. Obviously it can be printed, edited
or added to the dictionary as appropriate.
A suitable print procedure is given in 6.1.7.@
@Q 6
@
@
@M@JSPELL (P1, P2)
@
@NP1 is a dictionary file name
@NP2 is a text file name.
@S36.1.7 Listing Facilities
@BThree special listing procedure are provided.  Two of these allow
dictionaries and document index to be sorted and listed, the third allows
a complete module to be 'TXT'ed and drawn in both English and MUSL on the
lineprinter.
@
@
1) @JLIST.DICT([C],[C])
@BThis procedure sorts the dictionary contained in the file
specified by P1 and outputs the result to P2. The output
has four words per line sorted into alphabetical order with
a blank line separating words with a different initial letter.
@
@
2) @JLIST.INDEX([C],[C])
@BThis procedure lists the index contained in P1 in stream P2.
An example of the format produced is the index for this Manual.
@
@
3) @JLIST.MOD([C])
@BThis procedure firstly uses TXT to output to the lineprinter
the descriptive text at the start of the file P1 and follows this by
the flowcharts drawn at both levels 0 and 1.
@S26.2 FLOCODER
@BFlocoder is a system for designing, documenting and generating
programs using flowcharts. A file of flowchart descriptions is
created, from which the charts may be drawn on any suitable
output device (lineprinter, plotter or diablo printer, for example). The
chart descriptions may of course be edited, and the charts
re-drawn as necessary.
@BTo enable Flocoder to generate or display the required
program, the user provides a 'translation' for each box. If
the action required in a box is simple, it will translate into
a sequence of statements in a programming language; if it is
complex, the translation may reference other flowcharts. In
this way a hierarchy of flowcharts is created to represent the
program. In fact, several translations can be given for each
box. The first would normally be an English statement
describing the logical function of the box and would be for
display purposes only. The programming language translations, for each of the re
quired languages, would be added later.
@BIn effect the Flocoder system comprises a language for
describing flowcharts and two procedures for processing this
language. One of these, 'DRAW' will draw the flowcharts. The
other 'FLIP', will @Gf@Gorm a @Gl@Ginear @Gp@Grogram by correctly ordering
the boxes and adding labels and 'goto's as necessary, although
this latter representation is only seen by compilers.
@BThe syntax of the Flocoder input language is simple and
straightforward. Each statement in a chart description begins
with the symbol '@@' as the first character of a line, followed
by a keyword, and continues until the start of the next
statement. The keywords can be abbreviated to single letters
since they are recognised by the first letter only; after
that, all characters up to the next space or decimal digit are
ignored. A complete chart description consists of@
@Q 8
@
@
@MA TITLE statement
@NOne or more COLUMN statements
@NZero or more ROW statements
@NZero or more FLOW statements
@NOne or more BOX statements
@NAn END statement.
@BThese individual statements are described below and are
illustrated by examples taken from the encoding of the
following diagrams.
@P
@P
@S36.2.1 The TITLE Statement
@
@
Example:@
@
@M@@TITLE DOC01.1.1(1,7)
@
@
The TITLE statement indicates the start of a new chart, and
gives a title, which serves two functions. First, it appears
on the flowchart whenever it is drawn, and thus serves to
identify the drawing. Second, it is used in cross references
within the code. A chart title may consist of any sequence of
characters, terminated by a newline symbol
and may optionally include in round brackets version and generation
numbers. By convention,
the characters are usually chosen so as to provide an index
into the software. Thus the title in the example above is
the first subchart of section 1 of the documentation
packages.
@S36.2.2 The COL Statement
@
@
Example:@
@
@M@@COL 1S-2R-3R-5T-16T-17R
@
@
The column statements provide, for each box, a numeric
identifier in the range 1-63, the type (shape) of the box, and
the position of the box on the flowchart. A chart may contain
up to eight columns. The first column statement describes the
leftmost column, and the last one the rightmost column. If
there is more than one box in a column, the first one
specified is the highest in the column and the last one the
lowest, etc. The box types, which follow the box numbers,
consist of single letters with the following meanings@
@Q 12
@T% 8 30
@
@
%Letter%Meaning@
@
@T% 10 20
@
%A%Annotation box (no outline)@
%C%Circle box (used for external flows)@
%F%Finish box (double underlined)@
%N%Null box (a point)@
%R%Rectangle box@
%S%Start box (no outline)@
%T%Test box@
@S36.2.3 The ROW Statement
@
@
Example:@
@
@M@@ROW 6-1-18
@
@
Each row statement gives a list of boxes to be horizontally
aligned. The ordering of the box numbers in the row statements
has no significance. Normally the boxes within a column are
placed a minimum distance apart, and may be imagined as being
connected to the box above (if any), or to the top of the
diagram (in the case of the first box of a column) by
invisible elastic. This means that boxes tend to be as high in
their columns as possible. The effect of the ROW statement is
to force horizontal alignment by 'stretching the elastic'.
@S36.2.4 The FLOW Statement
@
@
Example:@
@
@M@@FLOW 10-11-12N-13-14-16N-17-5
@
@
These statements specify the logical interconnections of the
boxes. Text which is to appear at the point where a flowline
leaves a box may also be specified in the flow statements. Any
string of characters excluding newline and terminated by a
hyphen is allowed. Except for test boxes, which may have two,
there should be not more than one flowline leaving each box.
Of course, the finish box will have no flow out.
@S36.2.5 The BOX Statement
@
@
Examples:@
@Q 6
@
@M@@BOX 17.0
@NPRINT BUFFER[DOC01.1.3]
@N@@BOX 17.1
@NOUTBUFF(0);
@
@
These statements specify the text contained within each box,
which may consist of any number of lines up to the start of
the next statement. Several 'translation levels' may be defined
for each box, corresponding to translations in several
different languages. The example above gives translations in
English at level 0 and the system design language (MUSL) at
level 1. When the charts are drawn any translation level can
be selected for display in the boxes. The first chart was produced
by specifying level 0 (English) and the second by specifying
level 1 (MUSL). Similarly, the procedure FLIP can be
instructed to generate code from any translation level.
@BFlowchart cross-references may be inserted in the code by
giving the name of the chart to be included, preceded by the
character @2#@0 at the start of a line, thus@
@
@M@2#@0DOC01.1.2
@
@
@
appears in the translation for BOX 7 of DOC01.1.1. As a result, the
code for this subchart will be inserted in DOC01.1.1,
at the specified place,
whenever code is generated for it.
Note that the bracketed version and generation
numbers are not used in cross-referencing which is implemented
by using a hash of the title characters up to either left round
bracket or newline. For further details read the implementation
description.
@BIn some languages (e.g. Pascal) it is necessary to
declare the labels which are used. Therefore a
variant of the cross reference notation is provided for
this purpose if @2#@0:chart name is used it will be
replaced by the list of label names used in the given
chart separated by commas.
@S36.2.6 The END Statement
@
@
Example:@
@
@M@@END
@
@
This statement terminates the description of a flowchart.
@S36.2.7 Flocoder Procedure Specifications
@BThere are six procedures in the flocoder system as follows@
@
@
1) @JFLIP([C],I,I,[C],[C],[C])
@BThis procedure converts the flowchart specifications on the
specified input file, into a linear program corresponding to a
particular level of coding.
The next item on the input stream which is selected at
the time it is called should be the title of the chart to be coded.
The linear program which is generated becomes the current file.
@BP1 - name of the input file (or stream, see Chapter 3). If this is left
unspecified, the current file is used. If no current file is
defined, the currently selected input stream is used.
@BP2 - the required coding level.
@BP3 - This is the Print switch
which controls monitoring on the currently selected
output stream.
If this is = 0 minimal monitor printing occurs
if it is /= 0 the code for each box at the specified
level is also listed.
@BP4 - a string giving the form of labels required.
@BP5 - a string giving the form of 'goto's required.
@BP6 - a string giving the form of conditional 'goto's required.
@BIn the strings P4, P5, P6, a unique numeric identifier is inserted
immediately prior to the last character. If any of P4-P6 are zero,
the following defaults which are suitable for MUSL programs are assumed:@
@U 10
@
@
   P4 - L: giving labels of the form LXXXXX:
@
   P5 -  -> L; giving gotos of the form -> LXXXXX;
@
   P6 - ,-> L; giving conditionals of the form, -> LXXXXX;
                    newline.
@
@
2) @JDRAW([C],[C],I,II)
@BThis procedure is used when a batch of diagrams are to be
drawn on a non-interactive output device. It
produces output on the file P2 to draw
selected charts from the input file P1 on to either a lineprinter or a graphical
 output device.
A list of titles for the required charts should appear on the
currently selected input stream, separated by newlines and
terminated by the character '@@' at the start of a line. The word
ALL will suffice if it is required to draw all flowcharts on the
specified file.
@BP1 - name of the input file. If this is
left unspecified, the current file is used. If no current file is
defined, this procedure will expect the Flowchart encodings to be on
the current stream following the list of titles.
@BP2 - name of the output file. Zero
means the current file.
@BP3 - the required level number, as with FLIP,
except -1 may be specified, in which case each diagram will be
drawn both at level 0 and level 1.
@BP4 - specifies the device type on which the flowcharts
are to be drawn as follows@
@Q 5
@
@M=  O ordinary printer (LPT)
@N=  BEN Benson Plotter
@N=  GEN Genisco Display
@N=  HPP Hewlett Packard Plotter
@N=  MOT Motorola Display
@N=  KER Device on another machine.
@
@
This determines the format of the output on stream P2.
@
@
3) @JDISPLAY([C],[C],I)
@BThis procedure is used from an interactive terminal when
it is required to inspect a single flowchart. P1 gives the
file name and P2 gives the flowchart name. P3 indicates the code
level which is to be displayed. It may be -1, in which case only
the box shapes, containing their numbers instead
of code, will be displayed. If the diagram is
too big to fit on the terminal screen, as much as possible
from the lefthand corner will be displayed.
After a particular diagram has been selected by means of
this command, it may be operated upon by the
next two procedures.
@
@
4) @JSCROLL(I,I)
@BThis procedure allows the display to scroll the
diagram previously selected by the DISPLAY command.
Parameter P1 is normally a letter@
@Q 5
@
@MD meaning down
@NU meaning up
@NR meaning right
@NL meaning left.
@
@
If P1 is zero the display is re-initialised from the top
lefthand corner. P2 is an
integer which specifies the number of lines or character
positions over which the scroll is to take place.
If P2 is zero the scroll will take place in the direction
specified up to the edge of the diagram.
@
@
5) @JLEVEL(I,I)
@BThis procedure allows the displayed level of
box P1 to be changed to that given by P2. If
P1 is zero the displayed text level
of all the boxes will be changed to the new level.
If level -1 is specified only box shapes, containing
box numbers, will be displayed.
@
@
6) @JFLED([C],[C],I)
@BThis command is used when it is required
to screen edit a flocoder file. The file specified
by P1 is edited to the new file specified by
P2.  P3 specifies the device type
(0 - ANSI standard, /= 0 - Installation Dependent).
Editing is performed by the following commands.@
@
@
a)@IT title. The @Gt@Gitle command allows a flowchart title
to be specified, and it causes the input file to be
searched (forwards) until the chart is found. At this
point the chart is displayed, at level -1. Whilst the
search is proceeding the content of the input file is
copied to the output file. The chart thus selected
is available for editing by means of the commands
described below. If a selected chart is edited, and then
a further T command is used, the edited form of
the chart will be substituted for the original one in
the output file.@
@
b)@IS letter integer. This command calls the @GS@GCROLL procedure
and the letter specifies the direction of the scroll (U,D,R,L).
The integer specifies the distance in characters or lines.@
@
c)@IL integer integer. This command calls the @GL@GEVEL procedure
to change the displayed level of a box. The two integers
are then used as the parameters of the procedure call, hence
they must obey the conventions of LEVEL.@
@
d)@IM integer integer. This command selects a box for
modification. The parameters specify box number and level
as in c). The text for the specified box/level is
displayed on the
screen and may then be screen edited using the
conventions described for the Vector Editor (VEDIT - Section 5.5).
Any of the four forms of exit from the editor cause a return
to the FLED command sequence but 'Control E' also
redisplays the chart with the specified box at the
specified level.@
@
e)@IB first/column spec/last. This @GB@GOX statement is the means
by which new boxes may be introduced into an existing
column of the currently selected flowchart. Only
one of 'first' and 'last' are required. They are intended
to be the existing boxes after or before which the new boxes
are to be inserted. The new boxes are specified inside
/ / in the same way that a column is specified in
a flowchart encoding. For example@
@
@IB/21T-22R/11@
@
@Iwould insert a test box numbered 21, and a
rectangle box numbered 22 into a column containing box 11.
The insertion would be made immediately above box 11, whereas
the statement@
@
@IB 10/21T-22R/@
@
@Iwould cause the insertion to be after box 10.@
@IA further variant of the 'B' statement allows boxes
to be deleted. It is@
@
@IB - box list. For example,@
@
@IB - 12-16-21@
@
@Iwill cause boxes 12, 16 and 21 to be removed
from the currently selected diagram. The primary flow pattern
will be maintained as if the deleted boxes had become
NULL boxes. If any of them are test boxes the secondary
flows will be lost.@
@
f)@IC first/column spec/last. This @GC@Golumn statement
allows a new column to be introduced. The first and last
parameters should specify existing box numbers in the
columns to the left and right of the new column.
Again only one is required.@
@
g)@IF flow spec. This @GF@Glow statement allows
new flowlines to be introduced. For example
in the case of the box insertion given above the
following flows may have to be added@
@
@IF 10-21N-22-11@
@IF 21YES-11@
@
@IHowever, if there was previously a primary flow
from 10-11 a warning will be given that this
has now been destroyed. The flow 10-11 could be
explicitly deleted by the statement@
@
@IF- 10-11@
@
h)@IR row spec. New @Gr@Gow alignment can be forced by means
of this statement. Old ones may be removed by
the negative form@
@
@IR- rowspec@
@
i)@IE. This command ends the edit. If the currently selected
chart has been modified, the modified form will be copied to the
output file followed by the rest of the input file. Otherwise
the unmodified chart and the rest of the input will be
copied to the output file.
@F
