ed - trdata v/ .* /d 1,$s/.* .* // 1,$s/.*/ "&",/ $s/,// 1i char *opnames[] { 0, . $a }; . 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 /* char *trnames[] { 0, . $a }; */ . $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 /usr/bin/cc -c TRdata.c