# build a file netlibdefs # build lots of ug def files BEGIN { echoing=0 filenum=0 # zero out def file defname = "netlib.defs" printf "" > defname } /^:name/ { # file starts (get next line) getline name = $0 truename = name getline getline number = $0 getline gsub (/\ /, "_", name) gsub (/\(/, "", name) gsub (/\)/, "", name) dir = int (filenum / 10) nlname = "nl" dir "/" name ".nl" ugname = "nl" dir "/" name ".ug" netname = "nl" dir "/" name ".ugnet" # transform to ug printf "file %d: generating ug file %s (netlib number %d)\n", filenum++, ugname, number echoing = 1 printf ":name\n%s\n:number\n%d\n", truename, number > nlname } /^:EOF/ { echoing = 0 # if (filenum < 128) # next # solid faces cmd = "/bin/csh -f -c 'nawk -f netlib_to_ugv.awk < " nlname " > " ugname "'" # printf "executing %s\n", cmd system (cmd) cmd = "/bin/csh -f -c 'nawk -f netlib_to_ugf.awk < " nlname " >> " ugname "'" # printf "executing %s\n", cmd system (cmd) cmd = "/bin/csh -f -c './ugclean2 < " ugname " | sed -e \"s/\ \)/)/g;s/\ \;/;/g\" > foo" "'" # printf "executing %s\n", cmd system (cmd) # name printf "{ netlib polyhedron %d : %s }\n", number, truename > ugname cmd = "cat foo >> " ugname # printf "executing %s\n", cmd system (cmd) # folding net cmd = "/bin/csh -f -c 'nawk -f netlib_to_ugv.awk < " nlname " > " netname "'" # printf "executing %s\n", cmd system (cmd) cmd = "/bin/csh -f -c 'nawk -f netlib_to_ugn.awk < " nlname " >> " netname "'" # printf "executing %s\n", cmd system (cmd) cmd = "/bin/csh -f -c './ugclean2 < " netname " | sed -e \"s/\ \)/)/g;s/\ \;/;/g\" > foo" "'" # printf "executing %s\n", cmd system (cmd) cmd = "mv foo " netname # printf "executing %s\n", cmd system (cmd) # append to the def file printf "def %s;\n", ugname >> defname printf "\tinclude %s;\n", ugname >> defname printf "end;\n" >> defname printf "def %s;\n", netname >> defname printf "\tinclude %s;\n", netname >> defname printf "end;\n" >> defname close (ugname) close (nlname) close (netname) # take a breather cmd = "sleep 1" system (cmd) } { # if (filenum < 128) # next if (echoing) print $0 > nlname } END { }