1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#!/bin/sh set -eu awk ' BEGIN { print "%{\n\ #if __GNUC__ >= 7\n\ _Pragma(\"GCC diagnostic ignored \\\"-Wimplicit-fallthrough\\\"\")\n\ #endif\n\ %}" print "struct key_name { const char* name; unsigned short id; };" print "%null-strings" print "%%" } /^KEY_/ { print tolower(substr($1 ,5)) ", " $1 } { print tolower($1) ", " $1 } ' < "$1"