From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: from minnie.tuhs.org (minnie.tuhs.org [IPv6:2600:3c01:e000:146::1]) by inbox.vuxu.org (Postfix) with ESMTP id 9AF9922286 for ; Mon, 8 Apr 2024 03:13:39 +0200 (CEST) Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id B3F3D40240; Mon, 8 Apr 2024 11:13:37 +1000 (AEST) Received: from mail-pg1-x52d.google.com (mail-pg1-x52d.google.com [IPv6:2607:f8b0:4864:20::52d]) by minnie.tuhs.org (Postfix) with ESMTPS id 9E9AE40120 for ; Mon, 8 Apr 2024 11:13:32 +1000 (AEST) Received: by mail-pg1-x52d.google.com with SMTP id 41be03b00d2f7-5cddfe0cb64so2358642a12.0 for ; Sun, 07 Apr 2024 18:13:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712538811; x=1713143611; darn=tuhs.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=dWuNg1w8QJCsYMXRfQkPLBwcuMNz7GjsT6EAj8AjrFI=; b=VUrPTVcYmisGrSvB+ey7sUyZ0Rx1f45QCHIm4v2JhS2aQwMvlkl3z56DuvZFWD+qM9 JaynIjBTU7SaF8HJMIQsdRp7VL9C6l/gZo/1qWCcKfkdmTljxbUHOIWQONTD/1g7lnV9 5DiShAyVbzJ9oQe6QSM7uDIph7u24Z/1sX00YEellVjruqHgiJgTpl3hxIM7/jZwV9xX hA3lTAW6+UQcZYNvaDgIsxbW+p/HSNoDgv4Ed8GJ3McKSq244ddvEleHWCNArue058l6 7zOESiUS0FxHlb4zIBbyZ0U9CWpWoEdl9gZXbDhZeyrgvkgOVp6TPEUCkWWarXN8g+Ng Q6yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712538811; x=1713143611; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=dWuNg1w8QJCsYMXRfQkPLBwcuMNz7GjsT6EAj8AjrFI=; b=hyTr6MjYfqf5mWdx8F/q5vWmewQh5QaqJVZDS+GHc2p582px7GnrjAjuM/Q2KJK2P2 WVLLg3BCo1SKbjymMrzOqz3dSg2YgjnHj49U29UwRVBkZ+z1ITIP0EiR+eOiKZkD0N98 HTSb1HyjT6AOn9iiLU7ia5gWur+YVdec/m+rCr3aQZ20Kte8zOfeoEPUH7NY27zHWxO6 lAMT98q1puE4GYFlrM7qIp4Zu0DijXPkVSsX7fhu4VbXEzrzYicnmJo6DQEqjT0b1s3C 320734m/XStjxpsny0xoo7o59iIf6tmheQjO1LIWU/Lii9CCRJFr5M6mL88Pv16IRu4K wf0A== X-Gm-Message-State: AOJu0YzA5NYs1Y4TZuxyBiMzup/wKHy1GwjRtG1Yz4HipLjwqK9piQEj /LAsa3vYmTxr7E0JTJAJAaKVWkUQJzSWpruMvuaICj39S22OtSRzLGjZ0hVcRwC0bLO7Dt5I1UW ExKnAhL9Y2CgBfEG9nhuI7KKfLtSRi+3+ X-Google-Smtp-Source: AGHT+IEUoMiJPQTLHBnHcBTRLbLRawVpspUji7k7JhebNZioX3uAPpW0O1cS5kVZFs5AfrbHrTasXwisvYJNnRHJ+Go= X-Received: by 2002:a05:6a21:9181:b0:1a3:dc12:d253 with SMTP id tp1-20020a056a21918100b001a3dc12d253mr7389266pzb.46.1712538811544; Sun, 07 Apr 2024 18:13:31 -0700 (PDT) MIME-Version: 1.0 References: <1d3f129c-eafe-4fb2-9ea2-d949f3813c88@technologists.com> In-Reply-To: From: Paul Winalski Date: Sun, 7 Apr 2024 21:13:21 -0400 Message-ID: To: Computer Old Farts Followers Content-Type: multipart/alternative; boundary="00000000000086bec206158b83e7" Message-ID-Hash: 2UNRYBYVFC3F3GWNMRIQQZXTUTA7NBET X-Message-ID-Hash: 2UNRYBYVFC3F3GWNMRIQQZXTUTA7NBET X-MailFrom: paul.winalski@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [COFF] Re: Of PL/I List-Id: Computer Old Farts Forum Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --00000000000086bec206158b83e7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sun, Apr 7, 2024 at 7:10=E2=80=AFPM Dave Horsfall wr= ote: > On Tue, 2 Apr 2024, Charles H Sauer (he/him) wrote: > > [...] > > > I wrote a Fortran to PL/I crude translator in SNOBOL [...] > > Gadzooks... For our "write a simple compiler" assignment I threatened to > use SNOBOL, but my lecturer (Ken Robinson) threatened to fail me :-) > > Translating Fortran to PL/I is pretty straightforward. It translates pretty much 1-for-1 except for handling character data. One could replace Fortran's Hollerith-encoded character strings with an integer array on which a PL/I character string has been overlay defined. Back in 1977 I translated the TOPS-10 version of the Adventure game, which was in Fortran, into PL/I so that I could run it on our batch S/370 mainframe. I used an IBM 3277 transaction terminal as the interactive interface. I very carefully translated the TOPS-10 Fortran into IBM PL/I line by line, except for the character data where I bit the bullet and used pure PL/I character variables. The whole thing ran the very first time and had only one obscure bug: instead of saying PLOVER ROOM as one did in the TOPS-10 version, you had to say PLOVERROOM. Once that bug was fixed the PL/I version worked like a charm until we got our VAX, where I did another port of the TOPS-10 program so that it ran under VAX/VMS. This time it stayed in Fortran, but again there was funny business with character strings because of the 36 vs. 32 bit word size. If I were to write an automated, general Fortran-to-PL/I translator, SNOBOL would be my language of choice. -Paul W. -Paul W. --00000000000086bec206158b83e7 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Sun, Apr 7, 2024 at 7:10=E2=80=AFPM Da= ve Horsfall <dave@horsfall.org&= gt; wrote:
On Tue, 2 Apr 2024, Charles H Sauer (he/him) wrote:

