Prefix Characters & Data
Prefix | Purpose |
# | open workfile whose name is left-justified in column 3. |
@ | syntax error, location and message, in last file opened: |
> | open of $include workfile, with name of new input file starting in column 3 (or use “#” if you prefer). |
< | close of $include file, with name of prior input file starting in column 3 (or use “#”). The “>” and “<” instead of “#” do not have any deep meaning: they only improve readability of the file. |
@ Syntax Error Record
The “@” error record must be preceded by a record that opens the file containing the error. This can be either a “#”, “>”, or “<” record.
Column | Content |
1: | @ |
2: | Blank |
3-10: | Sequence number |
11: | Blank |
12-end: | error message or, optionally, |
12-15: | (##) column number of error, 1 = first column |
16: | blank |
17-end: | error message |
The sequence number can be the full 8 digits that would appear in the last 8 columns of the Keep file (or 6 digits that would appear in the first 6 columns of a COBOL file). For unnumbered files, the sequence number would appear as either of the following:
- 1-based record number, up to 5 digits, followed by “000″ (first record is “00001000″), or
- “R#” followed by 1-based record number and spaces (first record is “R#1 “).
Here is a sample error file with two compile errors:
# ERRFILE.BOB.GREEN # cstdio.pub.tym # ERRFILE.BOB.GREEN # INCFILE.BOB.GREEN @ 00002000 Identifier expected. # ERRFILE.BOB.GREEN @ 00012000 Undeclared identifier "k".
Here is another errors file, with column numbers:
# errfile.bob.green @ 00005000 (11) Identifier "dddd" not defined. @ 00009000 (23) Type Incompatibility for assignment. @ 00012000 (11) Missing ":" or undeclared identifier. @ 00014000 ( 7) Label referenced but not found: fast