Index

Symbols

" (double quotation mark), Variables, Constants, and Literal Strings
' (single quotation mark), Variables, Constants, and Literal Strings
, (comma), Writing Your Program
. (period), Variables, Constants, and Literal Strings
.NIL object, The NIL Object (.nil)
\ (backslash), Program Control
~ (tilde, or twiddle), From Traditional Rexx to Object Rexx, How Objects Interact

A

abstract classes, definition, Abstract Classes
access to variables, prioritizing, Prioritizing Access to Variables
acquisition, Classes and Instances
activities, Inter-Object Concurrency
ADDRESS instruction, Commands, ADDRESS Instruction
addressing environments by name, ADDRESS Instruction
apartment-threading and Windows Scripting Host, Windows Scripting Host Interface
application environments, Subcommand Processing
application programming interfaces
exit handler, System Exit Interface
exit interface, System Exit Interface
RexxDeregisterExit, RexxDeregisterExit
RexxQueryExit, RexxQueryExit
RexxRegisterExitDll, RexxRegisterExitDll
RexxRegisterExitExe, RexxRegisterExitExe
external function interface, External Function Interface
RexxDeregisterFunction, RexxDeregisterFunction
RexxQueryFunction, RexxQueryFunction
RexxRegisterFunctionDll, RexxRegisterFunctionDll
RexxRegisterFunctionExe, RexxRegisterFunctionExe
halt and trace interface, Halt and Trace Interface
RexxResetTrace, RexxResetTrace
RexxSetHalt, RexxSetHalt
RexxSetTrace, RexxSetTrace
handler definitions, Registering Subcommand Handlers
handler interface
subcommand handler, Creating Subcommand Handlers
invoking the Rexx interpreter, Calling the Rexx Interpreter
RexxDidRexxTerminate, The RexxDidRexxTerminate Function
RexxStart, The RexxStart Function
RexxWaitForTermination, The RexxWaitForTermination Function
macrospace interface, Macrospace Interface
RexxAddMacro, RexxAddMacro
RexxClearMacroSpace, RexxClearMacroSpace
RexxDropMacro, RexxDropMacro
RexxLoadMacroSpace, RexxLoadMacroSpace
RexxQueryMacro, RexxQueryMacro
RexxReorderMacro, RexxReorderMacro
RexxSaveMacroSpace, RexxSaveMacroSpace
queue interface, Queue Interface
RexxAddQueue, RexxAddQueue
RexxCreateQueue, RexxCreateQueue
RexxDeleteQueue, RexxDeleteQueue
RexxPullQueue, RexxPullQueue
RexxQueryQueue, RexxQueryQueue
RXSTRING data structure, RXSTRINGs
RXSTRING, RXSTRINGs
RXSYSEXIT, Parameters, Identifying Exit Handlers to Rexx
SHVBLOCK, Parameters
RXSYSEXIT data structure, Parameters
SHVBLOCK, Parameters
subcommand interface, Subcommand Interface
RexxDeregisterSubcom, RexxDeregisterSubcom
RexxQuerySubcom, RexxQuerySubcom
RexxRegisterSubcomDll, RexxRegisterSubcomDll
RexxRegisterSubcomExe, RexxRegisterSubcomExe
system memory interface, Dynamically Allocating and De-allocating Memory
RexxAllocateMemory, The RexxAllocateMemory() Function
RexxFreeMemory, The RexxFreeMemory() Function
variable pool interface, Variable Pool Interface
RexxVariablePool, RexxVariablePool
ARG instruction, Assignments
arrays, reading streams into, Reading a Text File into an Array
assignments, Assignments

B

backslash (\), Program Control
binary files
closing, Closing Files
direct acess, Direct File Access
querying existence, Checking for the Existence of a File
querying other information, Getting Other Information about a File
reading, Reading Text Files a Character at a Time
writing, Writing Binary Files
built-in objects, Public, Local, and Built-In Environment Objects, Built-In Environment Objects

C

