printers.awk (404B)
- BEGIN {
- FS = "\\(|\\)|, "
- OFS = ", "
- print "typedef struct {"
- }
- $1 == "MPERS_PRINTER_DECL" {
- printf " %s (*%s)(%s", $2, $3, $4
- for (i = 5; i < NF; ++i)
- printf ", %s", $i
- print ");"
- print "#define " $3 " MPERS_PRINTER_NAME(" $3 ")\n"
- }
- END {
- print "} struct_printers;"
- print "extern const struct_printers *printers;"
- print "#define MPERS_PRINTER_NAME(printer_name) printers->printer_name"
- }