Как правильно задать имя переменной, находящейся в куче вложенных структур?

Как правильно задать имя переменной, находящейся в куче вложенных структур? Вот простой пример.

g1      group  ! в оригинале - record файла
l       long
         end
q       queue,type
g1      like(g1)
         end

Так работает:

g2      group
q2      &q
         end
     CODE
  g2.q2.g1.l = 1

А так — нет, хотя скобки массива вроде правильно стоят:

g2      group,dim(2)
q2      &q
         end
     CODE
  g2[1].q2.g1.l = 1  ! ERROR: field not found: g1

Что не так? Вообще-то Кларин компилятор очень не любит массивы рефералов!

А у тебя как раз получается такой массив. Так что, возможно, именно из-за этого он и ругается. А если тебе надо сделать что-то типа массива очередей, то самый простой вариант — делать не через массив а через очередь.
Т.е.:

FilesQue  QUEUE
RecsQue     &Q
          END

Если нужен массив на два элемента — делай две записи. И т.д. Такой вариант будет работать и компилятор спокойно его пропустит.