Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #3008 > unrolled thread

Re: [Rock Brentwood] Fortran to C/C++ translation: a running example.

Started byIan Lance Taylor <ianlancetaylor@gmail.com>
First post2022-05-16 15:38 -0700
Last post2022-05-20 16:44 -0700
Articles 2 — 2 participants

Back to article view | Back to comp.compilers

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [Rock Brentwood] Fortran to C/C++ translation: a running example. Ian Lance Taylor <ianlancetaylor@gmail.com> - 2022-05-16 15:38 -0700
    Re: [Rock Brentwood] Fortran to C/C++ translation: a running example. Lydia Marie Williamson <lydiamariewilliamson@gmail.com> - 2022-05-20 16:44 -0700

#3008 — Re: [Rock Brentwood] Fortran to C/C++ translation: a running example.

FromIan Lance Taylor <ianlancetaylor@gmail.com>
Date2022-05-16 15:38 -0700
SubjectRe: [Rock Brentwood] Fortran to C/C++ translation: a running example.
Message-ID<22-05-035@comp.compilers>
> From: Rock Brentwood <rockbrentwood@gmail.com>
> The classic text-based computer game Zork / dungeon was originally devised on
> MIT computers in a LISP-offshoot (MDL), and translated to Fortran 77 by an
> "Anonymous" author. Some time later an enterprising soul converted a version
> of the Fortran edition of Zork into C ... pre-ANSI C ... with the aid of an
> earlier version of "f2c", but left no detailed paper trail behind on the
> actual translation process and stages.

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.

That said, most of the work was manually rewriting the f2c output into
something more C like.  For me this wasn't an exercise in translation
between languages, it was an exercise in making a version of Zork more
available.  So I probably don't have anything useful to add that is
relevant to the compilers list.

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.

Ian

[toc] | [next] | [standalone]


#3012

FromLydia Marie Williamson <lydiamariewilliamson@gmail.com>
Date2022-05-20 16:44 -0700
Message-ID<22-05-039@comp.compilers>
In reply to#3008
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.

[toc] | [prev] | [standalone]


Back to top | Article view | comp.compilers


csiph-web