TeX for Xenix and SysV

Rick Richardson rick at pcrat.UUCP
Wed May 18 03:10:16 AEST 1988


In article <1467 at uop.edu> exodus at uop.edu (G.Onufer) writes:
>
>The OTHER Tex in C is called CTeX (I guess) or more likely tex-to-c.  It
>is a machine translation from the tex.web file to one or ten c files + headers
>and extra.c.

I brought up MetaFont with the "web2c" stuff from <morgan at ics.uci.edu>,
and not without a little amazement that it worked at all.  I couldn't
bring up TeX, because "web2c" couldn't handle variant records (C unions).
Furthermore, none of the adjunct programs have been converted to
be buildable with "web2c".

At this point, I said to myself why don't I try using "ptoc" on the
"tangle"ed pascal. (ptoc was posted to the net a while back, it was
written by Per Bergsten, accept no substitutes!).  This method should
avoid having special change files and extra C files to support "web2c"
for each program that needs to be converted.  After all, "ptoc" plus
a C compiler is in theory a Pascal compiler.

BTW, "ptoc" is written in Pascal, and can convert itself.  It is a
very large program, and you bootstrap via a supplied C translation.
The system I'm using is a 386 running Interactive's 386ix, your
mileage may vary.

With a very few changes to "ptoc" (others keyword versus otherwise,
rewind() returns void on SVR3, etc.), the adjunct programs built in
a very straightforward way, e.g.:

	make mflib.a			#Need supporting C routines

					#Repeat below for each adjunct
	tangle gftopk gftopk		#Used SYS_V .ch file, make PASCAL
	ptoc <gftopk.p >gftopk.c	#Make C
	cc gftopk.c mflib.a -o gftopk	#Viola'

The only gotcha I noticed was that the change files for the adjunct
programs universally called argv() with a number one larger than
they should have, e.g. argv(2,...) was supposed to pick up the
argument in argv[1]!!!!!  I hedged and used a little "sed" to fix
this anomoly.

I haven't tackled TeX yet by this method, but I think this
approach is by far less error prone than either a human translation
of the Pascal, or the "web2c" psuedo-translation.

Also, thanks to all the people who offered to ftp the U of Wash tape
to UUNET.  Rick Adams picked it up already, as you can see.
-- 
		Rick Richardson, President, PC Research, Inc.

(201) 542-3734 (voice, nights)   OR     (201) 834-1378 (voice, days)
uunet!pcrat!rick (UUCP)			rick%pcrat.uucp at uunet.uu.net (INTERNET)



More information about the Comp.sys.att mailing list