Parameterized macro?

Hello FreeFem community,

Is it possible to define a parameterized macro with a parameter inside in order to use it in varf.
In fact, this parameter could be the index of region. For example :

real [int, int][int] c(10)
for (i=1;i<=3;i++) {c[i].resize(7,7);c[i] = 0.;} and after c[i] (j,k) are filled.

for (i=1;i<=3;i++) {
macro F…[i]…?(u,v) (c[i] (1,1) * S1(u)+c[i] (1,2) * S2(v)) // EOM
}
varf K(u,v) = int3d(Th3,1)(F…[1]…?(u,v)) + int3d(Th3,2)(F…[2]…?(u,v)) + int3d(Th3,3)(F…[3]…?(u,v))+ …

Thanks in advance,