CONTENTS Title Page Copyright Page Preface 1 Overview of the STR$ Facility 2 Introduction to String Manipulation (STR$) Routines 2.1 String Semantics in the Run-Time Library 2.1.1 Fixed-Length Strings 2.1.2 Varying-Length Strings 2.1.3 Dynamic-Length Strings 2.1.4 Examples 2.2 Descriptor Classes and String Semantics 2.2.1 Conventions for Reading Input String Arguments 2.2.2 Semantics for Writing Output String Arguments 2.3 Selecting String Manipulation Routines 2.3.1 Efficiency 2.3.2 Argument Passing 2.3.3 Error Handling 2.4 Allocating Resources for Dynamic Strings 2.4.1 String Zone STR$ Reference Section STR$ADD STR$ANALYZE_SDESC STR$APPEND STR$CASE_BLIND_COMPARE STR$COMPARE STR$COMPARE_EQL STR$COMPARE_MULTI STR$CONCAT STR$COPY_DX STR$COPY_R STR$DIVIDE STR$DUPL_CHAR STR$ELEMENT STR$FIND_FIRST_IN_SET STR$FIND_FIRST_NOT_IN_SET STR$FIND_FIRST_SUBSTRING STR$FREE1_DX STR$GET1_DX STR$LEFT STR$LEN_EXTR STR$MATCH_WILD STR$MUL STR$POSITION STR$POS_EXTR STR$PREFIX STR$RECIP STR$REPLACE STR$RIGHT STR$ROUND STR$TRANSLATE STR$TRIM STR$UPCASE TABLES 1-1 STR$ Routines 2-1 String Passing Techniques Used by the Run-Time Library 2-2 How Run-Time Library Routines Read Strings 2-3 Semantics and Descriptor Classes 2-4 Severe Errors, by Facility