Как скомпилировать и запустить программу на COBOL?

20

Кто-нибудь может объяснить мне, как скомпилировать и запустить программу на COBOL в Ubuntu? Я никогда не писал ни одной программы в Ubuntu. Пожалуйста, дайте мне простую программу для компиляции и запуска.

Аджит МЕХТА
источник

Ответы:

38

COBOL не особенно популярен в Linux, но есть доступные компиляторы. Одним из них является открытый кобол.

Первый шаг - проверить, установлен ли он в вашей системе: скорее всего, нет.

whereis cobc; which cobc
cobc:

Если, как моя система не установлена, вы можете установить ее с

sudo apt-get install open-cobol

И проверить его установленное whereis cobc; which cobc

cobc: /usr/bin/cobc /usr/bin/X11/cobc /usr/share/man/man1/cobc.1.gz
/usr/bin/cobc

Теперь давайте напишем нашу первую программу с любым текстовым редактором.

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
*> simple hello world program
PROCEDURE DIVISION.
    DISPLAY 'Hello world!'.
    STOP RUN.

сохранить это как "helloworld.cbl"

Теперь мы можем скомпилировать его с cobc -free -x -o helloworld helloworld.cbl

В моей системе я вижу это

$ cobc -free -x -o helloworld helloworld.cbl
/tmp/cob3837_0.c: In function ‘HELLO_2DWORLD_’:
/tmp/cob3837_0.c:75:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
/tmp/cob3837_0.c:76:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
/tmp/cob3837_0.c:77:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
/tmp/cob3837_0.c:88:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
/tmp/cob3837_0.c:107:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
/tmp/cob3837_0.c:111:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

Несколько предупреждений - но без ошибок тест с ./helloworld

Hello World!

Оно работает.


Альтернатива (фиксированный формат):

       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELLO-WORLD.
      * simple hello world program
       PROCEDURE DIVISION.
           DISPLAY 'Hello world!'.
           STOP RUN.

сохранить это как "helloworld.cob" и скомпилировать его cobc helloworld.cob(запустить с cobcrun helloworld.

Если вы хотите удалить предупреждения из компилятора C: загрузите текущий снимок GnuCOBOL 2.x (у которого еще нет обновленного пакета) и постройте его самостоятельно (требуется дополнительный apt-get bison flex libdb-dev curses-dev).


Взято из:

Пример Cobol Hello World: Как написать, скомпилировать и выполнить программу Cobol в ОС Linux на thegeekstuff.com

Протестировано на Ubuntu 12.04.2

Уоррен Хилл
источник
2
Видя это, осчастливил седовласого выродка.
Bobble
1
Этот ответ хорош - за исключением того, что комбинация символов комментария фактически *>или одиночная *в столбце 7. Новый пользователь @David написал это как ответ (он не мог комментировать) - вместо этого он копирует содержимое в комментарий, чтобы сохранить это если ответ удаляется.
Фолькер Сигел
1
@VolkerSiegel поднимает хороший вопрос. Мне пришлось изменить комментарий, *>чтобы получить это для компиляции.
Соррелл
4

Вы можете использовать компилятор open-cobol. Просто нажмите Ctrl+ Alt+ Tна клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду ниже:

sudo apt-get install open-cobol
cobc your_program_here.cbl 
Деннис Каарсемакер
источник
1

Уоррен Хилл дал хороший ответ. Вы также можете использовать IDE, например Eclipse, для помощи с COBOL, но я не уверен, что это уместно, если вы никогда не программировали.

Смотрите форум Eclipse COBOL, Форумы Eclipse

Я заметил один из списков сообщений доступных плагинов COBOL ...

Нейт Локвуд
источник
0

Если вы хотите IDE, я настоятельно рекомендую использовать OpenCobolIDE (работает также с более новыми компиляторами GnuCOBOL). Вы найдете последнюю версию пакета на https://launchpad.net/cobcide/+download

Саймон Собиш
источник