home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 18 REXX
/
18-REXX.zip
/
TJDMACS.ZIP
/
TJDMACS.DOC
< prev
next >
Wrap
Text File
|
1991-07-12
|
10KB
|
270 lines
TJDMacs version 1.0
An OS/2 REXX enhancement package.
Copyright (C) TJD Software 1991. All rights reserved.
SHAREWARE
---------
TJDMacs is NOT public domain or free software. It is copyrighted
material and may not be sold, used or distributed except as detailed
below.
TJDMacs is distributed as SHAREWARE. Users are permitted to use
TJDMacs for a limited trial period of two weeks. Use of TJDMacs
after this period requires registration.
In order to register TJDMacs you must contribute £30.00 (UK), $45.00
(US) or $50.00 (CAD). You may make payment in other currencies
provided that the amount is equivalent to 50 pounds Sterling and that
the cheque is cashable by a British bank.
Please make cheques payable to TJD Software and send your
payment to the following address:
TJD Software,
PO Box 61,
Keighley,
West Yorkshire,
BD20 5DY
United Kingdom.
TJDMacs may only be used on one computer at a time. TJDMacs may be
copied only for the purposes of backup and of allowing other users to
try TJDMacs. No fee may be charged for the software. The package may
be distributed ONLY in the form supplied by TJD Software or in the
form of an archive containing ALL of the files from the original
distribution file.
TJD Software does not guarantee that TJDMacs will work without
problems. TJD Software will not be liable for ANY damage that may
arise from the use of TJDMacs. You are using TJDMacs completely at
your OWN risk. We, however, are using TJDMacs on our machines all of
the time and find it to be reliable. Please report any problems that
you find with TJDMacs to us and we will try to solve them.
Operators (SYSOPs) of Bulletin Board Systems may post copies of
TJDMacs on their Bulletin-Board systems for downloading by their
users. They may NOT charge a fee for TJDMacs.
Volume discounts and site licenses are available, please write to us
to receive more information on this subject.
----------------------------------------------------------------------
What it is.
TJDMacs is an enhancement package for users of the OS/2 REXX
language. It provides THREE significant enhancements:
1. Significant performance improvements.
2. Distribution of programs in a form that disallows
changes to be made by end-users.
3. Centralised control of your REXX programs.
TJDMacs allows you to build libraries of external REXX functions
that are very quickly accessed by the REXX interpreter. In some cases
you may see a five-fold improvement in performance when compared to
external functions held on disk. This is an extreme example of course
but you can reasonably expect a doubling of performance if you use
many small external functions.
TJDMacs also allows you to distribute external functions in
tokenised form which means that the 'normal' end-user will NOT be
able to modify the source because it's not available! This is ideal
in situations where REXX is a suitable language but, otherwise
unavailable, central control is required. By storing your function
packages on a LAN server they will be available to your users in a
controllable form which can be modified at will.
In addition to the three main enhancements discussed above you will
also find it easier to split REXX development between suitably
qualified teams if you use TJDMacs due to the fact that each team can
work on seperate macro libraries.
If you store your REXX external functions on a LAN server TJDMacs
can significantly reduce the amount of network traffic on busy
systems.
What it requires.
TJDMacs requires the OS/2 version of the REXX language. At the time
of writing, REXX is supported by OS/2 version 1.2 Extended Edition
and all versions of OS/2 1.3. TJDMacs has not been tested under OS/2
1.2 however.
Package contents.
The distribution archive should contain the following files:
TJDMACS.DOC This file.
MACADD.EXE Program to add functions to the macro space.
MACDEL.EXE Program to erase the macro space.
MACLOAD.EXE Program to load the macro space from disk.
MACSAVE.EXE Program to save the macro space to disk.
TJDMDEMO.CMD Demonstration of TJDMacs written in REXX. Run
this program to get an idea of the
performance benefits that the package
provides.
*.CMD Various REXX functions used by the demonstration.
The REXX Macro Space.
The macro space is an in-memory library of REXX external functions.
These functions can, of course, be accessed much more quickly than
functions held on your hard disk. This is especially true if your
disk is slow and/or the PATH search is a long one. Functions in the
macro space are held in a tokenised form that is unsuitable for
editing. This tokenised form is the same as the command file EXTENDED
ATTRIBUTE (OS/2 1.3) and the information stored after the end-of-file
mark (Hexadecimal 1A) of REXX programs under OS/2 1.2. After the
system is booted the macro space is empty and can only be added to by
explictly requesting REXX to load functions into it.
Building a macro space.
Using the various utilities in the TJDMacs package you can create,
save, erase and load the REXX macro space. Careful choice of
packaging allows you to create libraries that are of most benefit to
yourself, particular users or the general user community. For
example, your accounts department are likely to require a different
function library than your help desk. TJDMacs allows you to load
several different libraries into the macro space to achieve the best
balance of performance and memory usage.
The utilities.
MACADD.EXE This program loads individual functions from disk
into the REXX macro space. Usage is:
MACADD Source[.CMD] Function_name Order
Source is the name of the file that contains the
function that you wish to load into the macro space.
The default extension is '.CMD'. If the ADD fails,
MACADD will supply the default extension for you and
retry the operation.
Function_name is the name that you wish to use when
calling the function from the macro space. This name
need not be the same as the base name of the source
file. The name MUST be a valid name for an external
function.
Order specifies where in the SEARCH order you wish to
place the function. You may specify BEFORE or AFTER.
Only the first character ('B' or 'A') is significant.
Specifying BEFORE causes REXX to locate the function
after checking for a local label or a built-in
function but before looking for the function on disk.
Using BEFORE can result in significant performance
gains for often-used functions.
Specifying AFTER causes REXX to locate the macro
space function after all other attempts to
locate it have failed (label, built-in function, disk
file). AFTER will not result in any performance gains
but it will allow functions held on disk to override
functions held in the macro space. In other words, it
allows you to provide 'default' functions that
execute only if a function cannot be found elsewhere.
EXAMPLE:
MACADD Fn.CMD FN B
This loads FN.CMD into the macro space as function FN
and places it early in the search order.
MACDEL.EXE This program erases the ENTIRE macro space. You
should excercise EXTREME CAUTION when using this
utility as REXX does NOT check to see if any of the
functions in the macro space are in use. MACDEL takes
no arguments. Usage is:
MACDEL
MACSAVE.EXE This program saves the entire REXX macro space to a
named file. Usage is:
MACSAVE <Filename>
<Filename> is the optional name of the file to which
you want the macro space written. If you don't
provide a file name MACSAVE will use the name
"TJDMAC.RMC".
EXAMPLE:
MACSAVE ACCOUNTS.MAC
This saves the REXX macro space to a file called
ACCOUNTS.MAC in the current directory.
MACLOAD.EXE This program loads the REXX macro space from a file
that was created using MACSAVE.EXE. Note that if a
function exists in the macro space which has the same
name as a function in the load file, the entire load
will fail. Usage is:
MACLOAD <Filename>
<Filename> is the optional name of the which
will be loaded into the REXX macro space. If you don't
provide a file name MACLOAD will use the name
"TJDMAC.RMC".
EXAMPLE:
MACLOAD ACCOUNTS.MAC
This loads the REXX macro space from a file called
ACCOUNTS.MAC in the current directory.
Support.
All of TJD Software's products are supported to the best of our
ability. We have sought (and gained) permission from Chuck Gilmore of
Gilmore Systems of Southern California to allow us to mention his BBS
as a source of support.
TJD Software run TWO Magnum boards (one in the UK and one in
Holland) that may also be contacted for support. If you use the TJD
boards for support, please address your comments to the SYSOP. On the
Gilmore Systems' BBS, please contact PHIL D TUCK (user /295).
The BBS numbers are:
TJD Support (UK): +44 535 665345 (HST DS) (24 hours) 2 Lines.
TJD Support (NL): +31 1720 38558 (HST DS) (24 Hours) 1 Line.
Gilmore Systems' (USA): +1 818 706 9805 (HST DS) (24 hours) 3 Lines.
And Finally ......
The success of this product (and of all other ShareWare products)
lies in your hands. If you use the product you should contribute
towards the development costs. Please remember that the aim of
shareware is to provide software of commercial grade whilst keeping
the price well below that of commercial software.
TJD Software.