ed - trdata v/ .* /d 1,$s/.* .* // 1,$s/.*/ "&",/ $s/,// 1i #ifdef PI1 char *opnames[] { 0, . $a }; #endif . w .foefum e v/./d g/ .* /s/ [^ ]*$// g/^[^ ]* /s/// g/"/s//\\"/ 1,$s/.*/ "&",/ $s/,// 1i char *trdesc[] { 0, . $a }; . $r .foefum w .foefum e v/./d 1,$s/ .*// 1,$s/.*/ "&",/ $s/,// 1i #include "whoami" #include "0.h" #ifdef PI1 #ifdef DEBUG char *trnames[] { 0, . $a }; #endif #endif . $r .foefum !rm .foefum w TRdata.c e v/./d g/ .*/s/// w .foefum !grep -n "^" .foefum >.fiefum e .fiefum 1,$s/\([0123456789]*\):\(.*\)/#define T_\2 \1/ w tree.h !rm .fiefum .foefum q ed - TRdata.c /opnames/;/^}/w x.c q cc -O -c x.c mv x.o TRdata.o : rm x.c