PDL (Public Definition Language) is a separate program that performs the
same function as the Public Definition Language (PDL) emitter used with
the SOM Compiler. That emitter generates a copy of an .IDL file that has
had the portions designated as private removed. The file generated is the
same as the .IDL file from which it is produced, except that it removes
all items within the .IDL file that are marked as "private." An item is
marked as private by surrounding it with #ifdef __PRIVATE__ and #endif
directives. Thus, the PDL emitter can be used to generate a "public"
version of an .IDL file. (Generally, client programs will need only the
"public" methods and attributes.)
The PDL program can be invoked independently of the SOM Compiler. In addition,
the PDL program can remove any kind of items in the .IDL file that are preceded
by a user-specified #ifdef directive and followed by an #endif
directive.
The PDL program is invoked as follows:
PDL [-c] [-d] [-f] [-h] [-s] [-/] files
where:
- c cmd
Specifies that, for each .IDL file,
the PDL program is to run the specified system command. This command can
contain a single occurrence of the string %s, which will be replaced
with the source file name before the command is executed. For example, the
option -c sc -sh %s has the same effect as issuing the SC command
with the -sh option.
-d dir
Specifies
a directory in which the output files are to be placed. (The output files
are given the same name as the input files). If no directory is specified,
the output files are named <fileStem>.PDL (where fileStem
is the file stem of the input file) and are placed in the current working
directory.
-h
Requests this
description of the PDL command syntax and options.
-f
Specifies that output files are to replace existing
files with the same name, even if the existing files are read-only. By default,
files are replaced only if they have write access.
-s
smemit
Specifies the SMEMIT variable with
which the PDL program is to invoke the SOM Compiler.
-/
<string>
Specifies the #ifdef pattern
for which the PDL program will strip out .IDL statements. The default value
is #ifdef __PRIVATE__.
files
Specifies
one or more .IDL files whose specified #ifdef sections are to be
removed. File names must be completely specified (with the .IDL extension).
If no #ifdef directive is specified (by including a -/<string>
option), the #ifdef __PRIVATE__ sections will be removed by default.
Selected options can be specified individually, as a string of option characters,
or as a combination of both. Any option that takes an argument either must
be specified individually or must appear as the final option in a string
of option characters.
[Back]
[Next]