Hello,
I was unable to locate change files for Knuth's original TANGLE and CWEAVE
programs on CTAN, so I've written a port of the system for the gpc version
20060325.
I reverted the file I/O in Knuth's code that he ported to C back to GNU Pascal.
I might have preserved Knuth's I/O routines in C, except that GNU
Pascal
changed the way it makes file structures available to the
programmer since
Knuth wrote his port (around 2000). The GNU PASCAL function GetFile() might
have been used to pass a
C-style FILE pointer to this code, but GetFile() is no
longer availble.
In its place, GNU PASCAL provides a BindingType data structure
and
related functions; these might have been usable if they had provided a
valid file descriptor, but on my Debian Linux system, the value of BindingType.Handle
is always -1
(if I may abuse the PASCAL language by referring to a variable of
BindingType by its type).
Am I mistaken about this?
Florian
P.S. I've made the change files, the mysterious GPCtypes.h file and a modified
tangext.c file available at
http://research.gc.cuny.edu/wiki/index.php/Port_of_Knuth%27s_TANGLE_and_WEAVE_to_GNU_Pascal_20060325