Прямо ностальгическое. Борьба с компилятором 2022 года выпуска. То есть, свежак. На вход ему было подано что-то вроде этого (приводится только тематический кусочек кода):
метка : process (список сигналов) is
(декларации)
begin
if первый сигнал = '1' then
и т.д - текст, который разбирается со всеми сигналами.
...
end process метка;
На выходе получаю две ошибки. Там выдача вообще тупо по номерам строк, но я подставлю сообщения компилятора для понятности:
"метка : process (список сигналов) is" <= ай-яй-яй, 'метка' is declared here. Да ладно??? Ёптыть, кто бы мог подумать. Но да, именно здесь метка появляется впервые.
"end process метка;" <== ай-яй-яй, syntax error near ";". WTF??? Какую, к херам, синтаксическую ошибку он увидел возле точки с запятой? Рядом там только метка. Ну, ещё end process, но они не совсем уж прямо рядом.
По определению, "опешил" - это когда охуел, но немного. Повеяло ветрами загадочных компиляторов с таинственных языков времён БЭСМ-6, "Наири" или там "Минск-32".
Что не так с меткой? ХЗ, в список зарезервированных слов она не попадает, имя уникальное, буквы только аглицкие. Воскурение мануалов показало, что метка тут вообще ни при чём. Да и её замена сказала о том же. В общем, и так, и эдак, со словами и без слов - не идёт метка, весь процесс не идёт - компилятор ругается вот этими загадочными фразами, не говоря конкретно, что не так и чего он хочет. Для 2022 года выпуска - это вот прямо ностальгия и ретро. Отдельные миллениалы, зумеры и квадроберы в таких случаях опускают руки, ибо знания предков им неведомы.
Как с этим бороться? Приёмами из тех же времён СМ ЭВМ. Карандашик, бумажка, построчный проход с ручным расчётом значений и подсчётом скобок, чтобы знать, на каком участке дороги компилятор свернул не туда.
И таки да, в пределах текста нашёлся if, который при обильном редактировании нечаянно потерял свой любимый end if. То есть, нормальный компилятор сумел бы сказать, что end process появился раньше, чем end if. Хоть было бы ясно, что проверять.
Есть у меня сугубое подозрение, что у буржуев тоже свирепствует коррупция. Они выделили, скажем, миллион бакинских на разработку компилятора, но дальше бабло пошло по цепочке подрядчиков-субподрядчиков, последний из которых нанял студента за $500. А студент, не будь дурак, стырил готовый шаблон компилятора времён раннего мезозоя, и слегка его допилил за пару дней, ибо по оплате и работа.