Использование Fable для конвертации из Fortran 77 в Stack Overflow

Я просто пытаюсь преобразовать основную программу helloworld.f в C ++, используя fable (в рамках подготовки к более крупной программе позже). Я получаю сообщение об ошибке:

fable.read.Error: Missing END for PROGRAM:
at hello.f(1):
|      program HelloWorld|

Что я не понимаю, так как в противном случае он компилируется и работает правильно. Программа просто:

  program HelloWorld
implicit none
write (*,*) 'Hello, world!'   ! This is an inline comment
end program HelloWorld

Кто-нибудь видит проблему, которую находит басня? Я никогда не использовал его раньше, поэтому я просто пытаюсь понять, как это работает. Заранее благодарю за любую помощь!

0

Решение

Я думаю, что это не может разобрать end program HelloWorld, Попробуйте изменить это на end program или просто чтобы end,

ОБНОВЛЕНИЕ: Действительно, в Фортране 77 все должно закончиться просто КОНЕЦ:

Оператор END указывает конец последовательности операторов и строк комментариев программного блока (3.5). Если выполняется в функции или подпрограмме подпрограммы, это имеет эффект оператора RETURN (15.8). Если он выполняется в основной программе, он прекращает выполнение исполняемой программы.

Форма заявления END:

КОНЕЦ

Оператор END записывается только в столбцы с 7 по 72 начальной строки. Заявление END не должно продолжаться. Никакой другой оператор в программном модуле не может иметь начальную строку, которая выглядит как инструкция END.
Последняя строка каждого программного блока должна быть оператором END.

0

Другие решения

Тестируя с помощью fable на python 2.7.7, вы можете завершить свою программу либо end или же end program, но не с end program XXXXX, Это то, что я могу сказать, из-за того, как работает этот анализатор программ и интерпретирует совпадение с program <something> как начальный программный блок, даже если ему предшествует end,

0

По вопросам рекламы [email protected]