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_WEAV...