0 / 0 / 0
Регистрация: 27.01.2019
Сообщений: 5
|
|
1 | |
И снова "unexpected end of file"29.01.2019, 15:50. Показов 7220. Ответов 11
Метки нет Все метки)
(
В конце 2-го тысячелетия мной было написано комплекс программ для судейства соревнований по радиосвязи среди школьников. Сначала писал на ТВ, а потом перешел на ТР. Получилось 6 исполняемых файлов. Позже некоторые были модифицированы под изменения в Положение. Некоторое время сам занимался обслуживанием судейства. Потом ушел на пенсию, передав комплекс одному из серьезных и надежных коллективов.
В начале этого года обратились коллеги с просьбой обновить комплекс, т.к. некоторые файлы перестали работать должным образом или вообще не стартуют. И вот пенсионеру пришлось искать исходники. В общем, удалось найти/восстановить из удаленных.. Решил пробовать на FPC. При запуске на выполнение выдает Unexpected end of file - курсор указывает на точку в конце кода. Выбрав опцию компилятора Turbo Pascal compatible программа запускается, т.е. с синтаксисом порядок. Как побороть этот unexpected end of file в FPC?
0
|
|
29.01.2019, 15:50 | |
Ответы с готовыми решениями:
11
Не могу разобрать концовку. пишет "unexpected end of file" Ошибка "Syntax error, "BEGIN" expected but "end of file" found"
Ошибка "Fatal: Syntax error, "BEGIN" expected but "END" found" |
Почетный модератор
64279 / 47578 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
29.01.2019, 16:08 | 2 |
Надо бы код видеть.
0
|
0 / 0 / 0
Регистрация: 27.01.2019
Сообщений: 5
|
||||||
29.01.2019, 16:56 [ТС] | 3 | |||||
{Пpогpама пеpевipки звiтiв TEST ЮТ та пiдpахунку набpаних очок}
{Версiя сiчень 2008р.}
0
|
Почетный модератор
64279 / 47578 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
29.01.2019, 17:16 | 4 |
![]() Решение
Почистите код от ненужных закомментированных участков. Я что-то убрал и ошибка исчезла, сам не знаю что конкретно и почему из этого Фрее Паскаль не любит.
Добавлено через 3 минуты Нашел что убрал, строки 158-167.
2
|
0 / 0 / 0
Регистрация: 27.01.2019
Сообщений: 5
|
|
29.01.2019, 17:45 [ТС] | 5 |
Спасибо!
Буду пробовать. Добавлено через 17 минут Да, действительно закомментированные фрагменты мешали. Пока не засек касается ли это операторов или вообще любых комментариев.
0
|
Почетный модератор
64279 / 47578 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
29.01.2019, 17:48 | 6 |
Просто комментарии не мешают.
2
|
0 / 0 / 0
Регистрация: 27.01.2019
Сообщений: 5
|
|
29.01.2019, 19:32 [ТС] | 7 |
Вот и славненько. Разобрались, а то поиск в нете ничего толкового не давал.
Кто бы мог подумать что проблема именно в закомментированных блоках кода. Еще раз благодарю. Попричесываю остальные программы и допишу новые по желанию коллег и отправлю. Здоровья и успехов.
0
|
Модератор
![]() ![]() |
|
05.02.2019, 19:35 | 8 |
Как минимум тот, кто читал документацию по FPC. А интересующая тема -- про вложенные комментарии:
https://www.freepascal.org/doc... efse2.html Ну и описание режимов: FPC: https://www.freepascal.org/doc... gse72.html ObjFPC: https://www.freepascal.org/doc... gse75.html TP: https://www.freepascal.org/doc... gse73.html Delphi: https://www.freepascal.org/doc... gse74.html
1
|
3405 / 1824 / 489
Регистрация: 28.02.2015
Сообщений: 3,699
|
||||||
05.02.2019, 20:49 | 9 | |||||
Загрузил Ваш код в Лазарусе, программа, автоматически выделяет логические блоки и участки комментов,.
![]() Комменты съедают все, вплоть до END. В будущем, пишите код нормально, форматируя:
![]()
0
|
0 / 0 / 0
Регистрация: 27.01.2019
Сообщений: 5
|
|
05.02.2019, 21:18 [ТС] | 10 |
Constantin Cat
И что Вы хотели сказать этим комментарием? Хотели пенсионера обидеть? Это Вас не возвышает.
0
|
Модератор
![]() |
|
06.02.2019, 12:22 | 11 |
finick, где-то встречал негласное соглашение по применению комментариев.
// - однострочный комментарий для быстрого отключения строки с кодом, и немедленным принятием решения по строке - т.е. эти комментарии кода в исходнике не задерживаются{} - для пояснительных комментариев, не для кода(* *) - отключение фрагментов кода, после завершения работы с исходником эти фрагменты удаляют.{$ifdef ... - отключение части кода при помощи условной компиляции, когда есть сомнения в его ценности (например, при оптимизации)Так достигается непересечение комментариев. Уже несколько подзабыл, но кажется ещё нужно директивой компилятора разрешать вложенные комментарии. Об этом bormant говорил. Не по теме: И ещё для себя попробуйте автоформаттеры исходного кода на Pascal - действительно удобно.
1
|
3405 / 1824 / 489
Регистрация: 28.02.2015
Сообщений: 3,699
|
||||||
06.02.2019, 16:03 | 12 | |||||
Упс. Даже и не думал.
В принципе, Вам уже все ссылки дал Ю.Б.. Я Вам предложил, при написании кода использовать форматирование, это времени много не занимает, но позволяет быстро находить логические ошибки. Если снова посмотрите мое сообщение выше, то код написанный Вами, но нормально отформатированный, а также Ваш код в Лазарусе, begin и end, подчеркнуты красными прямоугольниками. Еще посмотрите на строчки 147-151, они выше участка с выделенными скобками begin и end, вот тот
PS:Простите, что не смог сразу написать вразумительно.
1
|
06.02.2019, 16:03 | |
Помогаю со студенческими работами здесь
12
В каждом слове текста замените "а" на букву "е", если "а" стоит на четном месте
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |