Хех.Что ж, это определенно ошибки SPARK, а не ошибки компилятора "garden garden".
Было бы неплохо увидеть фактическую версию ошибок "вырезать и вставить" (вместе с указанием того, какими строками они являются.ссылаясь на), а не просто несовершенная транскрипция.Тем не менее, я понимаю, что это не всегда возможно по соображениям безопасности / подключения.
Похоже, что все трое жалуются на поток данных через вашу систему.Не зная, на какие строки они ссылаются, лучшее, что я могу предложить, - это попытаться вручную проследить ваш поток данных через вашу систему, чтобы понять, в чем их проблема.
Если бы мне пришлось делать дикие предположения с информацией, которая у меня есть, я бы сказал, что, возможно, у вас возникли проблемы с чтением значения из State(1)
в подпрограмме Read_Sensor_Majority
, поскольку оно имеетнет никакого способа узнать, что вы ранее поместили значение в это местоположение массива.
Код, который вы имеете в области тела begin...end
пакета, должен позаботиться об этом, за исключением того, что он, похоже, имеет ошибку компиляции, как указал Саймон в комментариях. Возможно, если вы исправите эту проблему, SPARK поймет, что происходит и перестанет жаловаться на ваши потоки управления.
Если SPARK любит выплевывать ошибки "Я в замешательстве" на код, которыйдаже не проходит мимо компилятора Ada, может быть, стоит убедиться, что компилятору Ada понравилась чистая часть кода Ada, прежде чем просить SPARK его просмотреть.