Fujitsu COBOL 3.0 - PullRequest
       37

Fujitsu COBOL 3.0

2 голосов
/ 29 марта 2009

Я новичок в программном обеспечении Fujitsu COBOL 3.0. Я пытался выполнить простую программу. Код и ошибки следующие. Все в программе, кажется, правильно. Может кто-нибудь мне помочь? Какие-либо предварительные требования должны соблюдаться в этом программном обеспечении?

Пример программы Cobol:

IDENTIFICATION DIVISION.
PROGRAM-ID.  ShortestProgram.

PROCEDURE DIVISION.
DisplayPrompt.
    DISPLAY "I did it".
   STOP RUN. 
--------------------------------------------------------------------------------------
** DIAGNOSTIC MESSAGE ** (NOPRGMID)
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 0: JMN1102I-S  IDENTIFICATION DIVISION HEADER IS MISSING. HEADER ASSUMED TO BE CODED.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 1: JMN1019I-W  INDICATOR AREA MUST CONTAIN '-','*','/','D',OR BLANK. A BLANK IS ASSUMED TO BE SPECIFIED.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 1: JMN1005I-W  CHARACTER STRING 'DENTIFICATION' MUST START IN AREA B. ASSUMED TO START IN AREA B.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 1: JMN1356I-W  INVALID WORD 'DENTIFICATION' IS SPECIFIED IN IDENTIFICATION DIVISION. IGNORED UNTIL NEXT PARAGRAPH OR DIVISION.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 2: JMN1019I-W  INDICATOR AREA MUST CONTAIN '-','*','/','D',OR BLANK. A BLANK IS ASSUMED TO BE SPECIFIED.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 2: JMN1005I-W  CHARACTER STRING 'ROGRAM-ID' MUST START IN AREA B. ASSUMED TO START IN AREA B.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 4: JMN1019I-W  INDICATOR AREA MUST CONTAIN '-','*','/','D',OR BLANK. A BLANK IS ASSUMED TO BE SPECIFIED.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 4: JMN1005I-W  CHARACTER STRING 'ROCEDURE' MUST START IN AREA B. ASSUMED TO START IN AREA B.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 6: JMN1004I-W  RESERVED WORD 'DISPLAY' MUST START IN AREA B. ASSUMED TO START IN AREA B.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 7: JMN1104I-S  PROGRAM-ID PARAGRAPH IS MISSING. PROGRAM-NAME GENERATED BY SYSTEM.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 7: JMN1004I-W  RESERVED WORD 'STOP' MUST START IN AREA B. ASSUMED TO START IN AREA B.
STATISTICS: HIGHEST SEVERITY CODE=S, PROGRAM UNIT=1

Ответы [ 3 ]

2 голосов
/ 29 марта 2009

Предупреждения (относящиеся к области B), по-видимому, предполагают, что ваш код должен начинаться со второго столбца каждой строки. Вот почему он находит, например, «ДЕНТИФИКАЦИЯ» вместо «ИДЕНТИФИКАЦИЯ».

Я никогда не разрабатывал на языке COBOL, но я смутно помню, что первый столбец должен быть пустым, или * для комментария: предупреждающие сообщения указывают на то, что / - и D также являются действительными значениями.

ОБНОВЛЕНИЕ: Google предполагает, что компилятор COBOL игнорирует первые 6 столбцов, и этот столбец 7 имеет особое значение (D для отладки, * для комментария, ...). Хотя, возможно, поведение зависит от компилятора. Так что я подозреваю, что ваша проблема в том, что ваш код начинается со столбца 7, где он должен быть столбцом 8.

2 голосов
/ 30 марта 2009

Сдвиньте все на 7 столбцов, чтобы ИДЕНТИФИКАЦИОННЫЙ ОТДЕЛ начинался в столбце 8, а все последующие строки начинались в столбце 8 или более.

Там также есть переключатель компилятора (не помню, как у меня в голове), который позволяет начать со столбца 1

0 голосов
/ 29 марта 2009

Взять WAG (дикое предположение) здесь. Не было с тех пор, как я учился в колледже.

В вашем сообщении об ошибке написано внизу:

STATISTICS: HIGHEST SEVERITY CODE=S, PROGRAM UNIT=1

Хорошо, я полагаю, у вас есть несколько предупреждений (возможно, CODE = W) и одна или несколько ошибок, которые фактически приводят к сбою вашей программы.

Итак, при сканировании сообщения об ошибке я вижу много символов W и одну строку с символом S:

C: \ FSC \ PCOBOL32 \ Samples \ SAMPLE6 \ SAMPLE7.COB 7: ПАРАГРАФ JMN1104I-S ИД ПРОГРАММЫ ОТСУТСТВУЕТ. НАИМЕНОВАНИЕ ПРОГРАММЫ SYSTEM.

Похоже, вы пропустили абзац с идентификатором программы. Глядя на вашу программу, я вижу n подразделение идентификации, которое имеет идентификатор программы.

Из этого я могу сделать четыре вывода:
1) Ваш абзац идентификационного раздела искажен
2) Как сказал Нейл, вы запускаете не свой фрагмент, а пример, в котором нет параграфа идентификатора. Откройте sample7.cob и посмотрите
3) Другая ошибка вызывает ошибку, но она скрыта или неверно истолкована как ошибка абзаца идентификатора

...