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