diff --git a/quiz/src/symbols.awk b/quiz/src/symbols.awk index ad4c3da7b..350bb1973 100644 --- a/quiz/src/symbols.awk +++ b/quiz/src/symbols.awk @@ -1,11 +1,17 @@ -BEGIN { - print "void * pointers[] = {" -} - #FIXME: Is there a way to capture subexpression in awk? The following gsub is # kind of ugly -/TEST\(([a-z0-9_]+)\)/ { gsub(/(TEST\()|(\))/, "", $1); print "test_" $1 "," } +/TEST\(([a-z0-9_]+)\)/ { gsub(/(TEST\()|(\))/, "", $1); tests = tests "," $1 } END { + a = tests; + b = tests; + gsub(/,/, "();\nvoid ", a); + sub(/\(\);\n/, "", a); + print a "();"; + print ""; + print "void * pointers[] = {"; + sub(/,/, "", b); + gsub(/,/, ",\n", b); + print b; print "};" }