ref: b1e7119f598c5375b72008f85e0bb98740ba5377
dir: /filter.awk/
#!/home/grobe0ba/opt/x86_64/bin/awk -f BEGIN { print "use rt;" } /^$/ { print; next } { rettype="" fn="" start=3 noret=0 nullable=0 if($1 != "noret"){ rettype=$1 fn=$2 } if($1 == "noret"){ start=4 rettype=$2 fn=$3 noret=1 } if($1 == "nullable"){ start=4 rettype=$2 fn=$3 nullable=1 } printf "export @symbol(\"pthread_%s\") ", fn if(noret == 1){ printf "@noreturn " } printf "fn %s(", fn for(i = start; i <= NF; i++){ printf "_: " if($i == "const"){ i++ printf "const " } if($i == "nullable"){ i++ printf "nullable " } printf "%s", $i if(i < NF){ printf ", " } } printf ") " if(nullable == 1){ printf "nullable " } printf "%s;\n", rettype }