paige@cg-d.UUCP (Tom Paige X5041) (03/17/87)
Hi, I'm looking for a Turbo Pascal to C translator. I saw it mentioned on the net, but I didn't catch whether one was available or where. If such a beast exists, could someone e-mail me some information, or numbers of BBS's where it might be available? Thanks. Tom Paige Compugraphic Corp. Wilmington, Ma. ...!decvax!cg-d!paige ...
asjoshi@phoenix.Princeton.EDU (Amit S. Joshi) (02/08/88)
Hello, I have some goodnews and some badnews for all those folks who (like me) wrote in Pascal and now have shifted to C. First the good news: I have managed to get the TERRIFIC translator that Per Bergen of Holistic Technology AB, Sweden, wrote and put onto the net for Unix machines to work with almost no effort for IBMPC's running MSDOS. It is a humungous (spelling?) program - the source code is like 250K and there are functions in it that only compile on a >640K machine iff (if and only if) kept in a seperate files by themselves. The executable is about 120K (when I used the small model) and 180K under the large model. What's so good about it? It actually parses the entire Pascal program and then constructs a parse tree , transforms and then produces C code based on the parse tree. Result? It has actually translated code and not simply replaced function calls by calls to some library. A quick figure: the simple program program test(input,output); begin writeln('hello'); end. becomes into a big source program. But the executable (using Turbo C) is smaller than the Com file by Turbo Pascal v3.0 !! (like 5k for test.exe (turboC medium model) and 11k for test.com using Turbo Pascal. Which brings me to the bad news: It only recognizes ISO Pascal (I don't mind - I always believed in using standard stuff). This means no Turbo Pascal !. The other things are no include files (I am writing a filter to take care of that). It also has a couple of very subtle bugs (features?) in the way it handles std I/O but even these are very Pascal features that can't be put into C in a general manner and won't affect most people for one and I don't know of any translator that handles them either ! However I think that the translator can be extended (it seems to be table driven) but I don't think that I am going to do it - it can handle my code :-). I shall post the executable to comp.binaries.ibm.pc in a couple of days Time permitting I shall post the sources to comp.sources.misc. However the sources are available on uunet.uu.net in the comp.sources.unix (and should be there on other places where that group is archived) under volume10. On UUNET the files are : comp.sources.unix/volume10/ptoc/part[01-13].Z The fixes are small and if anybody should want those send me mail and I shall give them to him/her. -- Amit Joshi BITNET | Q3696@PUCC.BITNET USENET | {seismo, rutgers}\!princeton\!phoenix\!asjoshi "There's a pleasure in being mad... which none but madmen know!" - St.Dryden