[...]

> I wrote a Fortran to PL/I crude translator in SNOBOL [...]

Gadzooks...=C2=A0 For our "write a simple compiler" assignment I = threatened to
use SNOBOL, but my lecturer (Ken Robinson) threatened to fail me :-)

Translating Fortran to PL/I is pretty straightforward= .=C2=A0 It translates pretty much 1-for-1 except for handling character dat= a.=C2=A0 One could replace Fortran's Hollerith-encoded character string= s with an integer array on which a PL/I character string has been overlay d= efined.=C2=A0 Back in 1977 I translated the TOPS-10 version of the Adventur= e game, which was in Fortran, into PL/I so that I could run it on our batch= S/370 mainframe.=C2=A0 I used an IBM 3277 transaction terminal as the inte= ractive interface.=C2=A0 I very carefully translated the TOPS-10 Fortran in= to IBM PL/I line by line, except for the character data where I bit the bul= let and used pure PL/I character variables.=C2=A0 The whole thing ran the v= ery first time and had only one obscure bug:=C2=A0 instead of saying PLOVER= ROOM as one did in the TOPS-10 version, you had to say PLOVERROOM.=C2=A0 O= nce that bug was fixed the PL/I version worked like a charm until we got ou= r VAX, where I did another port of the TOPS-10 program so that it ran under= VAX/VMS.=C2=A0 This time it stayed in Fortran, but again there was funny b= usiness with character strings because of the 36 vs. 32 bit word size.

If I were to write an automated, general Fortran-to-PL= /I translator, SNOBOL would be my language of choice.

<= div>-Paul W.

-Paul W.
--00000000000086bec206158b83e7--