project.adb является исходным файлом.
Поскольку вы говорите, что gcc жалуется на отсутствующий файл .ads, это указывает на то, что project.adb содержит тело пакета. Вы можете вручную создать соответствующую спецификацию пакета, поместив в package.ads:
следующее
package Project is
end Project;
Теперь этого почти наверняка недостаточно, потому что в спецификации проекта, вероятно, были какие-то объявления типа и константы, поэтому вам придется проанализировать тело вашего пакета и определить, на что он ссылается. Определите, как должны выглядеть эти объявления, и добавьте их. Да, и если ваше тело пакета "с" какими-либо пакетами, которые не являются частью стандартной библиотеки Ada, вам также придется их восстанавливать.
Если вам удастся получить обратно спроектированную спецификацию и тело для компиляции, вам все равно придется создать "драйверную" программу, которая "с" пакетом проекта, и будет вызывать любые функции и / или процедуры, которые выполнялись функция вашего проекта (и вам придется включить спецификации этих подпрограмм, которые соответствуют их внешнему виду в теле пакета) в спецификацию.)
Честно говоря, если бы это был я, я бы потратил больше времени на попытки использовать некоторые инструменты для восстановления диска, чтобы извлечь с диска все, что мог.