CALL command, Windows, Issuing a Command to Call a .CMD File
CALL instruction, Subroutines and Procedures, Issuing a Command to Call a .CMD File, Trapping Command Errors
calling .CMD files, Issuing a Command to Call a .CMD File
calling the Rexx interpreter, Calling the Rexx Interpreter
changing the search order for methods, Changing the Search Order for Methods
checking for the existence of a file, Checking for the Existence of a File
class methods, A Closer Look at Objects
class scope, Determining the Scope of Methods and Variables
classes, A Classic Language Gets Classier
abstract, Abstract Classes
Alarm class, The Basics of Classes
Class class, The Basics of Classes
collection classes, The Basics of Classes
creating with directives, What Are Directives?
creating with messages, Creating Classes Using Messages
definition, Classes and Instances
Message class, The Basics of Classes, The Message Class
metaclass, Metaclasses
mixin, Mixin Classes
Monitor class, The Basics of Classes, The Monitor Class
object, Object Classes
provided by Rexx, The Basics of Classes, Rexx Classes: The Big Picture
Stem class, The Basics of Classes, The Stem Class
Stream class, The Basics of Classes, The Stream Class
String class, The Basics of Classes, The String Class
subclasses, Subclasses, Superclasses, and Inheritance
superclasses, Subclasses, Superclasses, and Inheritance
Supplier class, The Basics of Classes, The Supplier Class
clauses
and instructions, Elements of Rexx
definition, Elements of Rexx
separating, Writing Your Program
spanning more than one line, Writing Your Program
using object in, Using Objects in Rexx Clauses
closing files, Closing Files
CMD files, calling, Issuing a Command to Call a .CMD File
collection classes, The Basics of Classes
COM interfaces for Windows Scripting Host, COM Interfaces
comma (,), Writing Your Program
commands, Commands
Common Public License, Common Public License Version 1.0
concurrency, Concurrency
concurrency and Windows Scripting Host, Concurrency
CONDITION built-in function, Trapping Command Errors
condition traps, Trapping Command Errors
continuing a clause, Writing Your Program
counting words in a file, Reading a Text File
CPL, Common Public License Version 1.0
creating classes, What Are Directives?, Creating Classes Using Messages

D

