Статические счетчики
Статические переменные в AFL сохраняются между итерациями. Основное предназначение - различные счетчики. Чтобы не раздувать тексты, можно использовать функцию StaticVarInc:
dnl Увеличение целочисленной статической переменной на AddValue function StaticVarInc(StaticVarName,AddValue)
{ Local Result; Result = AddValue + NZ(StaticVarGet(StaticVarName));
StaticVarSet(StaticVarName,result);
return Result;
}
Чтобы каждый раз не писать единичку вторым параметром при вызове функции, использую макрос:
define(`StaticVarInc',``$0'(`$1',m4_default(`$2',1))')