Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!rutgers!husc6!seismo!rochester!ken From: ken@rochester.UUCP Newsgroups: comp.text Subject: Re: A question about WEB and bibtex Message-ID: <24898@rochester.ARPA> Date: Mon, 16-Feb-87 15:53:45 EST Article-I.D.: rocheste.24898 Posted: Mon Feb 16 15:53:45 1987 Date-Received: Tue, 17-Feb-87 06:23:43 EST References: <1605@utastro.UUCP> <60400005@umn-cs.UUCP> <24850@rochester.ARPA> Reply-To: ken@rochester.UUCP (SKY) Organization: U of Rochester, CS Dept, Rochester, NY Lines: 30 OK, Amit said my exposition wasn't clear enough. So did a friend here. The assumption in the base posting is that one can compensate for each compiler's deficiencies is that tangle can patch all instances of features like OTHERWISE, etc, with one change file per compiler. Let's call such change files compiler patch files (CPFs). Unfortunately tangle isn't that smart. Change files are more like input to Larry Wall's patch program, e.g. change line 100 to this. If CPFs were implemented, tangle (or some auxiliary program) would have to parse tokens instead of just looking at line numbers. Another problem CPFs can't handle is external routines. In dvidoc for example, random file positioning is used. Pascal-X may have extensions for this, so all the patch has to do is make the changes inline. Pascal-Y may have to call a C routine, and munge a couple of parameters before calling. One can't anticipate all possible substitutions to put in CPFs when writing them, especially if the application doesn't exist yet. Finally, one might want to enhance a WEB program to use facilities that exist on the target system, like reading command arguments. The base program might not have any WEB code for this at all. Change files are the place to put these things. Think of change files as implementing an #ifdef mechanism for WEB. As far as I know, nobody has succeeded in parameterizing BSD and SysV differences and writing an automatic translator for C programs either. Ken