TCL Programmer's Manual -- Table of Contents

SECTION 1 - GENERAL INFORMATION

1.1 Document Summary
1.2 Document Conventions
1.3 Environment
1.4 References

SECTION 2 - PROC MANAGEMENT CONCEPTS

2.1 Structure of a PDF
2.1.1 Processes
2.1.2 Procedures
2.2 Proc Inputs and Outputs
2.2.1 General
2.2.2 Standard Output
2.3 Parameters and Parameter Qualifiers
2.3.1 Attributes of Parameters
2.3.2 NAME Parameters
2.3.3 KEYWORD Parameters
2.3.4 Parameter Qualifiers
2.3.5 Dynamic Parameters
2.4 Use of a PAR File As a Proc
2.5 Procs Submitted As BATCH Jobs
2.6 Procs Submitted As Asynchronous Jobs
2.6.1 Normal Asynchronous Jobs
2.6.2 ASYNC-PROCESS Jobs
2.6.3 Exchanging Messages Between Concurrent Jobs
2.7 Subcommands
2.8 Parameter Set PDF
2.9 Internal Procs
2.10 Globals PDF
2.11 Compiled PDF
2.12 Self-Tutor
2.13 Proc Libraries
2.14 Logon/Logoff Procs
2.15 Help Files and Help Text
2.15.1 Help Test Processing
2.15.2 Help Text Structure
2.15.3 MDF/HLP Text String Substitution
2.16 Messages and Message Files
2.16.1 Message Formats
2.16.2 Message Files

SECTION 3 - TAE COMMAND LANGUAGE

3.1 Overview of TCL Processing
3.2 Basic TCL Rules
3.2.1 TCL Command String
3.2.2 Name Rules
3.2.2.1 TCL Standard Names
3.2.2.2 Library names
3.2.2.3 Proc Names
3.2.2.4 File Names
3.2.3 Additional Syntax Rules
3.2.3.1 Case Sensitivity
3.2.3.2 Lists
3.2.4 Special Characters
3.3 Constants, Variables, Assignments, Expressions, and Functions
3.3.1 Constants
3.3.1.1 Integer and Real Constants
3.3.1.2 String Constants
3.3.1.3 Empty Strings
3.3.2 TCL Varialbes
3.3.2.1 Variables Reference Syntax
3.3.2.2 Variable Types
3.3.2.3 Multi-valued Variables
3.3.2.4 Nullable Variables
3.3.2.5 Variable Scope
3.3.2.5.1 Local Varialbes
3.3.2.5.2 Global Variables
3.3.2.5.3 Variables Defined in Internal Procs
3.3.2.6 The Relationship Between Variables and Proc Parameters
3.3.2.7 Implicit Variables
3.3.2.7.1 Implicit Global Variables
3.3.2.7.2 Implicit Local Variables
3.3.2.8 Variable Substitution
3.3.2.9 De-referencing
3.3.3 Assignment
3.3.4 Expressions
3.3.4.1 Numeric Expressions
3.3.4.2 String Expressions
3.3.4.3 Mixed-Type Expressions
3.3.4.4 Relational Expressions
3.3.4.5 Logical Expressions
3.3.4.6 Evaluation of Expressions
3.3.4.6.1 Operator Precedence
3.3.5 Functions
3.3.5.1 $FIX(real)
3.3.5.2 $FLOAT(int)
3.3.5.3 $STRLEN(string)
3.3.5.4 $COUNT(name)
3.3.5.5 $GLOBAL(name)
3.3.5.6 $ASFI(jobname)
3.3.5.7 $ASKEY(jobname)
3.3.5.8 $PANEL(panelname)
3.4 Procedure-oriented TCL Commands
3.4.1 General Rules
3.4.2 Command Descriptions
3.4.2.1 BODY - Introduce the Procedure Body
3.4.2.2 BREAK - Loop Exit
3.4.2.3 EMIT - Transfer Asynchronous Job Staturs
3.4.2.4 FOR/END-FOR - Itemized Loop Control
3.4.2.5 GETPAR - Get Dynamic Parameters
3.4.2.6 GLOBALS - Introduce a GLOBALS PDF
3.4.2.7 GOTO - Unconditional Forward Branch
3.4.2.8 IF/ELSE - Conditional Execution
3.4.2.9 IF/ELSE-IF - Multi-way Conditional Exectuion
3.4.2.10 LET - Variable Assignment
3.4.2.11 LOCAL - Declare a Local Variable
3.4.2.12 LOOP/END-LOOP - Infinite Loop
3.4.2.13 NEXT - Force Next Iteration
3.4.2.14 NOP - Do Nothing
3.4.2.15 PARM - Declare a Proc Parameter
3.4.2.16 PARMSET - Introduce a Parameter Set PDF
3.4.2.17 PROCEDURE - Declare a Procedure
3.4.2.18 PROCESS - Declare a Process
3.4.2.19 PUTMSG - Write a Message to Standard Output
3.4.2.20 RECVAR - Receive Variables from Another Job
3.4.2.21 REFGBL - Declare a Reference to a Global
3.4.2.22 RETURN - Terminate Procedure Execution
3.4.2.23 SENDVAR - Send Message to Another Job
3.4.2.24 STOP - Terminate All Procedure Levels
3.4.2.25 SUBCMD/END-SUBCMD - Subcommand Definintion
3.4.2.26 SWITCH - Set switch bits
3.4.2.27 WPT - Window Programming Tools
3.4.2.28 WRITE - Write a String to the Standard Output Device
3.5 TCL Errors and Exception Handling
3.5.1 _ONFAIL Exception Handling
3.5.2 $SFI Success Indication and $SKEY Status
3.5.3 Error Handling Examples
3.5.4 Suppressing Messages in TCL

SECTION 4 - MENU DEFINITION

4.1 Menu Definition
4.2 Menu Definition Directives
4.3 Use of the .COMMAND MDF Directive
4.4 MDF/HLP Text String Substitution
4.5 Notes on Menu Processng
4.6 Personalized Menu Trees
4.7 Submission of Batch or Async Jobs From Menu Mode
4.8 Captive Menu

SECTION 5 - GLOSSARY

APPENDIX A - HOST-DEPENDENT PROGRAMMING NOTES

A.1 UNIX
A.1.1 Directory Names
A.1.2 Library Files
A.1.3 INCLUDE Files
A.1.4 Compiling And Linking Application Programs
A.1.5 Debugger
A.1.6 Batch Implementation
A.1.7 Job And Lob File Naming Conflicts With Batch/Async
A.1.8 Other UNIX Limitations
A.2 VAX/VMS
A.2.1 Logical Names
A.2.2 INCLUDE Files
A.2.3 Linking With The TAE Subroutine Library
A.2.4 File Types Reserved by TAE
A.2.5 Event Flag Usage
A.2.6 Terminal Type Determination
A.2.7 Application Program Environment
A.2.7.1 SYS$INPUT For Application Processes
A.2.7.2 Debugging ASYNC-PROCESS Jobs under VMS
A.2.7.3 Output Produced by Batch Jobs
A.2.8 Considerations in Using the DCL Command
A.2.9 Host Error Codes

LIST OF TABLES

3-1 TCL Intrinsic Commands
3-2 Summary of Special Character Use in TCL
3-3 Operator Precedence Order

LIST OF FIGURES

2-1 Sample Process PDF
2-2 Sample Procedure PDF
2-3 Help File for Proc in Figure 2-2
4-1 Sample Menu Definition File
4-2 Menu Displayed Using MDF in Figure 4-1