ceebldtx — Transform message source files into assembler source files

Format

ceebldtx

[-C csect_name][-I secondary_file_name]
[-P] [-S] [-c class] [-d APOST | ' | QUOTE | "]
[-l BAL | C | COBOL | FORTRAN | PLI] [-s id]
in_file out_file

Restriction: The ceebldtx utility only works with z/OS® UNIX files; MVS™ data sets are not applicable.

Description

The ceebldtx utility creates several files from the message source file. It creates an assembler source file, which can be assembled into an object (text) file and link-edited into a module in an MVS load library. When the name of the module is placed in a message module table, the Language Environment® message services can dynamically access the messages. See Creating a Message Module Table in the Language Environment Programming Guide for more information about creating a message module table.

The ceebldtx utility optionally creates secondary input files (COPY or INCLUDE), which contain declarations for the condition tokens associated with each message in the message source file. When a program uses the secondary input file, the condition tokens can then be used to reference the messages from the message table. The :msgname. tag indicates the symbolic name of the condition token.

See the topic on Using and Handling Messages in z/OS Language Environment Programming Guide for a description of creating message source files and other corresponding information.

Operands

in_file
The name of the file containing the message source.
out_file
The name of the resulting assembler source file containing the messages, inserts, and others items, suitable for input into the High Level Assembler. An extension of ".s" is assumed if none is present.

Options

-C csect_name
This option is used to explicitly specify the CSECT name. An uppercase version of the CSECT name will be used. By default, the CSECT name is the output file base name.
-I secondary_file_name
The -I (uppercase i) option provides the name of the secondary input file generated for the language specified with the -l (lowercase L) option. If no suffix is present in the secondary_file_name specified, the extension will be ".h" for C, ".fortran" for Fortran, and ".copy" for all others.
-P
This option is used to save previous prologs, if files being generated exist in the directory and contain prologs. By default, previous prologs are not reused.
-S
This option is used to indicate sequence numbers should be generated in the files produced. By default, no sequence numbers are generated.
-c class
This option is used to specify the default value for :msgclass. in cases where the tag is not coded.
-d APOST | ' | QUOTE | "
This option is used to specify which COBOL delimiter to use and is used in combination with the -l (lowercase L) COBOL option. By default, APOST is used as the delimiter.
Tip: Quotation marks should be escaped in order to prevent them from being treated as shell metacharacters, for example:
ceebldtx -l COBOL -I secondary_file_name -d \' in_file out_file 
ceebldtx -l COBOL -I secondary_file_name -d \" in_file out_file 
ceebldtx -l COBOL -I secondary_file_name -d QUOTE in_file out_file
-l BAL | C | COBOL | FORTRAN | PLI
The -l (lowercase L) option is used to specify the language to be used in generating a secondary input file and is used in combination with the I secondary_file_name option. The file will contain declarations for the condition tokens associated with each message in the message source file. The language is accepted in lowercase and uppercase. C370 is also supported.
-s id
This option is used to specify the default value for :msgsubid. in cases where the tag is not coded.

Examples

ceebldtx -l PLI -I exmplcop example exmplasm
Where the in_file is example, the out_file is exmplasm.s, and the PL/I secondary_file_name is exmplcop.copy.
After the out_file is generated, the High Level Assembler can be used to assemble the out_file into an object file
as exmplasm.s
and the binder can be used to link-edit it into an MVS load library:
ld -o "//mylib(exmplasm)" -e// -u//exmplasm exmplasm.o
Rule: A CSECT name greater than 8 characters requires the use of the High Level Assemble GOFF option for assembling the primary output file.

Exit values

-1
Rexx terminated execution due to lack of storage. (See IRX0005I in z/OS TSO/E Messages.)

Attempt one of the following options:

  1. Increase the virtual storage space available on the system.
  2. Split up the script in_file, into two or more files, and adjust the Message Module Table for the corresponding split.
0
Successful completion.
5
Error reading file ssssssss.
6
Error erasing file ssssssss.
7
Error writing file ssssssss.
8
Bad file name ssssssss: forward slash not allowed at the end of a file name.
9
Option x requires an argument.
10
Invalid option = x. Valid options are: CIPScdls.
11
Bad data set name ssssssss.
20
CSECT name ssssssss is greater than 63 characters.
21
CSECT name ssssssss does not begin with a letter, $, #, @ or underscore (_).
28
ssssssss SCRIPT not found on any accessed disk.
40
Error on line nnn in message nnnn. Insert number greater than mmmm.
44
Error on line nnn. Duplicate: FACID. tags found with the given script file.
48
No :FACID. tag found within the given script file.
52
Error on line nnn. Message number nnnn found out of range mmmm to mmmm.
56
Number of hexadecimal digits not divisible by 2 on line nnn in message nnnn.
60
Invalid hexadecimal digits on line nnn in message nnnn.
64
Number of DBCS bytes not divisible by 2 on line nnn in message nnnn.
68
PLAS out_file name must be longer than the message facility ID pppp.
72
Message facility ID pppp on line nnn was longer than 4 characters.
76
Message class on line nnn was not a valid message class type: IWESCFA.
80
Tag not recognized on line nnn.
84
The first tag was not a :FACID. tag on line nnn.
88
Unexpected tag found on line nnn.
92
Duplicate tags ttt found on line nnn.
96
No :MSGNO. tags found within the given SCRIPT file.
98
No :MSGCLASS. (or :MSGCL.) tag found for message nnnn.
100
Insert number was not provided or was less than 1 on line nnn.
104
Message subid was out of the range mmmm to mmmm on line nnn.
108
Existing secondary file, ssssssss, found, but not on A-disk.
112
The current ADDRESS environment not CMS, TSO/E, or z/OS UNIX.
nnn
Undefined error number nnn issued. Contact your service representative.