Я просто пытаюсь преобразовать основную программу 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
Кто-нибудь видит проблему, которую находит басня? Я никогда не использовал его раньше, поэтому я просто пытаюсь понять, как это работает. Заранее благодарю за любую помощь!
Я думаю, что это не может разобрать end program HelloWorld
, Попробуйте изменить это на end program
или просто чтобы end
,
ОБНОВЛЕНИЕ: Действительно, в Фортране 77 все должно закончиться просто КОНЕЦ:
Оператор END указывает конец последовательности операторов и строк комментариев программного блока (3.5). Если выполняется в функции или подпрограмме подпрограммы, это имеет эффект оператора RETURN (15.8). Если он выполняется в основной программе, он прекращает выполнение исполняемой программы.
Форма заявления END:
КОНЕЦ
Оператор END записывается только в столбцы с 7 по 72 начальной строки. Заявление END не должно продолжаться. Никакой другой оператор в программном модуле не может иметь начальную строку, которая выглядит как инструкция END.
Последняя строка каждого программного блока должна быть оператором END.
Тестируя с помощью fable на python 2.7.7, вы можете завершить свою программу либо end
или же end program
, но не с end program XXXXX
, Это то, что я могу сказать, из-за того, как работает этот анализатор программ и интерпретирует совпадение с program <something>
как начальный программный блок, даже если ему предшествует end
,