Path: csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: Lydia Marie Williamson Newsgroups: comp.compilers Subject: Re: [Rock Brentwood] Fortran to C/C++ translation: a running example. Date: Fri, 20 May 2022 16:44:18 -0700 (PDT) Organization: Compilers Central Lines: 24 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <22-05-039@comp.compilers> References: <22-05-035@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="48132"; mail-complaints-to="abuse@iecc.com" Keywords: Fortran, history Posted-Date: 21 May 2022 11:55:14 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com In-Reply-To: <22-05-035@comp.compilers> Xref: csiph.com comp.compilers:3012 On Monday, May 16, 2022 at 6:08:05 PM UTC-5, Ian Lance Taylor wrote: > Just FYI I was the enterprising soul who translated the code from Fortran > to C. I still have at least some of the intermediate files. Happy to > answer any questions. I can interleave your in-between states into my GitHub sequence as a parallel side-branch, if you wish. That will significantly help close out another loose end that I hadn't yet fully resolved. > In particular I changed the format of the data file. I wrote a translation > program between the old format, a new format, and a text format. The text > format let me make minor changes to things like the leaflet text. I reverted back from character-based to a compromise between streaming and records - something that's also friendly to Fortran 2018. It just so happened, that later Fortran versions also included made a story and index file compiler - one that's similar to what I have. That will be integrated into the GitHub sequence, as well. Most of the issues with translation (as you'll see in the history log I kept, in the repository) were dealing with the I/O functions - with quite a few changes made on the Fortran side, even before translating to C. Fortran has streaming I/O now, which helps tremendously.