#!/usr/bin/gawk -f
BEGIN {
types = 4;
name[0] = "a";
name[1] = "b";
name[2] = "c";
name[3] = "d";
for (item[0] = 0; item[0] < 4; item[0]++) {
for (item[1] = 0; item[1] < 4; item[1]++) {
for (item[2] = 0; item[2] < 4; item[2]++) {
for (item[3] = 0; item[3] < 4; item[3]++) {
for (item[4] = 0; item[4] < 4; item[4]++) {
printf("name: {");
for (i = 0; i < 5; i++) {
if (i > 0) printf(" ");
printf("%s", name[item[i]]);
}
printf("} 5");
for (i = 0; i < 5; i++) {
printf("\ni: %d", item[i]);
printf("\nt:");
for (j = 0; j <= i; j++)
printf(" %d", item[j] + j * types);
}
printf(";\n");
}
}
}
}
}
}
syntax highlighted by Code2HTML, v. 0.9.1