Неправильная работа функции val, альтернатива стандартному компилятору

Помогите, пожалуйста, где найти альтернативный или более старый компилятор для pascal. я использую pascalabc.net версия 3.3 сборка 1611, и при работе функции val, в случае прерывания в строке выдаёт просто 1, а должен место прерывания, из-за этого не могу написать корректную программу. Причём в онлайн компиляторе выдаёт именно место прерывания. Подскажите, пожалуйста, что делать с этой проблемой.

  1. Если что то не так работает надо этот компилятор исправлять, он всё ещё в разработке. А вот из старых типо турбо паскаля ни 1 не поддерживается.
  2. Как по вашему должно работать Val?
/// Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. 
///Если преобразование успешно, то err=0, иначе err>0
procedure Val(s: string; var value: число; var err: integer);
  1. Что вы называете прерыванием? Отладку?
  2. Используйте знаки ` и ``` чтобы показывать свой код, со скрина переписывать не прикольно. Например:

```

begin

//код

end.

```

`значение_которое_в_окне_ввода`

Выглядит как:

begin
  //код
end.

значение_которое_в_окне_ввода

var s2,s3:string;
    sm,cat,none2,num1,pos:integer;
    
begin
    readln(s2);
               
                  val(s2,num1,cat);
                  writeln(cat);
                 
end.
1212gg33
1

А вообще должен выводить

1212gg33
5

причём http://rextester.com/l/pascal вот этот онлайн компилятор так и делает, да и на других компьютерах так получается

Под “прерыванием” я имею в виду первый символ в строке, который не является цифрой,а код прерывания это место этого символа

Спасибо