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  

Prefix Characters & Data