Dec 282017
 
Nassi-Shneidermann flowchart generator. Nassi-Shneidermann flowcharts are more like pseudo-code than traditional flowcharts.
File NS.ZIP from The Programmer’s Corner in
Category Miscellaneous Language Source Code
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.


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






 December 28, 2017  Add comments

Leave a Reply