PRODUCT NAME:  VAX SCAN, Version 1.2                SPD 26.93.03

DESCRIPTION

VAX SCAN is a high level language designed  for  text processing that operates 
under the VMS Operating System. In addition to the commonplace  string 
operators such as concatenation, substring, extraction and comparison, VAX SCAN 
has powerful constructs for matching complex text patterns and sorting.  These 
capabilities make VAX SCAN particularly useful for building filters, 
translators, extractors, preprocessors, and parsers.

As a native-mode VAX language, VAX SCAN is integrated into the VMS Common 
Language Environment.  VAX SCAN programs can invoke and be invoked by routines 
written in other VMS languages as well as many Run-Time Library routines and 
VMS system services and utilities. VAX SCAN programs may  be debugged using the 
VAX Symbolic Debugger.  VAX SCAN is also be integrated  with the VAX 
Language-Sensitive Editor (LSE) and with VAX Source Code Analyzer (SCA), to 
further aid in the development of programs.                

VAX SCAN is implemented as an optimizing compiler that produces standard VMS 
object modules.  These modules can be linked with modules written in other VMS 
languages to produce an executable image that can be executed by the VMS RUN 
command.

Features 

The VAX SCAN language can be divided into two parts; the first part is a 
block-structured language that can be used for traditional algorithmic 
programming, while the second part deals with pattern matching.

The pattern matching part of VAX SCAN is built on the simple model of an input 
stream of text, such as a file or string, that is transformed by a VAX SCAN 
program to produce an output stream.  These transformations are performed  by 
block type constructs called macros.  Each macro describes  a pattern of text 
to be found in the input stream and the algorithm for replacing the matched 
text in the output stream.

These macros use syntax diagrams to describe the patterns to be located in the 
input stream.  These diagrams  are based on a high level Backus-Naur  Form 
(BNF) that is similar to the form used to describe language syntax in many of 
the VMS language reference manuals.

The algorithmic part of the VAX SCAN language is quite similar to PASCAL. VAX 
SCAN is a strongly typed language with support of the following data types:

   -  INTEGER			      -	 POINTER
   -  BOOLEAN			      -	 TREE 
   -  FIXED STRING		      -	 FILL 
   -  VARYING STRING		      -	 TREEPTR 
   -  DYNAMIC STRING		      -	 RECORD 
   -  FILE			      -	 User-defined types 
   -  OVERLAY

In the body of the macro, executable statements give the algorithm needed 
to create the macro's replacement text.   Executable statements in VAX 
SCAN include:

  -  assignment		- CALL		  - GOTO
  -  CASE		- IF		  - WHILE
  -  FOR		- RETURN	  - WRITE
  -  OPEN		- CLOSE		  - READ
  -  ALLOCATE		- FREE

In addition, VAX SCAN contains several special statements to support 
picture matching:

START SCAN	       Start picture matching process

STOP SCAN	       Terminate picture matching process

ANSWER		       Report replacement text

PRUNE		       Prune nodes in a tree

FAIL		       Cause a macro to fail

VAX SCAN provides support for error diagnostics to VAX Language-Sensitive   
Editor (LSE) and cross-reference information to VAX Source Code Analyzer  
(SCA).
      
VAX SCAN supports a DECwindows compiler interface for compile qualifier   
selection on workstations. This interface is accessible from FileView.

HARDWARE REQUIREMENTS

VAX, MicroVAX, VAXstation or VAXserver configuration as specified in the  
System Support Addendum (SSA 26.93.03-x).

SOFTWARE REQUIREMENTS *

For Systems Using Terminals (No DECwindows Interface): 
 
^ VMS Operating System

For Workstations Running VWS: 

^ VMS Operating System

^ VMS Workstation Software

For Workstations Running DECwindows:

^ VMS Operating System (and necessary components of VMS DECwindows)

VAX SCAN supports a DECwindows compiler interface for compile qualifier   
selection on workstations.  This interface is accessible from FileView.

*   Refer to the System Support Addendum (SSA 26.93.03-x) for 
    availability and required versions of prerequisite/optional software 
    and for information regarding components of VMS DECwindows.

ORDERING INFORMATION

Software Licenses: QL-495A*-**
Software Media: QA-495A*-**
Software Documentation: QA-495A*-GZ
Software Product Services: QT-495A*-**

* Denotes variant fields.  For additional information on available 
  licenses, services and media, refer to the appropriate price book.

SOFTWARE LICENSING

This software is furnished under the licensing provisions of Digital  
Equipment Corporation's Standard Terms and Conditions. 

For more information about Digital's licensing terms and policies, 
contact your local Digital office.

LICENSE MANAGEMENT FACILITY SUPPORT

This layered product supports the VMS License Management Facility.

License units for this product are allocated on a CPU-capacity basis.

For more information on the License Management Facility, refer to the VMS   
Operating System Software Product Description (SPD 25.01.xx) or the 
License Management Facility manual of the VMS Operating System 
documentation set.

For more information about Digital's licensing terms and policies, 
contact your local Digital office.

SOFTWARE PRODUCT SERVICES

A variety of service options are available.  For more information on 
these or other services, contact your local Digital office.

SOFTWARE WARRANTY

Warranty for this software product is provided by Digital with the 
purchase of a license for the product as defined in the Software Warranty 
Addendum of this SPD.


The DIGITAL Logo is a registered trademark of Digital Equipment Corporation.
    
VMS, DECwindows, Ethernet, MicroVAX, VAX, VAXstation and VAXserver are 
trademarks of Digital Equipment Corporation.

February 1990
AE-FU80D-TE
