Hi James,
> 1. TS, tbl starts
> 2. tbl sees T{ ... T} and invokes troff
No. If you use groff then add its -V option to see the Unix pipeline
that is used.
$ groff -V -t foo
tbl foo | troff -Tps | grops
$
tbl reads foo and ignores all lines outside of .TS-.TE, just printing
them down the pipe to troff. .TS and .TE lines also get passed on. The
ones between them are replaced by tbl with lower-level troff to produce
the table.
troff reads troff input, tbl isn't involved within troff, and produces
"device-independent troff" that grops then turns into PostScript.
It's a serial production line.
Cheers, Ralph.