BEGIN { inTypedef = 0 } /typedef/ { inTypedef = 1; printf ("\n") } /^}/ { n = split($0, line, ";") ; n = split(line[1], token, " ") ; printf( "\t%s *X;\n", token[n] ) ; inTypedef = 0; } /;/ { if (inTypedef) { n = split($0, line, ";") ; n = split(line[1], token, " ") ; printf ( "\tZeroPrint(\"%-14s %%8d\\n\", X->%s);\n", token[n], token[n] ) } }