Dec 282017
Nassi-Shneidermann flowchart generator. Nassi-Shneidermann flowcharts are more like pseudo-code than traditional flowcharts. | |||
---|---|---|---|
File Name | File Size | Zip Size | Zip Type |
BIG.NS | 1395 | 325 | deflated |
BIGIF.NS | 236 | 151 | deflated |
BINARYSE.NS | 868 | 376 | deflated |
BUBBLESO.NS | 648 | 270 | deflated |
CALL.NS | 15 | 13 | deflated |
CASE.NS | 395 | 202 | deflated |
COMPLEX.NS | 283 | 130 | deflated |
CONFIG.SYS | 53 | 49 | deflated |
FORTEXAM.NS | 1974 | 555 | deflated |
LONGERR.NS | 2009 | 336 | deflated |
MANUAL.DOC | 20259 | 6043 | deflated |
NS.DFL | 18 | 16 | deflated |
NSCHART.EXE | 133622 | 55155 | deflated |
NSDIR.HLP | 1172 | 589 | deflated |
NSFILES.BAK | 1368 | 577 | deflated |
NSFILES.REQ | 1328 | 558 | deflated |
NSFONT1.DVC | 1024 | 37 | deflated |
NSFONT2.DVC | 1024 | 124 | deflated |
NSFONT4.DVC | 1024 | 312 | deflated |
NSFONT8.DVC | 1024 | 609 | deflated |
NSINPUT.HLP | 616 | 336 | deflated |
NSMAIN.HLP | 1161 | 536 | deflated |
NSMASK.HLP | 968 | 415 | deflated |
NSOPTION.HLP | 1104 | 568 | deflated |
NSVIDEO.HLP | 1177 | 570 | deflated |
NS_START.COM | 25929 | 16706 | deflated |
NS_START.FRM | 3840 | 335 | deflated |
QUICKSOR.NS | 941 | 344 | deflated |
README | 1754 | 709 | deflated |
README.BAT | 11 | 11 | stored |
REQUIRED.FIL | 22 | 22 | stored |
THENERR.NS | 119 | 89 | deflated |
TUTORIAL | 10071 | 3060 | deflated |
Download File NS.ZIP Here
Contents of the README.BAT file
ns_start
Contents of the README file
ns_start
IBM PC/XT/AT compatible
NSChart Set-up 27 Mar 1990
************************* W A R N I N G ****************************
* *
* You MUST have the line DEVICE=ANSI.SYS in your CONFIG.SYS file *
* or have ANSI.SYS in your root directory to install this program. *
* *
************************* W A R N I N G ****************************
To install type NS_START
To start type NSCHART
To use NSChart you must have a composite or color monitor,
at least 384K of memory, and DOS 2.0 or later.
The file ANSI.SYS must be present in the root directory of your system disk,
and the file CONFIG.SYS in the root directory of your system disk must
contain the line:
device=ansi.sys
The install options will check for all the requisite files.
You may copy the CONFIG.SYS file from the demo floppy if you wish.
ANSI.SYS may be found on one of your original DOS disks.
If you change your CONFIG.SYS or had to move ANSI.SYS onto your system disk,
reboot your computer.
NSChart and NSDemo now accept the prettify option -P on the command line for
batch mode processing. Wild cards are also supported for command line file
specifications. For instance: NSChart -P *.ns
will prettify and syntax check all the files with extension .ns in the
current directory. A brief error message including the line number
of the error will be sent to the printer for each file satisfying
the file spec that also has a syntax error.
IBM PC/XT/AT compatible
NSChart Set-up 27 Mar 1990
************************* W A R N I N G ****************************
* *
* You MUST have the line DEVICE=ANSI.SYS in your CONFIG.SYS file *
* or have ANSI.SYS in your root directory to install this program. *
* *
************************* W A R N I N G ****************************
To install type NS_START
To start type NSCHART
To use NSChart you must have a composite or color monitor,
at least 384K of memory, and DOS 2.0 or later.
The file ANSI.SYS must be present in the root directory of your system disk,
and the file CONFIG.SYS in the root directory of your system disk must
contain the line:
device=ansi.sys
The install options will check for all the requisite files.
You may copy the CONFIG.SYS file from the demo floppy if you wish.
ANSI.SYS may be found on one of your original DOS disks.
If you change your CONFIG.SYS or had to move ANSI.SYS onto your system disk,
reboot your computer.
NSChart and NSDemo now accept the prettify option -P on the command line for
batch mode processing. Wild cards are also supported for command line file
specifications. For instance: NSChart -P *.ns
will prettify and syntax check all the files with extension .ns in the
current directory. A brief error message including the line number
of the error will be sent to the printer for each file satisfying
the file spec that also has a syntax error.
Contents of the MANUAL.DOC file
ns_start
IBM PC/XT/AT compatible
NSChart Set-up 27 Mar 1990
************************* W A R N I N G ****************************
* *
* You MUST have the line DEVICE=ANSI.SYS in your CONFIG.SYS file *
* or have ANSI.SYS in your root directory to install this program. *
* *
************************* W A R N I N G ****************************
To install type NS_START
To start type NSCHART
To use NSChart you must have a composite or color monitor,
at least 384K of memory, and DOS 2.0 or later.
The file ANSI.SYS must be present in the root directory of your system disk,
and the file CONFIG.SYS in the root directory of your system disk must
contain the line:
device=ansi.sys
The install options will check for all the requisite files.
You may copy the CONFIG.SYS file from the demo floppy if you wish.
ANSI.SYS may be found on one of your original DOS disks.
If you change your CONFIG.SYS or had to move ANSI.SYS onto your system disk,
reboot your computer.
NSChart and NSDemo now accept the prettify option -P on the command line for
batch mode processing. Wild cards are also supported for command line file
specifications. For instance: NSChart -P *.ns
will prettify and syntax check all the files with extension .ns in the
current directory. A brief error message including the line number
of the error will be sent to the printer for each file satisfying
the file spec that also has a syntax error.
NSCHART Version 1.05
Shareware User Manual
for
IBM PC, XT, AT
and
Compatibles
SILTRONIX, Inc.
COPYRIGHT (c) 1987, 1988, 1989, 1990
by
SILTRONIX
All Rights Reserved
Program License Agreement
Copyright: The program and its related documentation are
copyrighted. You may not use, copy, modify, or transfer the program or
documentation or any copy except as expressly provided in this
agreement. Information in this document is subject to change without
notice and does not represent a commitment on the part of SILTRONIX,
Inc.
License: You have the nonexclusive right to use the enclosed
program. You may physically transfer the program from one computer to
another. You may not distribute copies of the program or accompanying
documentation to others for profit, excepting a reasonable duplication
fee. You may not modify or translate the program or documentation.
Terms: This license is effective until terminated. You may
terminate the agreement by destroying the program and all copies thereof
and its documentation. This license will also terminate if you fail to
comply with any terms or conditions of this agreement; you agree upon
such termination to destroy all copies of the program and documentation.
Use of the program constitutes your acceptance of these terms.
Warranty
SILTRONIX does not warrant anything.
THIS WARRANTY IS IN LIEU OF ALL OTHER EXPRESS OR STATUTORY
WARRANTIES, AND THE DURATION OF ANY IMPLIED WARRANTY, INCLUDING BUT
NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE, IS HEREBY LIMITED TO SAID NINETY
(90) DAY PERIOD. SILTRONIX LIABILITY IS LIMITED SOLELY TO THE
REPLACEMENT OF THE DEFECTIVE PRODUCT AND SHALL NOT IN ANY EVENT
INCLUDE DAMAGES FOR LOSS OF USE, OR LOSS OF ANTICIPATED PROFITS OR
BENEFITS, OR OTHER INCIDENTAL OR CONSEQUENTIAL COSTS, EXPENSES, OR
DAMAGES INCLUDING WITHOUT LIMITATION ANY DATA OR INFORMATION WHICH
MAY BE LOST OR RENDERED INACCURATE, EVEN IF SILTRONIX HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
NSChart is a trademark of SILTRONIX, Inc.
Microsoft and MS-DOS are registered trademarks of
Microsoft Corporation.
IBM is a registered trademark of
International Business Machines Corporation.
SILTRONIX
Post Office Box 82544
San Diego, California 92138-2544
(619)541-2502
Preface
This document is intended ONLY as a minimal introduction to NSChart.
If you wish to receive the real manual please register your copy of
NSChart with Siltronix by phoning the number above and paying the $35
registration fee.
Command Summary
This section is a quick reference guide to using NSChart by
function, parameter, keystroke, command, or screen.
Function Keystroke Command Screen
About this program; A Main Menu
change Directory; D Main Menu
draw Chart; C Main Menu
Exit; E Main Menu
file Mask; M Main Menu
Hard copy; H Main Menu
Options; O Main Menu
Prettify input file; P Main Menu
Select input file S Main Menu
Parameter Meaning Screen
\subdir use subdirectory in root Change Directory
chart width width of chart (excluding margin) Options Menu;
chart length length of chart (excluding margin) Options Menu
file name input file name appears on printed Options Menu
chart
file Mask Mask to screen input files Main Menu;
left margin white space to left of chart Options Menu
line width thickness of graphic lines in bits Options Menu
paper width width of paper in printer Options Menu
paper length length of paper in printer Options Menu
sideways printed output rotated 90 degree Options Menu
subdir use subdirectory of current dir. Change Directory
top margin white space above chart Options Menu
Command Meaning Screen
. cancel(use current directory) Change Directory
.. change to parent directory Change Directory
*.* any file File Mask;
*.ext any file ending in ".ext" File Mask
unit1.* all "unit1." files with any ext. File Mask
a?. two letters starting with "a" File Mask
b*.* any file beginning with "b" File Mask
C draw Chart Main Menu;
-End move view to bottom right corner Draw Chart;
-Home move view to top left corner of chart Draw Chart
-left ar. move view one window left Draw Chart
-right ar. move view one window right Draw Chart
D change Directory Main Menu
down arrow move view 8 pixels up Draw Chart
E Exit Main Menu
End move vertically to bottom of chart Draw Chart
H Hard copy Main Menu
Home move vertically to top of chart Draw Chart
left arrow move view 8 pixels to left Draw Chart
M file Mask Main Menu
O Options Main Menu
P Prettify input file Main Menu
Pg Up move view one window up Draw Chart
Pg Down move view one window down Draw Chart
right arrow move view 8 pixels to right Draw Chart
S Select input file Main Menu
up arrow move view 8 pixels down Draw Chart
Screen Action Function
Main Menu D change Directory;
M file Mask;
S Select input file;
P Prettify input file;
C draw Chart;
H Hard copy;
O Options;
A About this program;
E Exit
change Directory . cancel (use current directory)
.. parent
\subdirectory use subdirectory in root
subdirectory use subdirectory of current
directory
file Mask........*.ext any file with an extension of
"ext"
unit1.* all "unit1" files with any
extension
b*.* all files beginning with "b"
a?. two-letter file names
beginning with "a" and no ext.
draw Chart left arrow move view 8 pixels to left
right arrow move view 8 pixels to right
down arrow move view 8 pixels up
up arrow move view 8 pixels down
-left arrow move view one window left
-right arrow move view one window right
Page Up move view one window up
Page Down move view one window down
Home move vert. to top of chart
End move vert. to bottom of chart
-Home move view to top left corner
of chart
-End move view to bottom right
corner of chart
N redraw chart at normal size
E redraw chart expanded
R redraw chart reduced
F redraw chart to fit on screen
Options Menu paper width width of paper in printer
paper length length of one sheet of paper
in printer
left margin white space to left of chart
top margin white space above chart
chart width width of chart (excluding
margin)
chart length length of chart (excluding
margin)
line width thickness of graphic lines in
bits
sideways printed output rotated 90 deg.
when selected
file name input file name appears on
printed chart when selected
Structured Language for NSChart
NSChart and the user must communicate. NSChart needs syntactically
predictable input. NSChart's input is an ASCII text file. The
syntactical rules of NSPDL define a structured language, a program
design language (PDL). Because it pertains to Nassi-Shneiderman charts,
the NSChart structured language is called NSPDL.
Text strings always appear in the chart centered in their box. They
may either be labels or process descriptions. Any string that describes
a process may be replaced by a more complex structure. This allows you
to start with a very simple overview that becomes more detailed as the
design of the program is refined. Text to be printed in the flow
diagram must be enclosed within a pair of " (quotation marks); -- "like
this". Any character except the quotation mark may be used in the
enclosed text. A text string can also be empty -- "". This is useful
where NSPDL requires a text string but you do not want any text to
appear on the NS chart.
The .key words used by NSChart relate to general key words
referenced by structured programming languages. They tell the NSChart
program what to draw, but do not themselves appear in the chart. The
list of NSChart key words is as follows:
begin do endcase endrepeat if then
block else endfor endwhile loop title
call end endif for of until
case endblock endloop goto repeat while
Except for the basic process statement, each control statement must
include at least one key word, indicating to NSChart the type of symbol
to be drawn.
Key words are case independent, i.e., they may be in upper or lower
case or even a mixture of the two.
The minimum requirement for an NSChart input file is that it must
contain at least one valid statement that produces a cohesive Nassi-
Shneiderman flow diagram. The different kinds of control statements are
explained below.
NSPDL Syntax Discussion
In the syntax descriptions of the key words in this section, the
symbol "" refers to any string of zero or more characters; the
word "statement" itself refers to any NSPDL construct. In the examples
that accompany each NSPDL construct, the NSPDL text is shown. Items in
braces may be filled with other NSChart control statements to allow for
nested logic.
Title directive
The title; directive is optional; its key word is, appropriately,
"title". The text string enclosed in quotation marks following it
appears as the title of the NS chart. The title directive is different
from all other NSChart key words in that it can appear only once and
only at the beginning of the text file and that it is the only key word
construct whose output is not enclosed in any sort of box.
The syntax of the title directive is:
[ title "" ]
Here is an example:
title "Sample Nassi-Shneiderman Chart"
This directive produces the title, "Sample Nassi-Shneiderman Chart",
centered at the top of the chart above the line defining the top
boundary of the chart.
PROCESS statement
The basic control statement is the PROCESS statement;. It does not
require a key word. It is created by entering a string of displayable
ASCII characters enclosed in " (quotation marks);. This produces a
simple flow; symbol with the PROCESS statement inside it.
The syntax of the PROCESS statement is:
""
Here is an example:
"Read the next record."
CALL statement
The CALL statement; is used to draw attention to a process that
appears elsewhere in the flow chart and continues where the call
statement leaves off. Its key word is "call". It produces a simple-
flow symbol lightly highlighted inside and next to its borders to
indicate that the process is expanded elsewhere.
The syntax of the CALL statement is:
CALL ""
Here is an example:
call "X5INBUF -- Read and decode next input buffer."
GOTO statement
The GOTO statement; is a deviation from structured programming based
on pragmatism. In the real programming world there are situations which
force compromise, such as an abnormal exit from a process when the
elegant solution carries too much overhead (in the opinion of the chief
decision maker). The GOTO statement indicates a direct transfer of
control to a process that appears elsewhere in the flow chart. Its key
word is "goto". It produces a simple-flow symbol heavily highlighted
inside and next to its borders to indicate not just that control is
transferred to a process that is expanded elsewhere, but that this
transfer is an abnormal break in the flow.
The syntax of the GOTO statement is:
GOTO ""
Here is an example:
goto "Power failure emergency shut-down routine"
IF statement
The IF statement; depicts a transfer of control based upon a Boolean
condition. Its key words are: "if", "then", and "endif"; an optional
key word is "else". Note that only the conditional statement requires
any text. Text for labels and their dependent statements may be void.
The syntax of the IF statement is:
IF "" then [ [ "": ]
[ { statement(s) } ] ]
[ else [ [ "": ]
[ { statement(s) } ] ] ]
endif
Here is an example:
if "Am I going on a trip?" then "yes" :
"Take out traveler's checks."
else "no" :
"Take out cash."
endif
CASE statement
The CASE statement; marks the beginning of a case block and
transfers control to a set of statements based upon the clause contained
within the statement itself. Its key words are "case", "of", and
"endcase". The CASE statement syntax requires at least two cases.
There is no upper limit on the number of cases.
The syntax of the CASE statement is:
CASE"" of
"" : { statement(s) }
{ "" : { statement(s) } }
endcase
Here is an example:
case "I didn't get out of bed today because" of
"faulty alarm" : "no excuse -- go to work"
"lazy" : "call in sick"
"sick" : "go see doctor"
"weekend" : "relax & enjoy"
endcase
FOR/WHILE statement
Looping structures where the conditional item is tested at the top
of the loop; can be produced by two different but functionally identical
statements. The first of these, the FOR statement;, has two sets of key
words: "for", "do", and "endfor"; and "for", "loop", and "endloop".
FOR loops are used for traversing an entire range, such as searching an
array.
The syntax of the two corresponding FOR statements is:
FOR "" do FOR "" loop
{ statement(s) } -- or -- { statement(s) }
endfor endloop
The second of these two loop structures is the WHILE statement;.
Its keywords are: "while", "do", and "endwhile"; and "while", ".loop",
and "endloop". WHILE loops (as opposed to FOR loops) terminate based on
a change of some condition within the loop.
The syntax of the WHILE statement is:
WHILE "" do WHILE "" loop
{ statement(s) } -- or -- { statement(s) }
endwhile endloop
Here is an example of each statement type; note that the chart looks
the same for both:
for "during break" do while "during break" do
"eat lunch" -- or -- "eat lunch"
endfor endwhile
REPEAT statement
The REPEAT statement; is used to produce a loop;ing structure where
the conditional item is tested at the bottom of the loop. It has two
sets of keywords: "repeat" and "until", and "repeat" and "endrepeat".
The syntax of the two sets of key words is:
REPEAT REPEAT
{ statement(s) } -- or -- { statements(s) }
until "" endrepeat ""
Here is an example:
repeat
"Say 'Play it again, Sam!'"
until "Stop when Sam plays it again."
BLOCK/LOOP statement
A functional blocking structure is provided by the BLOCK statement
and/or LOOP statement;. Its function is to define a scope, i.e., to set
limits -- "begin" to "end" in some languages -- around a functionally
discrete process. By extension, the block construct can be used to
indicate a generic loop, where the process is iterative, yet it is not
known nor perhaps par-ticularly relevant to define it as either a while
or repeat loop. This statement has two sets of key words which are
functionally identical: "block" and "endblock", and "loop" and
"endloop".
The syntax of the BLOCK or LOOP statement is:
BLOCK "" LOOP ""
{ statement(s) } -- or -- { statement(s) }
endblock "" endloop ""
Here is an example of each statement type; note that the chart looks
the same for both:
block "Give all neighborhood kids a dollar."
"Give kid a dollar and go to next house."
endblock "Kids are rich and you're broke."
-- or --
loop "Give all neighborhood kids a dollar."
"Give kid a dollar and go to next house."
endloop "Kids are rich and you're broke."
BEGIN-END statement
The BEGIN-END statement; is an aid for generating correctly nested
NSPDL. It has no effect on the diagram produced by NSChart. Its
key words are "begin" and "end". Text nested within these key words
produces the same chart as though these two delimiters had not been
there. Also, there is no requirement for any text to appear between
"begin" and "end".
The syntax of the BEGIN-END statement is:
begin
[ { statement(s) } ]
end
Here is an example:
begin
call "Get the next input (ABC function)."
"Be sure to replace this node with the logic
structure of the random transcendental number
generator once it is designed."
call "Save the new results (XYZ function)."
end
IBM PC/XT/AT compatible
NSChart Set-up 27 Mar 1990
************************* W A R N I N G ****************************
* *
* You MUST have the line DEVICE=ANSI.SYS in your CONFIG.SYS file *
* or have ANSI.SYS in your root directory to install this program. *
* *
************************* W A R N I N G ****************************
To install type NS_START
To start type NSCHART
To use NSChart you must have a composite or color monitor,
at least 384K of memory, and DOS 2.0 or later.
The file ANSI.SYS must be present in the root directory of your system disk,
and the file CONFIG.SYS in the root directory of your system disk must
contain the line:
device=ansi.sys
The install options will check for all the requisite files.
You may copy the CONFIG.SYS file from the demo floppy if you wish.
ANSI.SYS may be found on one of your original DOS disks.
If you change your CONFIG.SYS or had to move ANSI.SYS onto your system disk,
reboot your computer.
NSChart and NSDemo now accept the prettify option -P on the command line for
batch mode processing. Wild cards are also supported for command line file
specifications. For instance: NSChart -P *.ns
will prettify and syntax check all the files with extension .ns in the
current directory. A brief error message including the line number
of the error will be sent to the printer for each file satisfying
the file spec that also has a syntax error.
NSCHART Version 1.05
Shareware User Manual
for
IBM PC, XT, AT
and
Compatibles
SILTRONIX, Inc.
COPYRIGHT (c) 1987, 1988, 1989, 1990
by
SILTRONIX
All Rights Reserved
Program License Agreement
Copyright: The program and its related documentation are
copyrighted. You may not use, copy, modify, or transfer the program or
documentation or any copy except as expressly provided in this
agreement. Information in this document is subject to change without
notice and does not represent a commitment on the part of SILTRONIX,
Inc.
License: You have the nonexclusive right to use the enclosed
program. You may physically transfer the program from one computer to
another. You may not distribute copies of the program or accompanying
documentation to others for profit, excepting a reasonable duplication
fee. You may not modify or translate the program or documentation.
Terms: This license is effective until terminated. You may
terminate the agreement by destroying the program and all copies thereof
and its documentation. This license will also terminate if you fail to
comply with any terms or conditions of this agreement; you agree upon
such termination to destroy all copies of the program and documentation.
Use of the program constitutes your acceptance of these terms.
Warranty
SILTRONIX does not warrant anything.
THIS WARRANTY IS IN LIEU OF ALL OTHER EXPRESS OR STATUTORY
WARRANTIES, AND THE DURATION OF ANY IMPLIED WARRANTY, INCLUDING BUT
NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE, IS HEREBY LIMITED TO SAID NINETY
(90) DAY PERIOD. SILTRONIX LIABILITY IS LIMITED SOLELY TO THE
REPLACEMENT OF THE DEFECTIVE PRODUCT AND SHALL NOT IN ANY EVENT
INCLUDE DAMAGES FOR LOSS OF USE, OR LOSS OF ANTICIPATED PROFITS OR
BENEFITS, OR OTHER INCIDENTAL OR CONSEQUENTIAL COSTS, EXPENSES, OR
DAMAGES INCLUDING WITHOUT LIMITATION ANY DATA OR INFORMATION WHICH
MAY BE LOST OR RENDERED INACCURATE, EVEN IF SILTRONIX HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
NSChart is a trademark of SILTRONIX, Inc.
Microsoft and MS-DOS are registered trademarks of
Microsoft Corporation.
IBM is a registered trademark of
International Business Machines Corporation.
SILTRONIX
Post Office Box 82544
San Diego, California 92138-2544
(619)541-2502
Preface
This document is intended ONLY as a minimal introduction to NSChart.
If you wish to receive the real manual please register your copy of
NSChart with Siltronix by phoning the number above and paying the $35
registration fee.
Command Summary
This section is a quick reference guide to using NSChart by
function, parameter, keystroke, command, or screen.
Function Keystroke Command Screen
About this program; A Main Menu
change Directory; D Main Menu
draw Chart; C Main Menu
Exit; E Main Menu
file Mask; M Main Menu
Hard copy; H Main Menu
Options; O Main Menu
Prettify input file; P Main Menu
Select input file S Main Menu
Parameter Meaning Screen
\subdir use subdirectory in root Change Directory
chart width width of chart (excluding margin) Options Menu;
chart length length of chart (excluding margin) Options Menu
file name input file name appears on printed Options Menu
chart
file Mask Mask to screen input files Main Menu;
left margin white space to left of chart Options Menu
line width thickness of graphic lines in bits Options Menu
paper width width of paper in printer Options Menu
paper length length of paper in printer Options Menu
sideways printed output rotated 90 degree Options Menu
subdir use subdirectory of current dir. Change Directory
top margin white space above chart Options Menu
Command Meaning Screen
. cancel(use current directory) Change Directory
.. change to parent directory Change Directory
*.* any file File Mask;
*.ext any file ending in ".ext" File Mask
unit1.* all "unit1." files with any ext. File Mask
a?. two letters starting with "a" File Mask
b*.* any file beginning with "b" File Mask
C draw Chart Main Menu;
D change Directory Main Menu
down arrow move view 8 pixels up Draw Chart
E Exit Main Menu
End move vertically to bottom of chart Draw Chart
H Hard copy Main Menu
Home move vertically to top of chart Draw Chart
left arrow move view 8 pixels to left Draw Chart
M file Mask Main Menu
O Options Main Menu
P Prettify input file Main Menu
Pg Up move view one window up Draw Chart
Pg Down move view one window down Draw Chart
right arrow move view 8 pixels to right Draw Chart
S Select input file Main Menu
up arrow move view 8 pixels down Draw Chart
Screen Action Function
Main Menu D change Directory;
M file Mask;
S Select input file;
P Prettify input file;
C draw Chart;
H Hard copy;
O Options;
A About this program;
E Exit
change Directory . cancel (use current directory)
.. parent
\subdirectory use subdirectory in root
subdirectory use subdirectory of current
directory
file Mask........*.ext any file with an extension of
"ext"
unit1.* all "unit1" files with any
extension
b*.* all files beginning with "b"
a?. two-letter file names
beginning with "a" and no ext.
draw Chart left arrow move view 8 pixels to left
right arrow move view 8 pixels to right
down arrow move view 8 pixels up
up arrow move view 8 pixels down
Page Up move view one window up
Page Down move view one window down
Home move vert. to top of chart
End move vert. to bottom of chart
of chart
corner of chart
N redraw chart at normal size
E redraw chart expanded
R redraw chart reduced
F redraw chart to fit on screen
Options Menu paper width width of paper in printer
paper length length of one sheet of paper
in printer
left margin white space to left of chart
top margin white space above chart
chart width width of chart (excluding
margin)
chart length length of chart (excluding
margin)
line width thickness of graphic lines in
bits
sideways printed output rotated 90 deg.
when selected
file name input file name appears on
printed chart when selected
Structured Language for NSChart
NSChart and the user must communicate. NSChart needs syntactically
predictable input. NSChart's input is an ASCII text file. The
syntactical rules of NSPDL define a structured language, a program
design language (PDL). Because it pertains to Nassi-Shneiderman charts,
the NSChart structured language is called NSPDL.
Text strings always appear in the chart centered in their box. They
may either be labels or process descriptions. Any string that describes
a process may be replaced by a more complex structure. This allows you
to start with a very simple overview that becomes more detailed as the
design of the program is refined. Text to be printed in the flow
diagram must be enclosed within a pair of " (quotation marks); -- "like
this". Any character except the quotation mark may be used in the
enclosed text. A text string can also be empty -- "". This is useful
where NSPDL requires a text string but you do not want any text to
appear on the NS chart.
The .key words used by NSChart relate to general key words
referenced by structured programming languages. They tell the NSChart
program what to draw, but do not themselves appear in the chart. The
list of NSChart key words is as follows:
begin do endcase endrepeat if then
block else endfor endwhile loop title
call end endif for of until
case endblock endloop goto repeat while
Except for the basic process statement, each control statement must
include at least one key word, indicating to NSChart the type of symbol
to be drawn.
Key words are case independent, i.e., they may be in upper or lower
case or even a mixture of the two.
The minimum requirement for an NSChart input file is that it must
contain at least one valid statement that produces a cohesive Nassi-
Shneiderman flow diagram. The different kinds of control statements are
explained below.
NSPDL Syntax Discussion
In the syntax descriptions of the key words in this section, the
symbol "
word "statement" itself refers to any NSPDL construct. In the examples
that accompany each NSPDL construct, the NSPDL text is shown. Items in
braces may be filled with other NSChart control statements to allow for
nested logic.
Title directive
The title; directive is optional; its key word is, appropriately,
"title". The text string enclosed in quotation marks following it
appears as the title of the NS chart. The title directive is different
from all other NSChart key words in that it can appear only once and
only at the beginning of the text file and that it is the only key word
construct whose output is not enclosed in any sort of box.
The syntax of the title directive is:
[ title "
Here is an example:
title "Sample Nassi-Shneiderman Chart"
This directive produces the title, "Sample Nassi-Shneiderman Chart",
centered at the top of the chart above the line defining the top
boundary of the chart.
PROCESS statement
The basic control statement is the PROCESS statement;. It does not
require a key word. It is created by entering a string of displayable
ASCII characters enclosed in " (quotation marks);. This produces a
simple flow; symbol with the PROCESS statement inside it.
The syntax of the PROCESS statement is:
"
Here is an example:
"Read the next record."
CALL statement
The CALL statement; is used to draw attention to a process that
appears elsewhere in the flow chart and continues where the call
statement leaves off. Its key word is "call". It produces a simple-
flow symbol lightly highlighted inside and next to its borders to
indicate that the process is expanded elsewhere.
The syntax of the CALL statement is:
CALL "
Here is an example:
call "X5INBUF -- Read and decode next input buffer."
GOTO statement
The GOTO statement; is a deviation from structured programming based
on pragmatism. In the real programming world there are situations which
force compromise, such as an abnormal exit from a process when the
elegant solution carries too much overhead (in the opinion of the chief
decision maker). The GOTO statement indicates a direct transfer of
control to a process that appears elsewhere in the flow chart. Its key
word is "goto". It produces a simple-flow symbol heavily highlighted
inside and next to its borders to indicate not just that control is
transferred to a process that is expanded elsewhere, but that this
transfer is an abnormal break in the flow.
The syntax of the GOTO statement is:
GOTO "
Here is an example:
goto "Power failure emergency shut-down routine"
IF statement
The IF statement; depicts a transfer of control based upon a Boolean
condition. Its key words are: "if", "then", and "endif"; an optional
key word is "else". Note that only the conditional statement requires
any text. Text for labels and their dependent statements may be void.
The syntax of the IF statement is:
IF "
[ { statement(s) } ] ]
[ else [ [ "
[ { statement(s) } ] ] ]
endif
Here is an example:
if "Am I going on a trip?" then "yes" :
"Take out traveler's checks."
else "no" :
"Take out cash."
endif
CASE statement
The CASE statement; marks the beginning of a case block and
transfers control to a set of statements based upon the clause contained
within the statement itself. Its key words are "case", "of", and
"endcase". The CASE statement syntax requires at least two cases.
There is no upper limit on the number of cases.
The syntax of the CASE statement is:
CASE"
"
{ "
endcase
Here is an example:
case "I didn't get out of bed today because" of
"faulty alarm" : "no excuse -- go to work"
"lazy" : "call in sick"
"sick" : "go see doctor"
"weekend" : "relax & enjoy"
endcase
FOR/WHILE statement
Looping structures where the conditional item is tested at the top
of the loop; can be produced by two different but functionally identical
statements. The first of these, the FOR statement;, has two sets of key
words: "for", "do", and "endfor"; and "for", "loop", and "endloop".
FOR loops are used for traversing an entire range, such as searching an
array.
The syntax of the two corresponding FOR statements is:
FOR "
{ statement(s) } -- or -- { statement(s) }
endfor endloop
The second of these two loop structures is the WHILE statement;.
Its keywords are: "while", "do", and "endwhile"; and "while", ".loop",
and "endloop". WHILE loops (as opposed to FOR loops) terminate based on
a change of some condition within the loop.
The syntax of the WHILE statement is:
WHILE "
{ statement(s) } -- or -- { statement(s) }
endwhile endloop
Here is an example of each statement type; note that the chart looks
the same for both:
for "during break" do while "during break" do
"eat lunch" -- or -- "eat lunch"
endfor endwhile
REPEAT statement
The REPEAT statement; is used to produce a loop;ing structure where
the conditional item is tested at the bottom of the loop. It has two
sets of keywords: "repeat" and "until", and "repeat" and "endrepeat".
The syntax of the two sets of key words is:
REPEAT REPEAT
{ statement(s) } -- or -- { statements(s) }
until "
Here is an example:
repeat
"Say 'Play it again, Sam!'"
until "Stop when Sam plays it again."
BLOCK/LOOP statement
A functional blocking structure is provided by the BLOCK statement
and/or LOOP statement;. Its function is to define a scope, i.e., to set
limits -- "begin" to "end" in some languages -- around a functionally
discrete process. By extension, the block construct can be used to
indicate a generic loop, where the process is iterative, yet it is not
known nor perhaps par-ticularly relevant to define it as either a while
or repeat loop. This statement has two sets of key words which are
functionally identical: "block" and "endblock", and "loop" and
"endloop".
The syntax of the BLOCK or LOOP statement is:
BLOCK "
{ statement(s) } -- or -- { statement(s) }
endblock "
Here is an example of each statement type; note that the chart looks
the same for both:
block "Give all neighborhood kids a dollar."
"Give kid a dollar and go to next house."
endblock "Kids are rich and you're broke."
-- or --
loop "Give all neighborhood kids a dollar."
"Give kid a dollar and go to next house."
endloop "Kids are rich and you're broke."
BEGIN-END statement
The BEGIN-END statement; is an aid for generating correctly nested
NSPDL. It has no effect on the diagram produced by NSChart. Its
key words are "begin" and "end". Text nested within these key words
produces the same chart as though these two delimiters had not been
there. Also, there is no requirement for any text to appear between
"begin" and "end".
The syntax of the BEGIN-END statement is:
begin
[ { statement(s) } ]
end
Here is an example:
begin
call "Get the next input (ABC function)."
"Be sure to replace this node with the logic
structure of the random transcendental number
generator once it is designed."
call "Save the new results (XYZ function)."
end
December 28, 2017
Add comments