function CleanUp() #Clean up for next input record.
{
for (i in rec) delete rec[i];
}
BEGIN{
RS="";
FS = "\n?%";
getline lgname < "language"
printf("\n
\n%s Definitions\n\n\n\n\n",lgname);
}
{
# Create an associative array with the tags as indices.
# The leading FS creates an initial empty field
for(i = 2; i <= NF; i++){
split($i, f,"\ ");
rec[f[1]]=substr($i,index($i,"\ ")+1);
}
cnt+=1;
printf("- %s
\n", cnt,rec["head"]);
printf("- \n");
if("cat" in rec) printf("[%s]\n",rec["cat"]);
printf("%s.\n",rec["def"]);
if("sci" in rec) printf(" [%s]\n",rec["sci"]);
if("snd" in rec) printf("play sound\n",rec["snd"]);
if("pic" in rec){
fname = sprintf("pmi%d.htm",cnt);
printf("show picture\n",fname);
printf("\n\n\n
\n\n\n",rec["pic"]) > fname;
}
printf(" \n");
CleanUp();
}
END{printf("
\n\n\n");}