I'm trying to feed my legacy IBM mainframe code to GnuCOBOL and it's just giving tons of syntax errors. Any ideas how to fix? I tried using each of -std=cobol85
, -std=ibm
and -std=mf
but none of that changes the errors. Here is part of the code:
00001 IDENTIFICATION DIVISION. 08/21/03
00002 PROGRAM-ID. DH06D41J. DH06D41J
00003 AUTHOR. XXXX XXXXX-ORIGINAL,XXXXXX XXXXXX,AND XXXXX XXXX. LV022
00004 ********************************************************** DH06D41J
00005 *REMARKS. THIS PROCEDURE FORMATS THE NAME FIELD. DH06D41J
00006 * INPUT FIELD LENGTH AND NAME FIELD. DH06D41J
00007 ************************************************************ DH06D41J
00008 * * DH06D41J
00009 * * DH06D41J
00010 * * DH06D41J
00011 * -----------+-------------+------------------------------ * DH06D41J
00012 * | | * DH06D41J
00013 * 08/25/2003 | XXXX XXXXXXX| CHANGE BACKSLASH (\) TO SPACE * DH06D41J
00014 * | | IN LN DATA (DE892) * DH06D41J
00015 * | | * DH06D41J
00016 * 07/31/2003 | XXXX XXXXXXX| ADD 'ZCCL' TO VALID-DATA4 * DH06D41J
00017 * | | (RE: DEFECT DE880) * DH06D41J
00018 * | | * DH06D41J
00019 * 02/09/2001 | XXXXX XXXXX | RECOMPILE * DH06D41J
00020 * | | * DH06D41J
00021 * 05/09/2000 | XXXXX XXXXX | WR E911-00-05 STOP FORMATING * DH06D41J
00022 * | | THE NAME WHEN '--' IS FOUND. * DH06D41J
00023 * | | * DH06D41J
00024 * | | * DH06D41J
00025 * * DH06D41J
00026 ************************************************************ DH06D41J
00027 ENVIRONMENT DIVISION. DH06D41J
00028 DATA DIVISION. DH06D41J
00029 WORKING-STORAGE SECTION. DH06D41J
Here are the errors:
DH06D41J.cbl:1: warning: PROGRAM-ID header missing - assumed
DH06D41J.cbl:1: warning: PROCEDURE DIVISION header missing - assumed
DH06D41J.cbl:1: error: syntax error, unexpected Literal
DH06D41J.cbl:1: error: unknown statement '08'
DH06D41J.cbl:2: error: syntax error, unexpected Literal
DH06D41J.cbl:2: error: unknown statement 'DH06D41J'
DH06D41J.cbl:3: error: 'AUTHOR' is a reserved word, but isn't supported
DH06D41J.cbl:3: error: unknown statement 'XXXX'
DH06D41J.cbl:3: error: unknown statement 'LV022'
DH06D41J.cbl:5: error: unknown statement 'THIS'
DH06D41J.cbl:5: error: unknown statement 'DH06D41J'
DH06D41J.cbl:6: error: unknown statement 'DH06D41J'
DH06D41J.cbl:12: error: invalid symbol '|' - skipping word
DH06D41J.cbl:12: error: invalid symbol '|' - skipping word
DH06D41J.cbl:13: error: invalid symbol '|' - skipping word
DH06D41J.cbl:13: error: invalid symbol '|' - skipping word
DH06D41J.cbl:13: error: invalid symbol '\' - skipping word
DH06D41J.cbl:14: error: invalid symbol '|' - skipping word
DH06D41J.cbl:14: error: invalid symbol '|' - skipping word
DH06D41J.cbl:15: error: invalid symbol '|' - skipping word
DH06D41J.cbl:15: error: invalid symbol '|' - skipping word
DH06D41J.cbl:16: error: invalid symbol '|' - skipping word
DH06D41J.cbl:16: error: invalid symbol '|' - skipping word
DH06D41J.cbl:16: error: 'VALID-DATA4' is not defined
DH06D41J.cbl:16: error: '"ZCCL"' is not a numeric value
DH06D41J.cbl:16: error: syntax error, unexpected *
I figured it out - I was passing the -free option, which can't be used for fixed-formatted input lines!