data
abstraction, Data Abstraction
encapsulation, Modeling Objects
modularizing, Modularizing Data
default search order for methods, The Default Search Order for Selecting a Method
devices, sending information to, Using Windows Devices
direct file access, Direct File Access
directives, The Directives Rexx Provides
::CLASS, The ::CLASS Directive
::METHOD, The ::METHOD Directive
::REQUIRES, The ::REQUIRES Directive, Returning String Data Using STRING
::REQUIRES example, The ::REQUIRES Directive
::ROUTINE, The ::ROUTINE Directive
creating classes with, Creating Your Own Classes Using Directives
definition, What Are Directives?
order of processing, How Directives Are Processed
sample program, A Sample Program Using Directives, Another Sample Program, Returning String Data Using STRING
DO instruction, Program Control
double quotation mark ("), Variables, Constants, and Literal Strings

E

echoing commands, Command Echo
encapsulation of data, Modeling Objects
environment for scriptable applications, Commands
Environment objects, The Public Environment Object (.environment)
ERROR condition, Instructions and Conditions
example Rexx programs, included, Sample Rexx Programs
EXIT instruction, Running a Rexx Program
exits, System Exit Interface
EXPOSE instruction, A Sample Program Using Directives, Returning String Data Using STRING, Determining the Scope of Methods and Variables
EXPOSE keyword, Subroutines and Procedures
external command exit, RXCMD
external function exit, RXFNC
external function interface
description, External Function Interface
interface functions, External Function Interface Functions
returned results, Creating External Functions
RexxDeregisterFunction, RexxDeregisterFunction
RexxQueryFunction, RexxQueryFunction
RexxRegisterFunctionDll, RexxRegisterFunctionDll
RexxRegisterFunctionExe, RexxRegisterFunctionExe
simple function, Example
simple registration, RexxRegisterFunctionExe
writing, Creating External Functions
external HALT exit, RXHLT
external I/O exit, RXSIO
external queue exit, RXMSQ
external trace exit, RXTRC

F

FAILURE condition, Instructions and Conditions
functions
in expressions, Using Functions
nesting, Using Functions
Rexx built-in, Elements of Rexx

G

GUARD instruction, Intra-Object Concurrency

H

host command exit, RXCMD

I

I/O model, Input and Output
I/O, standard (keyboard, displays, and error streams), Using Standard I/O
IF instruction, Program Control
information hiding, Modeling Objects
inheritance, Subclasses, Superclasses, and Inheritance, The Class Class
INIT instruction, Initializing Instances Using INIT, Returning String Data Using STRING
INIT method, Another Sample Program
initialization exit, RXINI
instance methods, A Closer Look at Objects
instances, A Classic Language Gets Classier, From Traditional Rexx to Object Rexx
definition, Subclasses, Superclasses, and Inheritance
uninitializing and deleting, Uninitializing and Deleting Instances Using UNINIT
instances methods, Classes and Instances
instructions
ADDRESS, Commands, ADDRESS Instruction
ARG, Assignments
CALL, Subroutines and Procedures, Issuing a Command to Call a .CMD File, Trapping Command Errors
DO, Program Control
EXIT, Running a Rexx Program
for program control (DO, IF, SELECT ...), Program Control
IF, Program Control
ITERATE, Program Control
PARSE, Assignments
PARSE ARG, Subroutines and Procedures
PROCEDURE, Subroutines and Procedures
PULL, Running a Rexx Program, Assignments
RETURN, Subroutines and Procedures
SAY, Running a Rexx Program
SELECT, Program Control
SIGNAL ON, Trapping Command Errors
inter-object concurrency, Inter-Object Concurrency
intra-object concurrency, Intra-Object Concurrency
invoking the Rexx interpreter, Calling the Rexx Interpreter
issuing Linux/Unix commands, What Is a Rexx Program?
issuing Windows commands, What Is a Rexx Program?
ITERATE instructions, Program Control

L

License, Common Public, Common Public License Version 1.0
License, Open Object Rexx, Common Public License Version 1.0
line-end characters, Reading Text Files a Character at a Time
Linux commands, issuing, What Is a Rexx Program?
Local environment object, The Local Environment Object (.local)
local objects, Public, Local, and Built-In Environment Objects
locking a scope, Prioritizing Access to Variables

M

macros
definition, Commands
environments for, Subcommand Processing
macrospace interface
description, Macrospace Interface
RexxAddMacro, RexxAddMacro
RexxClearMacroSpace, RexxClearMacroSpace
RexxDropMacro, RexxDropMacro
RexxLoadMacroSpace, RexxLoadMacroSpace
RexxQueryMacro, RexxQueryMacro
RexxReorderMacro, RexxReorderMacro
RexxSaveMacroSpace, RexxSaveMacroSpace
MAKEARRAY method, using, Reading a Text File into an Array
message-send operator (~), From Traditional Rexx to Object Rexx, How Objects Interact
messages, A Classic Language Gets Classier, From Traditional Rexx to Object Rexx, How Objects Interact
creating classes with, Creating Classes Using Messages
metaclasses, The Class Class, Metaclasses
method names, specifying, More about Methods
methods, A Classic Language Gets Classier
definition, Methods
instance, Classes and Instances
private, Public versus Private Methods
public, Public versus Private Methods
scope, Objects with Their Own Unique Scope
search order for, The Default Search Order for Selecting a Method
selecting, The Default Search Order for Selecting a Method
mixin classes, Mixin Classes
model, stream I/O, Input and Output
modularizing data, Modularizing Data
multiple clauses on a line, Writing Your Program
multiple inheritance, Subclasses, Superclasses, and Inheritance
multithreading and Windows Scripting Host, Concurrency

N

naming variables, Variables, Constants, and Literal Strings
Notices, Notices

O

object classes, Classes and Instances, Object Classes
object variable pools, Object Variable Pools
object-oriented programming, What Is Object-Oriented Programming?
objects, A Classic Language Gets Classier, From Traditional Rexx to Object Rexx
definition, Modeling Objects
kinds of, Modeling Objects
ooRexx License, Common Public License Version 1.0
Open Object Rexx License, Common Public License Version 1.0
operators and operations, partial list of, Program Control

P

PARSE ARG instructions, Subroutines and Procedures
PARSE instruction, Assignments
period (.), Variables, Constants, and Literal Strings
polymorphism, Polymorphism
prioritizing access to variables, Prioritizing Access to Variables
private methods, Public versus Private Methods
PROCEDURE instruction, Subroutines and Procedures
procedures, Subroutines and Procedures
programs
definition, What Is a Rexx Program?
running, Running a Rexx Program
writing, Writing Your Program
programs without source, Distributing Programs without Source
public methods, Public versus Private Methods
public objects, Public, Local, and Built-In Environment Objects
PULL instruction, Running a Rexx Program, Assignments

Q

querying a file, Getting Other Information about a File
queue exit, RXMSQ
queue interface
description, Queue Interface, Halt and Trace Interface
RexxAddQueue, RexxAddQueue
RexxCreateQueue, RexxCreateQueue
RexxDeleteQueue, RexxDeleteQueue
RexxPullQueue, RexxPullQueue
RexxQueryQueue, RexxQueryQueue
RexxResetTrace, RexxResetTrace
RexxSetHalt, RexxSetHalt
RexxSetTrace, RexxSetTrace

R

RC special variable, Special Variables, Using Return Codes from Commands
reading
a text file, one character at a time, Reading Text Files a Character at a Time
binary files, Reading Binary Files
specific lines of text files, Reading Specific Lines of a Text File
streams into arrays, Reading a Text File into an Array
text files, Reading a Text File
REPLY instruction, Inter-Object Concurrency
RESULT special variable, Special Variables
return code from Windows and Linux, Using Return Codes from Commands
RETURN instruction, Subroutines and Procedures
Rexx
ADDRESS instruction, Commands, ADDRESS Instruction
and object-oriented extensions, A Classic Language Gets Classier
and Unix, Rexx and the Operating System
and Windows, Rexx and the Operating System
ARG instruction, Assignments
as a macro language, What Is a Rexx Program?
assignments, Assignments
built-in functions, Elements of Rexx
built-in objects, Public, Local, and Built-In Environment Objects
CALL instruction, Subroutines and Procedures, Issuing a Command to Call a .CMD File, Trapping Command Errors
default environment, Commands
directives, What Are Directives?
DO instruction, Program Control
EXIT instruction, Running a Rexx Program
EXPOSE instruction, Returning String Data Using STRING, Determining the Scope of Methods and Variables
features, The Main Attractions
GUARD instruction, Intra-Object Concurrency
IF instruction, Program Control
ITERATE instruction, Program Control
local objects, Public, Local, and Built-In Environment Objects
PARSE ARG instruction, Subroutines and Procedures
PARSE instruction, Assignments
PROCEDURE instruction, Subroutines and Procedures
procedures, Subroutines and Procedures
program samples, included, Sample Rexx Programs
program, definition, What Is a Rexx Program?
program, running a, Running a Rexx Program
program, writing a, Writing Your Program
public objects, Public, Local, and Built-In Environment Objects
PULL instruction, Running a Rexx Program, Assignments
REPLY instruction, Inter-Object Concurrency
RETURN instruction, Subroutines and Procedures
SAY instruction, Running a Rexx Program, Using Objects in Rexx Clauses, Returning String Data Using STRING, Returning String Data Using STRING
SELECT instruction, Program Control
SIGNAL instruction, Trapping Command Errors
subroutines, Subroutines and Procedures
traditional, From Traditional Rexx to Object Rexx, What Is a Rexx Program?
USE ARG instruction, Returning String Data Using STRING
Rexx interpreter, invoking, Calling the Rexx Interpreter
Rexx program, definition, What Is a Rexx Program?
RexxAddMacro, RexxAddMacro
RexxAddQueue, RexxAddQueue
RexxAllocateMemory, The RexxAllocateMemory() Function
REXXC utility, Distributing Programs without Source
RexxClearMacroSpace, RexxClearMacroSpace
RexxCreateQueue, RexxCreateQueue
RexxDeleteQueue, RexxDeleteQueue
RexxDeregisterExit, RexxDeregisterExit
RexxDeregisterFunction, RexxDeregisterFunction
RexxDeregisterSubcom, RexxDeregisterSubcom
RexxDidRexxTerminate, The RexxDidRexxTerminate Function
RexxDropMacro, RexxDropMacro
RexxFreeMemory, The RexxFreeMemory() Function
RexxLoadMacroSpace, RexxLoadMacroSpace
RexxPullQueue, RexxPullQueue
RexxQueryExit, RexxQueryExit
RexxQueryFunction, RexxQueryFunction
RexxQueryMacro, RexxQueryMacro
RexxQueryQueue, RexxQueryQueue
RexxQuerySubcom, RexxQuerySubcom
RexxRegisterExitDll, RexxRegisterExitDll
RexxRegisterExitExe, RexxRegisterExitExe
RexxRegisterFunctionDll, RexxRegisterFunctionDll
RexxRegisterFunctionExe, RexxRegisterFunctionExe
RexxRegisterSubcomDll, RexxRegisterSubcomDll
RexxRegisterSubcomExe, RexxRegisterSubcomExe
RexxReorderMacro, RexxReorderMacro
RexxResetTrace, RexxResetTrace
RexxSaveMacroSpace, RexxSaveMacroSpace
RexxSetHalt, RexxSetHalt
RexxSetTrace, RexxSetTrace
RexxStart, The RexxStart Function
example using, Example
exit example, Example
using exits, Parameters
using in-storage programs, Parameters
using macrospace programs, Parameters
REXXTRY procedures
developing with REXXTRY, Testing Your Program
REXXTRY program, Testing Your Program
RexxVariablePool, RexxVariablePool
RexxWaitForTermination, The RexxWaitForTermination Function
RXCMD exit, RXCMD
RXFNC exit, RXFNC
RXHLT exit, RXHLT
RXINI exit, RXINI
RXMSQ exit, RXMSQ
RXSIO exit, RXSIO
RXSTRING, RXSTRINGs
definition, RXSTRINGs
null terminated, RXSTRINGs
returning, RXSTRINGs
RXSYSEXIT data structure, Parameters
RXTER exit, RXTER
RXTRC exit, RXTRC

S

sample Rexx programs, included, Sample Rexx Programs
SAY instruction, Running a Rexx Program, Using Objects in Rexx Clauses, Returning String Data Using STRING, Returning String Data Using STRING
scope, Determining the Scope of Methods and Variables, Objects with Their Own Unique Scope
scriptable applications, Commands
search order
for environment symbols, The Default Search Order for Environment Objects
for methods, changing, Changing the Search Order for Methods, Public versus Private Methods
for methods, default, The Default Search Order for Selecting a Method
SELECT instruction, Program Control
SELF special variable, Special Variables
sending messages within an activity, Sending Messages within an Activity
session I/O exit, RXSIO
SHVBLOCK, Parameters
SIGL special variable, Special Variables, Trapping Command Errors
SIGNAL ON instruction, Trapping Command Errors
single quotation mark ('), Variables, Constants, and Literal Strings
special variable, Special Variables
splitting clauses, Writing Your Program
standard I/O (keyboard, displays, and error streams), Using Standard I/O
starting REXXTRY, Testing Your Program
stem, From Traditional Rexx to Object Rexx
stream I/O model, Input and Output
stream object, Input and Output
string, From Traditional Rexx to Object Rexx
STRING method, Using Objects in Rexx Clauses, Returning String Data Using STRING, Returning String Data Using STRING
strings, String Handling, From Traditional Rexx to Object Rexx, Running a Rexx Program, Writing Your Program, Variables, Constants, and Literal Strings, The String Class
SUBCLASS method, Returning String Data Using STRING
SUBCLASS option, A Sample Program Using Directives, Mixin Classes, Changing the Search Order for Methods
subclasses, Subclasses, Superclasses, and Inheritance
subcommand interface
definition, Creating Subcommand Handlers
description, Subcommand Interface
registering, Registering Subcommand Handlers
RexxDeregisterSubcom, RexxDeregisterSubcom
RexxQuerySubcom, RexxQuerySubcom
RexxRegisterSubcomDll, RexxRegisterSubcomDll
RexxRegisterSubcomExe, RexxRegisterSubcomExe
subcommand errors, Creating Subcommand Handlers
subcommand failures, Creating Subcommand Handlers
subcommand handler example, Example
subcommand return code, Creating Subcommand Handlers
subcommand processing, Subcommand Processing
subroutines, Subroutines and Procedures
SUPER special variable, Special Variables
superclasses, Subclasses, Superclasses, and Inheritance
symbols
.environment symbol, The Public Environment Object (.environment)
.error symbol, The Local Environment Object (.local)
.input symbol, The Local Environment Object (.local)
.line symbol, Built-In Environment Objects
.local symbol, The Local Environment Object (.local)
.methods symbol, Built-In Environment Objects
.nil symbol, The NIL Object (.nil)
.output symbol, The Local Environment Object (.local)
.rs symbol, Built-In Environment Objects
SYSEXIT interface
definition, Writing System Exit Handlers
description, System Exit Interface
exit functions, RXTER
external function exit, RXFNC
external HALT exit, RXHLT
host command exit, RXCMD
initialization exit, RXINI
queue exit, RXMSQ
registration example, Example
RexxDeregisterExit, RexxDeregisterExit
RexxQueryExit, RexxQueryExit
RexxRegisterExitDll, RexxRegisterExitDll
RexxRegisterExitExe, RexxRegisterExitExe
RXCMD exit, System Exit Definitions, RXCMD
RXFNC exit, System Exit Definitions, RXFNC
RXHLT exit, System Exit Definitions, RXHLT
RXINI exit, System Exit Definitions, RXINI
RXMSQ exit, System Exit Definitions, RXMSQ
RXSIO exit, System Exit Definitions, RXSIO
RXSYSEXIT data structure, Identifying Exit Handlers to Rexx
RXTER exit, System Exit Definitions, RXTER
RXTRC exit, System Exit Definitions, RXTRC
sample exit, Example
termination exit, RXTER
tracing exit, RXTRC

T

termination exit, RXTER
text files
closing, Closing Files
direct acess, Direct File Access
querying existence, Checking for the Existence of a File
querying other information, Getting Other Information about a File
reading, Reading a Text File
reading a character at a time, Reading Text Files a Character at a Time
reading into an array, Reading a Text File into an Array
reading specific lines, Reading Specific Lines of a Text File
writing, Writing a Text File
thread, Inter-Object Concurrency, Parameters, Parameters, RexxVariablePool Restrictions, Parameters, Parameters
tilde (~), From Traditional Rexx to Object Rexx, How Objects Interact
trapping command errors, Trapping Command Errors
traps, Using Return Codes from Commands
twiddle (~), From Traditional Rexx to Object Rexx, How Objects Interact
typeless, Typeless Variables

U

UNINIT method, Uninitializing and Deleting Instances Using UNINIT
Unix commands, issuing, What Is a Rexx Program?
UNKNOWN method, The Default Search Order for Selecting a Method, Defining an UNKNOWN Method
USE ARG instruction, A Sample Program Using Directives, Returning String Data Using STRING

V

variable pool interface
description, Variable Pool Interface
direct interface, Direct Interface
dropping a variable, Parameters
fetching next variable, Parameters
fetching private information, Parameters
fetching variables, Parameters
restrictions, RexxVariablePool Restrictions
return codes, Parameters, Parameters
returning variable names, Parameters
returning variable value, Parameters
RexxVariablePool, RexxVariablePool
RexxVariablePool example, Example
setting variables, Parameters
shared variable pool request block, Parameters
SHVBLOCK data structure, Parameters
symbolic interface, Symbolic Interface
variables
acquiring, Classes and Instances, Subclasses, Superclasses, and Inheritance
exposing, Subroutines and Procedures, A Sample Program Using Directives, Returning String Data Using STRING, Object Variable Pools
hiding, Subroutines and Procedures
in objects, Classes and Instances, Subclasses, Superclasses, and Inheritance, A Closer Look at Objects
in variable pools, Object Variable Pools
making accessible, Subroutines and Procedures
naming, Variables, Constants, and Literal Strings
special, Subroutines and Procedures, Special Variables, Changing the Search Order for Methods, Changing the Search Order for Methods

W

Windows batch (CMD) files, Rexx and Batch Files
Windows CALL command, Issuing a Command to Call a .CMD File
Windows commands, issuing, What Is a Rexx Program?
Windows Scripting Host interface, Windows Scripting Host Interface
writing
binary files, Writing Binary Files
text files, Writing a Text File