Have you ever said any of these?

  "Ack! Who wrote this mess?" 
  "Does this subroutine ever get called?" 
  "Every line starts in column seven!" 
  "Where's variable D used?" 
  "This call is missing the 45th parameter...I think." 
  "Where's this #$*& variable assigned, anyway?" 
  "Didn't this guy know about IF-THEN-ELSE?" 
  "Label 137, label 137, where's label 137?"

If you have, then our tools can help you out.

Forwarn finds nasty, hidden bugs that compilers overlook. It roots out
those banes of Fortran programmers, misspelled variables and bad parameter
lists. Forwarn really cranks out documentation, helping you locate
routines, variables, and their uses, while impressing the boss. Forwarn
improves your code's reliability and gives you confidence in its answers.

Fortran Development Tools untangle poorly formatted, unindented,
GOTO-ridden code. They can also maintain a consistent style (of your
choice) for all the code on a project.

Both Forwarn and Fortran Development Tools help you find your way through
your (or somebody else's) code. They quickly pay for themselves by saving
you time in developing, maintaining, and debugging Fortran code.

You can get both products for DOS, DOS 386 protected mode, OS/2, VAX/VMS,
and Unix systems. The current prices are

Forwarn 
  $ 399 for DOS 
  $ 499 for OS/2, PC Unix, or 386 protected mode 
  $1200 for work stations 
  $2000 for larger machines

Fortran Development Tools
  $ 149 for DOS
  $ 199 for OS/2, PC Unix, or 386 protected mode
  $ 500 for work stations
  $ 800 for larger machines

Our 30-day money-back guarantee gives you an out if the boss isn't
impressed. Quantity discounts are available if he is.

Questions? Call us at (719) 527-1384.

Quibus Enterprises Inc
3340 Marble Terrace, Colorado Springs, CO 80906
719-527-1384
-----------------------------------------------------------------
FORTRAN Development Tools

This package is a collection of utility programs that aid in the handling
of Fortran source files. Use of the tools as a regular part of Fortran
program development can help you:

* Improve the appearance and readability of your code
* Enhance the maintainability of your programs
* Update old programs to use modern Fortran features
* Easily identify the ranges of DO loops and block IFs
* Better handle large multiple-routine source files
* Maintain consistent style in large projects
* Share and update declarations
* Maintain multiple versions of programs

TOOLS IN THE PACKAGE

PRETTY. A flexible pretty printer which reformats source code consistently
according to your preferred style. Numerous options give you control of
indentation of DO loops and IF blocks, spacing within statements,
statement renumbering, use of upper and lower case, and other aspects of
programming style.

PRETTY also optionally modernizes code by converting IF statements with
GOTOs to nested IF-THEN-ELSEs, converting hollerith constants in FORMAT
statements to quoted strings, and performing other conversions.

OUTLINE. A listing generator that highlights DO loops and block
IF-THEN-ELSEs with graphical outlines. Also adds line numbers and optional
page breaks and headings to create an attractive, informative program
listing.

PREP. Aids portability and maintainability of code in two ways: by allowing
automatic selection of different code sequences, and by expansion of
INCLUDE files. Useful for maintaining machine-dependent or
application-specific versions of programs, sharing declarations between
routines, and conditionally inserting debugging code during program
development.

SPLIT. A utility that writes each routine from a program to a separate
file. Helpful in converting large applications to use widely-available
"make" utilities and for extracting subroutines for reuse in other
applications.

COMBINE. Combines several source files into one. Useful for reorganizing
programs that are taken apart by SPLIT, but also generally useful for
manipulating text files.

SEQ. Adds sequence numbers to columns 73 through 80 of each line. Gives
source code a polished, professional look. Options allow the use of a
variety of styles.

UNSEQ. Strips sequence numbers and excess trailing spaces from lines. Saves
disk space and makes interactive editing easier.

QSETUP. An interactive, menu-driven setup program which allows easy
selection of default options for the other tools. Context-sensitive help
is provided for all options, with frequent examples that clarify the
actions of each possible selection.

FEATURES

Speed. PRETTY processes source files at over 40,000 lines per minute (on a
40 Mhz 386). The other tools are similarly efficient.

Capacity. PRETTY handles Fortran routines with up to 2,000 statements with
full functionality, and correctly reformats routines of over 5,000
statements with the loss of only a few features. The Unix, OS/2, or 386
protected-mode version of PRETTY can handle much larger routines. The
other tools in the package have essentially no size limitations.

Ease of use. Each tool reads option settings either from the command line
or from a shared option file. This option file is conveniently created or
changed by using QSETUP.

Fortran extensions. PRETTY and the other tools accept full Fortran-77, plus
most common extensions, including tab formatting, long names, DO WHILE,
ENDDO, INCLUDE, and line-ending comments. Specific support for most Lahey,
Microsoft, MILSTD, and VAX extensions is included.
-----------------------------------------------------------------
FORWARN

FORWARN is a static analysis tool for Fortran programs. Using FORWARN
during software development and maintenance enhances the reliability,
portability, and documentation quality of Fortran systems. FORWARN
verifies external interfaces, identifies uninitialized and unused
variables, and finds other common programming errors that most compilers
miss. It also produces detailed cross-reference listings and a chart
showing the calling structure of the program.

CAPABILITIES

Verifies argument lists. FORWARN checks that calls to subroutines and
functions have the correct number of arguments, and also that each
argument matches the type, number of dimensions, and other attributes
declared in the called routine.

Verifies common block usage. FORWARN checks that common blocks are declared
consistently throughout the program with respect to size, type, and layout
of variables. FORWARN accounts for equivalences onto common variables to
accurately report potential errors.

Finds anomalies in variable usage. One of the most common traps in the
Fortran language is automatic typing of variables. Misspelled names are
generally accepted without question by compilers, leading to errors that
are hard to find. FORWARN has several capabilities for finding such
misspellings. It flags variables that are used without being set, set
without being used, or neither set nor used. It also optionally flags
variables that are not explicitly typed.

Flags loss of precision or truncation. FORWARN optionally flags assignments
that lose precision (such as assigning a double precision value to a
single precision variable, or assigning a character string to a shorter
character variable).

Produces cross-reference listings. For each routine, FORWARN prints a
detailed listing showing each reference to each variable, common block,
external routine, statement label, etc. Each reference includes the line
number and the type of reference (declaration, call, modification, use,
etc.)

In addition, FORWARN prints two global cross-references. These summarize
routine and common variable references for the entire program in a format
that makes it easy to find who calls whom, who uses what, and where.

Prints a calling-tree diagram. FORWARN produces a chart visually showing
all the calls made by each routine in the program. Optionally, duplicate
subtrees and multiple calls to the same routine are presented in a
compressed form to reduce the size of the tree diagram.

FEATURES

Speed. FORWARN analyzes programs at over 25,000 lines per minute on a 40
Mhz 386. This level of performance makes it practical to use FORWARN as an
integral part of the software development cycle, thus catching subtle
coding errors before programmers spend large amounts of time looking for
them.

Capacity. FORWARN handles programs with over 300 source files, 300
routines, and 40,000 lines on a 640K DOS system. Individual routines may
be over 2000 lines long. The Unix, OS/2, or 386 protected-mode versions of
FORWARN can handle much larger programs--over 150,000 lines on a system
with two megabytes of memory. The size of program that can be processed is
limited only by the amount of memory available.

Flexibility. Several options allow different parts of the FORWARN output to
be suppressed separately. Messages are divided into six classes which may
be disabled separately. Other options allow certain common, but
nonstandard, Fortran argument passing practices to be accepted without
complaint. Default option settings are easily changed by using QSETUP, an
interactive setup program included with FORWARN.

Language extensions. FORWARN accepts the full ANSI X3.9-1978 standard, plus
most popular extensions, including tab formatting, names with up to 31
characters, INCLUDE statements, NAMELIST, structures and records, CASE
statements, and type names with explicit sizes (INTEGER*2, REAL*8, etc.).
FORWARN optionally reports extensions to the Fortran 77 standard in the
program.

 ============================================================
 From the  'New Product Information'  Electronic News Service
 ============================================================
 This information was processed from data provided by the
 above mentioned company. For additional details, contact 
 the company at the address or telephone number indicated.
 OmniPage Pro is now used for converting all printed input! 
 ============================================================
 All submissions for this service should be addressed to:
 BAKER ENTERPRISES,  20 Ferro Dr,  Sewell, NJ  08080  U.S.A.
 Email: RBakerPC (AOL/Delphi), rbakerpc@delphi.com (Internet)
 ============================================================
