Скомпилируйте Cobol 4 с помощью компилятора Cobol 5
Мне нужно скомпилировать исходники Cobol в z/OS UNIX с помощью компилятора Cobol 4, но у меня есть только компилятор Cobol 5. Есть ли варианты ограничить Cobol 5 сборкой Cobol 4? Я использую команду cob2, которую я смонтировал на IGY520.HFS PDS моей установки Cobol в z/OS. Я искал в документации IBM, но ничего не нашел.
3 ответа
Нет. Я настоятельно рекомендую вам изучить руководство по миграции и любые презентации SHARE на тему миграции.
Наиболее распространенные проблемы, о которых сообщают, связаны с недопустимыми данными, допускаемыми более старыми компиляторами. Цитата из презентации SHARE Тома Росса, ссылка на которую приведена выше...
77 A1 PIC X(4) VALUE ’00 0’. *> x’F0F040F0’, third byte *> has x’4’ for zone bits. *> OK in PIC X, not valid in *> PIC 9 USAGE DISPLAY 77 A2 REDEFINES A1 PIC 9(4). PROCEDURE DIVISION. IF A2 = ZERO *> Compiler could do character DISPLAY ’ZERO‘ *> or numeric compare ELSE DISPLAY ’NOT ZERO‘ END-IF
Будет ли программа отображать 'ZERO' или 'NOT ZERO', зависит от параметров компилятора, которые вы используете в COBOL V4 и более ранних версиях, а также в COBOL V6
Также помните о различиях в том, как обрабатываются упакованные данные, см. Этот недавний вопрос.
Параметр компиляции NUMCHECK может помочь вам в этих ситуациях, но имейте в виду, что параметры компиляции не могут обнаружить недопустимые данные во время компиляции, они могут только генерировать код для обнаружения недопустимых данных во время выполнения.
Не то, чтобы я в курсе. Я вижу, что следующее может быть полезным.
Опции компилятора CMPR2, FLAGMIG и NOCOMPILE
Параметры COBOL CMPR2, FLAGMIG и NOCOMPILE определяют исходные операторы, которые необходимо преобразовать для компиляции в Enterprise COBOL. Параметры CMPR2 и FLAGMIG недоступны в Enterprise COBOL, но вы можете использовать свои старые компиляторы с этими параметрами, чтобы помечать операторы, которые необходимо изменить для компиляции с Enterprise COBOL.
Вариант компилятора Enterprise COBOL> V4.2 FLAGMIG4
Новая опция компилятора, FLAGMIG4, доступна с APAR PM93450 для Enterprise COBOL V4.2, чтобы помочь вам перейти на Enterprise COBOL V5 или V6. Также рекомендуется установить PTF для APAR PI12240, PI26838 и PI58762, поскольку они содержат обновления для опции FLAGMIG4. Опция FLAGMIG4 определяет языковые элементы в программах Enterprise COBOL V4, которые не поддерживаются или по-разному поддерживаются в Enterprise COBOL V5 или V6. Компилятор генерирует диагностическое сообщение с предупреждением для всех таких языковых элементов.
Программы COBOL 5 обратно совместимы с COBOL 4 (они могут вызывать друг друга), но COBOL 5 не создает объектные модули COBOL 4. Зачем вам нужен компилятор COBOL 4?