CONTENTS Title Page Copyright Page Preface Acknowledgment Part I Language Syntax 1 VAX DSM Syntax Introduction to VAX DSM VAX DSM Character Set Uppercase and Lowercase Characters Nonprinting Control Characters Commands Types of Commands Command Abbreviations Arguments Argument Spacing Argument List Separating Commands on a Line Line Structure Command Lines Routine Lines Line Labels TAB Character Comments Routine Structure References Line References Entry References Line Specifications Program Control and Structures GOTO Command DO Command DO Command with Parameter Passing DO Command with Block Structuring Execution Levels Line Structure for Block Structuring Routine Structure and Execution Extrinsic Functions and Variables 2 VAX DSM Expression Elements Overview of Expression Elements Functions Intrinsic Functions Extrinsic Functions Literals Numeric Literals Integer Literals Decimal Numeric Literals Exponential Notation String Literals Variables Local Variables Global Variables Subscripts Extended Global References Array Structure Collating Sequences Naked References Special Variables Operators Indirection Operator Argument Indirection Name Indirection Subscript Indirection Pattern Indirection Binary Operators Arithmetic Operators Numeric Relational Operators String Relational Operators String Operator Logical Operators Unary Operators Formatting Characters Form-Feed Character New-Line Character Horizontal-Tabulation Character Expression Evaluation String Expressions Numeric Expressions Truth-Valued Expressions Postconditional Expressions Command Postconditional Expression Argument Postconditional Expression Naked References and Postconditional Expressions Timeout Expressions Part II Language Reference 3 Operators Introduction to Operators Operator Descriptions INDIRECTION ( @ ) Binary ADD ( + ) Binary AND ( & ) Binary CONCATENATE ( _ ) Binary CONTAINS ( [ ) Binary DIVIDE ( / ) Binary EQUALS ( = ) Binary FOLLOWS ( ] ) Binary GREATER THAN ( > ) Binary INCLUSIVE OR ( ! ) Binary INTEGER DIVIDE ( \ ) Binary LESS THAN ( < ) Binary MODULO ( # ) Binary MULTIPLY ( * ) Binary PATTERN MATCH ( ? ) Binary SUBTRACT ( - ) Unary MINUS ( - ) Unary NOT ( ' ) Unary PLUS ( + ) 4 VAX DSM ANSI Standard Commands Introduction to VAX DSM ANSI Standard Commands Command Descriptions BREAK CLOSE DO DO and Parameter Passing ELSE FOR GOTO HALT HANG IF JOB JOB and Parameter Passing KILL LOCK NEW OPEN QUIT READ SET USE VIEW WRITE XECUTE 5 VAX DSM Extended Commands Introduction to VAX DSM Extended Commands Extended Command Descriptions ZALLOCATE ZDEALLOCATE ZDEBUG ZESCAPE ZGO ZINSERT ZLOAD ZPRINT ZQUIT ZREMOVE ZSAVE ZSTEP ZTRAP ZUABORT ZUCOMMIT ZUSE ZUSTART ZWRITE 6 VAX DSM Functions Introduction to VAX DSM Functions Function Descriptions Extrinsic Functions $ASCII $CHAR $DATA $EXTRACT $FIND $FNUMBER $GET $JUSTIFY $LENGTH $NEXT $ORDER $PIECE $QUERY $RANDOM $SELECT $TEXT $TRANSLATE $VIEW $ZCALL $ZDATE $ZNEXT $ZORDER $ZPREVIOUS $ZSEARCH $ZSORT $ZUCI 7 VAX DSM Special Variables Introduction to Special Variables Special Variable Descriptions $HOROLOG $IO $JOB $PRINCIPAL $STORAGE $TEST $X $Y $ZA $ZB $ZBREAK $ZCONTROLC $ZERROR $ZHOROLOG $ZIO $ZJOB $ZNAME $ZREFERENCE $ZTRAP $ZUID $ZULEVEL $ZVERSION $ZWATCH A ASCII Character Set FIGURES 2-1 Global Array Structure 2-2 Global Array (Naked References) 4-1 Lock_Name Tree 5-1 Locked Global (ZALLOCATE) 5-2 Flow of Control with ZQUIT 6-1 $ORDER Array Scan 6-2 $QUERY Array Scan A-1 ASCII Character Set TABLES 2-1 VAX DSM Arithmetic Operators 2-2 Numeric Relational Operators 2-3 String Relational Operators 2-4 Logical Operators 2-5 Truth Table 2-6 VAX DSM Unary Operators 2-7 Formatting Characters 4-1 VIEW Argument Values 6-1 $VIEW Argument Values