Тут главное понять, то переменные с суффиком Ptr (Pointer) хранят индекс y-переменной элемента массива.
Пусть у тебя массив:
!#VA(array[3]:y); компилятор выделил y22, y23, y24 под три элемента массива.
@array = @array[0] - индекс y-переменной первого элемента массива = 22
@array[1] - индекс y-переменной второго элемента массива = 23
@array[2] - индекс y-переменной третьего элемента массива = 24
!!VR(itemPtr:y):S(@array[1]); пусть новая переменная хранит индекс y-переменной второго элемента массива, то есть будет «указателем» на него.
Скажем, компилятор выделил itemPtr = y25
Тогда код будет скомпилирован в:
!!VRy25:S23;