[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Command line switches
You can prefix command line switches with either a slash or a
dash (/ or -). Switches and qualifiers can be either lower or
upper case. Rescue5 accepts switches either as the first
parameter on the command line (immediately after the word
Rescue5), or as the last (immediately after the .EXE file name
to decompile), or in both positions.
You can also combine switches, provided directory names are
separated by a space from switches that follow them.
The following command lines are all equivalent:
rescue /g /ts2 anapp.exe /klplo\source /mh
rescue anapp /g /ts2 /kl /pl /o\source /mh
rescue -GTs2KlPlMhO\source anapp
Rescue5 also supports the definition of an MS-DOS environment
variable:
set RESCUE=<command line switches>
For example:
set RESCUE=/gts2klplmhi\rescue5\udt
You can use the environment variable and MS-DOS command line
switches in combination. Rescue5 reads the environment
variable first followed by the command line. Where switches
are defined more than once, the latter switch takes effect with
the result that command line switches may override environment
switches.
Command line switches that control formatting
/g Convert graphics to chr()'s
By default, Rescue5 outputs graphic characters (printable
characters over ASCII code 127 and under 32) as character
strings. Use the /g switch to force Rescue5 to output calls
to the chr() function instead. This feature is useful if you
need to process the code in software that does not support
the upper ASCII characters (such as some word processors).
/kl Output key words in lower case
/kp Output key words in proper case
/ku Output key words in upper case
/k allows you to change the case of CA-Clipper key words from
the Rescue5 default of upper case. /kp will cause key words
to be given an initial upper case letter with the rest of the
word in lower case.
/mh Assume memvars are hungarian
/ml Output memvars in lower case
/mp Output memvars in proper case
/mu Output memvars in upper case
/m allows you to change the case of public, private and auto
(undeclared) memory variables from the default of upper case.
/m also determines the case of local and static variable
names recovered from code linked with the CA-Clipper /b
switch (it has no effect on Rescue5 generated local and
static variable names, which are always output in the format
they are specified in the <.EXE name>.VAR file).
/mh causes Rescue5 to assume hungarian notation and make the
initial character of the memvar name lower case, the second
character upper case, then all subsequent characters lower
case.
/pl Output procedures in lower case
/pp Output procedures in proper case
/pu Output procedures in upper case
/p allows you to change the case of all procedure, function
and class method names from the default of upper case.
Rescue5 treats class instance variables as methods for
formatting purposes.
/r<n> Right margin setting
The right margin setting is the column at which Rescue5
inserts a semicolon and carriage return/line feed. The
margin defaults to 74. /r0 disables line splitting
altogether.
Literal strings are not split by Rescue5; it is possible for
a string to exceed the specified right margin.
/s<n> Size in lines for LIB grouping
Rescue5 decides which procedures to group in LIB.UDF, based
on number of lines of code. Procedures that exceed this
threshold are recovered into separate files, named after the
procedure concerned. The default threshold is 30 lines,
setting it to 0, for example, will cause every non-static
procedure to be given its own file; 65535 would cause every
procedure to be written into LIB.UDF.
Note that threshold size has no effect on procedures that are
grouped together because of static interdependency. These
will always be grouped into the same file (see the section on
the decompilation process).
/ts<n> Tabstop (space) mode
Following common practice, Rescue5 indents flow control
structures cumulatively, each level of nesting being indented
more deeply than the previous level.
By default, Rescue5 uses 3 spaces for each level of flow
control indentation, equivalent to /ts3. You can adjust
indenting to suit the configuration of your editor.
/tt<n> Tab mode
In tab mode a single tab is used as the indent character.
<n> is the size of tabstop (i.e. equivalent number of spaces)
used by Rescue5 in calculating where to split lines that
exceed the /r setting. For example, /tt2 inserts a single
tab for each level of indent, but Rescue5 treats each tab as
if it were two spaces for the purpose of splitting long
lines.
Other command line switches
/1 Force Pass 1 behaviour
/1 causes Rescue5 to ignore (and therefore recreate) existing
<.EXE name>.VAR and <.EXE name>.GRP files. This has the same
effect as deleting the files created from the first pass and
running Rescue5 again.
/c Change grouped code generation strategy
Code grouping is the placing of a comma-separated list of
expressions within parentheses:
cName := (cust->(dbsetorder(2), dbseek('123')), cust->name)
The expressions are evaluated from left to right, the
result of the entire group being the value of the last
expression.
It is possible (although very unusual) for Rescue not to group
code that was originally grouped. The /c switch forces Rescue5
to try to group ambiguous code, eliminating errors introduced by
the default grouping strategy.
/c should be used with caution, since it can introduce other problems
by causing Rescue to attempt to group code that was not originally
grouped.
You should only use /c if you encounter a code generation error.
/h Help
/h displays the valid command line switches.
/i<dir> Include directory for user defined type files
Files 'included' in a user defined type file with the @
command are searched for as follows:
. the current directory is searched first
. a directory specified with the /i switch is searched second
. a directory specified with the /o switch is searched third
. the directory rescue.exe is in is searched last
Unless a path is specified in which case the path supplied is
searched alone.
For example, the command @mytypes.udt will cause Rescue5 to
look for the file mytypes.udt in the current directory first,
then the /i directory if one is set, then the /o directory if
one is set and finally the directory that rescue.exe was
started from. The first copy found will be the one included.
If the command @\rescue\types\mytypes.udt was used instead,
then RESCUE5 would only look in the directory \rescue\types
and nowhere else.
/n No pause
Unless you use the /q switch Rescue5 will wait for a key
stroke after completing the decompilation. /n causes Rescue5
to return to the MS-DOS prompt immediately.
/o<dir> Output directory
By default, Rescue5 writes recovered code into the current
directory. If you specify a new output directory it must
already exist.
/q Quiet mode (no screen i/o)
In quiet mode Rescue5 displays a rotating triangle,
suppressing all other screen output. Since screen i/o takes
time, decompilation will be slightly faster with /q.
/u<file> User defined type file
By default, Rescue5 reads variable base names from the file
called VARIABLE.UDT. The /u switch can be used to force
Rescue5 to use the specified file instead.
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson