Проблема заключается в том, что -
в
String_Number : String (1 .. Integer'Width – 1);
- это не простой -
, а широкий символ с кодировкой e28093
- EN DASH .
Я обнаружил это, потому что, увидев, что различные исследовательские изменения не показывали ошибку, я вернулся к вашему оригиналу и попытался скомпилировать с -gnatw8
(входной сигнал - UTF-8), а также -gnatl
для смешивания сообщений с текст программы, в результате чего
13. String_Number : String (1 .. Integer'Width – 1);
12
>>> binary operator expected
>>> illegal wide character