!%permroutinespec write(%integer v,p);
!%permroutinespec newline
!%primintegerfnspec addr(%name p)
!%primintegerfnspec typeof(%name n)
!%primintegerfnspec sizeof(%name n)
begin
routine test(name param)
write(addr(param),0) ; newline
write(sizeof(param),0); newline
write(typeof(param),0); newline
end
integerarray ia1(3:5)
integerarray ia2(2:4,3:6)
write(addr(ia1),0) ; newline
write(addr(ia1(3)),0) ; newline
write(sizeof(ia1),0); newline
write(typeof(ia1),0); newline
test(ia1)
write(addr(ia2),0) ; newline
write(addr(ia2(2,3)),0) ; newline
write(sizeof(ia2),0); newline
write(typeof(ia2),0); newline
test(ia2)
endofprogram