Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

"You are WRONG, you ol' brass-breasted fascist poop!" -- Bloom County


devel / comp.os.cpm / Looking for Flynn & Moranville's ALGOL-M source code

SubjectAuthor
* Looking for Flynn & Moranville's ALGOL-M source codeWilliam Gallant
+- Re: Looking for Flynn & Moranville's ALGOL-M source codemarb...@yahoo.co.uk
+* Re: Looking for Flynn & Moranville's ALGOL-M source codeDennis Boone
|`* Re: Looking for Flynn & Moranville's ALGOL-M source codefridtjof.ma...@gmail.com
| +* Re: Looking for Flynn & Moranville's ALGOL-M source codeldkr...@gmail.com
| |`- Re: Looking for Flynn & Moranville's ALGOL-M source codeWilliam Gallant
| `* Re: Looking for Flynn & Moranville's ALGOL-M source codeDennis Boone
|  `* Re: Looking for Flynn & Moranville's ALGOL-M source codeldkr...@gmail.com
|   `* Re: Looking for Flynn & Moranville's ALGOL-M source codeldkr...@gmail.com
|    `* Re: Looking for Flynn & Moranville's ALGOL-M source codeldkr...@gmail.com
|     `* Re: Looking for Flynn & Moranville's ALGOL-M source codeldkr...@gmail.com
|      `* Re: Looking for Flynn & Moranville's ALGOL-M source codeldkr...@gmail.com
|       `* Re: Looking for Flynn & Moranville's ALGOL-M source codeStephen Mitchell
|        `* Re: Looking for Flynn & Moranville's ALGOL-M source codeldkr...@gmail.com
|         `* Re: Looking for Flynn & Moranville's ALGOL-M source codeldkr...@gmail.com
|          `- Re: Looking for Flynn & Moranville's ALGOL-M source codeSteven Hirsch
`* Re: Looking for Flynn & Moranville's ALGOL-M source codejr
 `* Re: Looking for Flynn & Moranville's ALGOL-M source codeldkr...@gmail.com
  `* Re: Looking for Flynn & Moranville's ALGOL-M source codeldkr...@gmail.com
   `* Re: Looking for Flynn & Moranville's ALGOL-M source codeldkr...@gmail.com
    +- Re: Looking for Flynn & Moranville's ALGOL-M source codeОксана Никитина
    `- Re: Looking for Flynn & Moranville's ALGOL-M source codeMartin

1
Looking for Flynn & Moranville's ALGOL-M source code

<79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2731&group=comp.os.cpm#2731

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a37:9e8c:: with SMTP id h134mr8510452qke.366.1631512200497; Sun, 12 Sep 2021 22:50:00 -0700 (PDT)
X-Received: by 2002:a9d:4916:: with SMTP id e22mr8731206otf.43.1631512200104; Sun, 12 Sep 2021 22:50:00 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!feeder1.feed.usenet.farm!feed.usenet.farm!tr3.eu1.usenetexpress.com!feeder.usenetexpress.com!tr3.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Sun, 12 Sep 2021 22:49:59 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=65.183.150.237; posting-account=vzxIggoAAAC53erQVj401_8QIq-X6kHc
NNTP-Posting-Host: 65.183.150.237
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
Subject: Looking for Flynn & Moranville's ALGOL-M source code
From: sigma.re...@gmail.com (William Gallant)
Injection-Date: Mon, 13 Sep 2021 05:50:00 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 6
 by: William Gallant - Mon, 13 Sep 2021 05:49 UTC

Hi -
Anyone have PL/M source code to John Flynn and
Mark Moranville's ALGOL-M? I really wouldn't want to
hand-type 150+ pages of the listing which is in a
poor copy of a pdf file.

Wiliam Gallant

Re: Looking for Flynn & Moranville's ALGOL-M source code

<b196ab2b-c8f8-4d26-b400-5f255b609bc5n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2741&group=comp.os.cpm#2741

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ad4:4671:: with SMTP id z17mr11019750qvv.62.1631716224851;
Wed, 15 Sep 2021 07:30:24 -0700 (PDT)
X-Received: by 2002:a05:6808:654:: with SMTP id z20mr6680oih.118.1631716224508;
Wed, 15 Sep 2021 07:30:24 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Wed, 15 Sep 2021 07:30:24 -0700 (PDT)
In-Reply-To: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=90.254.175.191; posting-account=NDbexAkAAABcldymCnMdZSdAv_y5Ch4B
NNTP-Posting-Host: 90.254.175.191
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b196ab2b-c8f8-4d26-b400-5f255b609bc5n@googlegroups.com>
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
From: marbly...@yahoo.co.uk (marb...@yahoo.co.uk)
Injection-Date: Wed, 15 Sep 2021 14:30:24 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 8
 by: marb...@yahoo.co.uk - Wed, 15 Sep 2021 14:30 UTC

On Monday, 13 September 2021 at 06:50:00 UTC+1, sigma.r...@gmail.com wrote:
> Hi -
> Anyone have PL/M source code to John Flynn and
> Mark Moranville's ALGOL-M? I really wouldn't want to
> hand-type 150+ pages of the listing which is in a
> poor copy of a pdf file.

There was an Algol compiler for CP/M? Why didn't I know that in the '80s?!
(I used to program my Amstrad PCW8512 mostly in Pascal or C. Algol 68 is the most beautiful programming language, IMHO, but I guess Algol-M is much more like Algol 60.)

Re: Looking for Flynn & Moranville's ALGOL-M source code

<vN6dnXNHM8uzvt_8nZ2dnUU7-VOdnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2742&group=comp.os.cpm#2742

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!buffer2.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Wed, 15 Sep 2021 11:45:34 -0500
Sender: Dennis Boone <drb@yagi.h-net.org>
From: drb...@ihatespam.msu.edu (Dennis Boone)
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
Newsgroups: comp.os.cpm
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
User-Agent: tin/2.4.5-20201224 ("Glen Albyn") (FreeBSD/12.2-RELEASE-p6 (amd64))
Message-ID: <vN6dnXNHM8uzvt_8nZ2dnUU7-VOdnZ2d@giganews.com>
Date: Wed, 15 Sep 2021 11:45:34 -0500
Lines: 8
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-Wmdz63so3VSMWipwywZqcf+ZV+agwyRq5rMw9E3T7Oyl4XICKKtQHmfLHAs+DCk/MnflAAK3QPdubUu!p+ROV8qi77tZ5iR1wkUv2x3Ryp78pQax8YnqaHUnjtwcVUww9afQtBRqOn5uIkNMdiMJawo=
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 1318
 by: Dennis Boone - Wed, 15 Sep 2021 16:45 UTC

> Anyone have PL/M source code to John Flynn and
> Mark Moranville's ALGOL-M? I really wouldn't want to
> hand-type 150+ pages of the listing which is in a
> poor copy of a pdf file.

http://www.retroarchive.org/cpm/lang/ALGOL-M.ZIP perhaps?

De

Re: Looking for Flynn & Moranville's ALGOL-M source code

<d836fabe-1dd3-4720-b403-d5ea2f13faecn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2743&group=comp.os.cpm#2743

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ad4:4ab1:: with SMTP id i17mr1445839qvx.11.1631735099115;
Wed, 15 Sep 2021 12:44:59 -0700 (PDT)
X-Received: by 2002:a05:6830:4196:: with SMTP id r22mr1517128otu.231.1631735098944;
Wed, 15 Sep 2021 12:44:58 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Wed, 15 Sep 2021 12:44:58 -0700 (PDT)
In-Reply-To: <vN6dnXNHM8uzvt_8nZ2dnUU7-VOdnZ2d@giganews.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2607:f2c0:955f:2c00:e944:939f:55ad:a135;
posting-account=KOfC_woAAAC0YBGf-3r2aV5g2Aifd9jO
NNTP-Posting-Host: 2607:f2c0:955f:2c00:e944:939f:55ad:a135
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com> <vN6dnXNHM8uzvt_8nZ2dnUU7-VOdnZ2d@giganews.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d836fabe-1dd3-4720-b403-d5ea2f13faecn@googlegroups.com>
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
From: fridtjof...@gmail.com (fridtjof.ma...@gmail.com)
Injection-Date: Wed, 15 Sep 2021 19:44:59 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 10
 by: fridtjof.ma...@gmail - Wed, 15 Sep 2021 19:44 UTC

On Wednesday, September 15, 2021 at 12:45:40 PM UTC-4, Dennis Boone wrote:
> > Anyone have PL/M source code to John Flynn and
> > Mark Moranville's ALGOL-M? I really wouldn't want to
> > hand-type 150+ pages of the listing which is in a
> > poor copy of a pdf file.
> http://www.retroarchive.org/cpm/lang/ALGOL-M.ZIP perhaps?
>
> De
That is the compiler and some test files... not the PL/M source for the compiler.

FredW

Re: Looking for Flynn & Moranville's ALGOL-M source code

<e25e3172-a485-4a63-bb23-f84d09f51762n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2744&group=comp.os.cpm#2744

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:6214:148b:: with SMTP id bn11mr4666654qvb.67.1631793595231;
Thu, 16 Sep 2021 04:59:55 -0700 (PDT)
X-Received: by 2002:a54:4104:: with SMTP id l4mr9154567oic.126.1631793594943;
Thu, 16 Sep 2021 04:59:54 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Thu, 16 Sep 2021 04:59:54 -0700 (PDT)
In-Reply-To: <d836fabe-1dd3-4720-b403-d5ea2f13faecn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=192.30.164.110; posting-account=vgtDDgoAAAD79vzJigFqI2FioZJCfmjs
NNTP-Posting-Host: 192.30.164.110
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
<vN6dnXNHM8uzvt_8nZ2dnUU7-VOdnZ2d@giganews.com> <d836fabe-1dd3-4720-b403-d5ea2f13faecn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e25e3172-a485-4a63-bb23-f84d09f51762n@googlegroups.com>
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
From: ldkrae...@gmail.com (ldkr...@gmail.com)
Injection-Date: Thu, 16 Sep 2021 11:59:55 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 3
 by: ldkr...@gmail.com - Thu, 16 Sep 2021 11:59 UTC

William,
Will you post 3 to 4 pages of the PDF's, so I can test those to see if it is possible to OCR the Source Listing?

Larry

Re: Looking for Flynn & Moranville's ALGOL-M source code

<7813b2bf-5903-404a-b63c-c89823a1c9a8n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2745&group=comp.os.cpm#2745

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ac8:4d5b:: with SMTP id x27mr1542550qtv.363.1631802628281;
Thu, 16 Sep 2021 07:30:28 -0700 (PDT)
X-Received: by 2002:a54:4104:: with SMTP id l4mr9725562oic.126.1631802628033;
Thu, 16 Sep 2021 07:30:28 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Thu, 16 Sep 2021 07:30:27 -0700 (PDT)
In-Reply-To: <e25e3172-a485-4a63-bb23-f84d09f51762n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=65.183.150.237; posting-account=vzxIggoAAAC53erQVj401_8QIq-X6kHc
NNTP-Posting-Host: 65.183.150.237
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
<vN6dnXNHM8uzvt_8nZ2dnUU7-VOdnZ2d@giganews.com> <d836fabe-1dd3-4720-b403-d5ea2f13faecn@googlegroups.com>
<e25e3172-a485-4a63-bb23-f84d09f51762n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7813b2bf-5903-404a-b63c-c89823a1c9a8n@googlegroups.com>
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
From: sigma.re...@gmail.com (William Gallant)
Injection-Date: Thu, 16 Sep 2021 14:30:28 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 14
 by: William Gallant - Thu, 16 Sep 2021 14:30 UTC

On Thursday, September 16, 2021 at 7:59:55 AM UTC-4, ldkr...@gmail.com wrote:
> William,
> Will you post 3 to 4 pages of the PDF's, so I can test those to see if it is possible to OCR the Source Listing?
>
> Larry

How do i post 16 pdf pages from the listing??
I don't see click-on command in google-mail which allows attachments.

William

p.s. perhaps this link to OneDrive will work?

https://1drv.ms/b/s!Ai4fYN78pkX1unrgooIBUbFdSt1T?e=UvGrf7

Re: Looking for Flynn & Moranville's ALGOL-M source code

<hvKdnZiONPle8t78nZ2dnUU7-N-dnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2749&group=comp.os.cpm#2749

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!buffer2.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Thu, 16 Sep 2021 11:24:35 -0500
Sender: Dennis Boone <drb@yagi.h-net.org>
From: drb...@ihatespam.msu.edu (Dennis Boone)
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
Newsgroups: comp.os.cpm
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com> <vN6dnXNHM8uzvt_8nZ2dnUU7-VOdnZ2d@giganews.com> <d836fabe-1dd3-4720-b403-d5ea2f13faecn@googlegroups.com>
User-Agent: tin/2.4.5-20201224 ("Glen Albyn") (FreeBSD/12.2-RELEASE-p6 (amd64))
Message-ID: <hvKdnZiONPle8t78nZ2dnUU7-N-dnZ2d@giganews.com>
Date: Thu, 16 Sep 2021 11:24:35 -0500
Lines: 6
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-WVAqVbVdrK8y35htTULhDXhmoC1GGUarXjzvgqvYOi9xPdfQMa6BZR0CS1yPJB1gtdaTv3araRtkQmO!h2o3RHFWsWEJ8xzD8h5UAKSXdLBQ121EKmnqP2ahUKGatyT1Z57KdaT3FwszUNj1ca5hL1Y=
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 1301
 by: Dennis Boone - Thu, 16 Sep 2021 16:24 UTC

> That is the compiler and some test files... not the PL/M source for the
> compiler.

Realized that after I posted. *sigh*

De

Re: Looking for Flynn & Moranville's ALGOL-M source code

<2d2a9b21-0d4c-45f8-ac96-350b6ea4069fn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2751&group=comp.os.cpm#2751

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ac8:6a0c:: with SMTP id t12mr6137315qtr.159.1631814872523;
Thu, 16 Sep 2021 10:54:32 -0700 (PDT)
X-Received: by 2002:a54:4104:: with SMTP id l4mr10537466oic.126.1631814872178;
Thu, 16 Sep 2021 10:54:32 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Thu, 16 Sep 2021 10:54:31 -0700 (PDT)
In-Reply-To: <hvKdnZiONPle8t78nZ2dnUU7-N-dnZ2d@giganews.com>
Injection-Info: google-groups.googlegroups.com; posting-host=192.30.164.110; posting-account=vgtDDgoAAAD79vzJigFqI2FioZJCfmjs
NNTP-Posting-Host: 192.30.164.110
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
<vN6dnXNHM8uzvt_8nZ2dnUU7-VOdnZ2d@giganews.com> <d836fabe-1dd3-4720-b403-d5ea2f13faecn@googlegroups.com>
<hvKdnZiONPle8t78nZ2dnUU7-N-dnZ2d@giganews.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2d2a9b21-0d4c-45f8-ac96-350b6ea4069fn@googlegroups.com>
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
From: ldkrae...@gmail.com (ldkr...@gmail.com)
Injection-Date: Thu, 16 Sep 2021 17:54:32 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 91
 by: ldkr...@gmail.com - Thu, 16 Sep 2021 17:54 UTC

William,
Here is Page 135 (page 16 of 16) that I OCR'd, then corrected several mistakes. I'm not familiar with
this code syntax, so there are likey Colons and Semicolons that are incorrect along with the TAB and
SPACE problems.

I burst the PDF with pdftk in Debian

$ pdftk document.pdf burst
$ convert -density 400 pg_001.pdf -depth 8 pg_001.tif

Then used Irfanview with the KADMOS OCR Plugin to create the pg_001.txt, which needed several edits.

/* Page 135 */
/* my OCR'd document pg_016.txt */

setlookup: procedure(a);
declare a byte:
printname = calc$varc(a):
symnhash = hash(a);
end setlockup:
lookup$only: procedure(a) byte;
declare a byte;
call setlookup(a);
if lookup$current$blk1blk$level) then
return true;
base$flag = true;
return false;
end lookup$only;

full$lookup:proc(a) byte:
declare a byte:
call setlookup(a);
if lookup then
return true:
return false:
end full$lookup:

normal$lookup: procedure(a) byte:
declare a byte;
if lookup$only(a) then
return true:
call enter:
return false;
end normal$lookup:

countprt:proc address;
/*counts the size of the prt */
return (prtct := prtct + 2):
end countprt:

gentwo:proc(a):
/* writes two bytes of obJect code on disk for literals */
declare a address:
call generate(high(a)):
call generate(low(a)):
end gentwo;

literal:proc(a):
declare a address;
call gentwo(a or 8000h);
end literal:

setcname:proc:
printname=.clabing:
symhash=clable and hashmask:
end setcname;

enter$compiler$label:proc(b):
declare b byte;
if pass1 then
do:
call setcname;
call enter;
call setaddr(codesize + b);
end:
end enter$compiler$label:

set$compiler$label:proc:
declare x byte;
clable = clable + 1;
call setcname;
if pass2 then
x=lookup;
end set$compiler$label:

compiler$label:proc;

Will work on the other 15 pages a few at a time until I am done. Look this over and let me know what needs corrected
to make the syntax correct.

Larry

Re: Looking for Flynn & Moranville's ALGOL-M source code

<230516da-4c90-4cc5-8453-eeeb751a53fcn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2755&group=comp.os.cpm#2755

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:620a:2914:: with SMTP id m20mr10436048qkp.497.1631882069148;
Fri, 17 Sep 2021 05:34:29 -0700 (PDT)
X-Received: by 2002:a05:6830:24a1:: with SMTP id v1mr3110582ots.289.1631882068821;
Fri, 17 Sep 2021 05:34:28 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Fri, 17 Sep 2021 05:34:28 -0700 (PDT)
In-Reply-To: <2d2a9b21-0d4c-45f8-ac96-350b6ea4069fn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=192.30.164.110; posting-account=vgtDDgoAAAD79vzJigFqI2FioZJCfmjs
NNTP-Posting-Host: 192.30.164.110
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
<vN6dnXNHM8uzvt_8nZ2dnUU7-VOdnZ2d@giganews.com> <d836fabe-1dd3-4720-b403-d5ea2f13faecn@googlegroups.com>
<hvKdnZiONPle8t78nZ2dnUU7-N-dnZ2d@giganews.com> <2d2a9b21-0d4c-45f8-ac96-350b6ea4069fn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <230516da-4c90-4cc5-8453-eeeb751a53fcn@googlegroups.com>
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
From: ldkrae...@gmail.com (ldkr...@gmail.com)
Injection-Date: Fri, 17 Sep 2021 12:34:29 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 265
 by: ldkr...@gmail.com - Fri, 17 Sep 2021 12:34 UTC

Pages 13, 14 & 15

/* pg_013.txt */

return byteptr;
end getsubtype;
setype:proc (type); /*set typefleld = type*/
declare type byte;
call setaddrptr (3);
byteptr = type;
end setype;

getaddr:proc address;
call setaddrptr(4);
return addrptr;
end getaddr;

do; /* block for parser */

/* pneumonics for ALGOL-M machlne */

declare nop lit '0', str lit 'i', int lit '2', xch lit '3',
lod lit '4', dcb llt '5'. dmp lit '6', xit lit '7',
ald lit '8', als llt '9', aid lit '10', ais lit '11',
adl lit '12', add lit '13', sbi lit '14', sbd lit '15',
mpi lit '16', mpd lit '17', dvi lit '18', dvd lit '19',
dneg lit '22', nes llt '22', cil lit '23', ci2 lit '24',
deci lit '25', pop lit '26'. imi lit '27', im2 lit '28',
cat lit '31', b1i lit '32',
brs lit '34', bsc lit '35', lss lit '36', d1ss lit '37',
s1ss lit '38', gtr lit '39', dgtr lit '40', sgtr lit '41',
eql lit '42', deql lit '43', seql lit '44', neq lit '45',
dneq lit '46', sneq lit '47', geq lit '48', dgeq lit '49',
sgeq lit '50', leq lit '51'. dleq lit '52', sleq lit '53',
lnot lit '54', dnot lit '55', snot lit '56', iand lit '57',
dand lit '58', sand lit '59', ior lit '60', dor Iit '61',
sor lit '62', wic lit '63', wdc lit '64', wsc lit '65',
wid lit '66', wdd lit '67', wsd lit '68', sbr lit '69',
bra lit 7O', row lit '71', sub lit '72', rcl lit '73',
rcd lit 74', rcs lit '75', rdi lit '76', rdd lit '77',
rds lit '78', rcn lit 79', ecr lit '8O'. sil lit '81',
sdi lit '82', asi lit '83', sld lit '84', sdd lit '85',
ssd lit '86', opu lit '87'. cls llt '88', rdb lit '89',
rdf lit '9O', edr lit '91', edw lit '92', pro lit '93',
sav llt '94'. sv2 lit '95'. uns lit '96', rtn lit '97':

declare state statesize,
statestack(pstacksize) stateslze,
hash(pstacksize) byte,
symloc(pstacksize) address,
srloc(pstacksize) address,
var(pstacksize) byte,
type(pstackslze) byte,
stype(pstackslze) byte,
varc(varcsize) byte,
varindex byte,
(sp,mp,mpp1,nolook) byte,
onstack(maxoncount) byte,
ciabing byte initial(2),
clab2 byte inltial(23),
clable byte,
str$size byte initial(10),
dec$size byte initial(9),
n byte,
pvnum byte initial(O),
saveparm address,
parme based saveparm byte,
fpcount byte,
parmbase address,
proc$type byte,
(ptest,l) byte,
pcount byte initial(0),
typetemp byte,
fflag byte
lpcount byte,
sifent address;

/* pg_014.txt */

initialize$synthesize:procedure:
codesize.onstack.clable = 0:
prev$index = 255:
blk$cnt = 0;
blk$level=0;
end initialize$synthesize;

synthesize: proc;

/* **** synthesize local declarations **** */

declare simvar llt '0bh',
subvar llt '99',
pro llt '93',
ext$proc 11t '03',
bit$in$func llt '05',
const lit '06',
lab llt '07',
integer llt '08',
str llt '1',
file1 llt '0ch',
func lit '0dh',
parm llt '10h';

declare (typesp,typemp,typemp1) byte,
(b,temp) byte,
(stypesp,stypemp,stypemp1) byte,
(hashsp,hashmp,hashmp1) byte,
(symlocsp,symlocmp, symlocmp1) address,
(srlocsp,srlocmp) address:

/* ********************************************************* */
/* ********** code generation proc's ********** */
/* ********************************************************* */

copy:procedure;
typesp = type(sp);
typemp1 = type(mpp1);
typemp = type(mp);
stypesp = stype(sp);
stypemp1 = stype(mpp1);
stypemp = stype(mp);
symlocsp = symloc(sp);
symlocmp1 = symloc(mpp1);
symlocmp = symloc(mp);
hashmp = hash(mp);
hashmp1 = hash(mpp1);
hashsp = hash(sp);
srlocsp = srloc(sp);
srlocrmp = srloc(mp);
end copy;

setsymlocsp: procedure(a):
declare a address:
symloc(sp) = a:
end setsymlocsp:

setsymlocmp: procedure(a):
declare a address:
symloc(mp) = a:
end setsymlocmp:

settypesp: proredure(b):
declare b byte:
type(sp) = b;
end settypesp;

/* pg_015.txt */

setstypesp: procedure(b):
declare b byte:
stype(sp) = b;
end setstypesp;

setstypemp: procedure(b):
declare b byte;
stype(mp) = b;
end setstypemp:

settypemp: procedure(b):
declare b byte;
type(mp) = b;
end settypetmp;

sethashmp: procedure(b):
declare b byte:
hash(mp) = b;
end sethashmp;

sethashsp: procedure(b):
declare b byte:
hash(sp) = b;
end sethashsp;

setsrlocsp: procedure(a):
declare a address;
srloc(sp) = a;
end setsrlocsp;

setsrlocmp: proc(a);
declare a byte;
srloc(mp)=a;
end setsrlocmp;

getsrloc: proc byte;
call setaddrptr(8);
return addrptr;
end getsrloc;

generate:proc(obJcode):
/*writes generated code and counts size
of code area. */
declare objcode byte;
codesize = codesize + 1;
If not pass1 then
cnll emit(objcode);
end generate;

gen$int$v: proc(a);
declare a byte;
call generate(imi);
call generate(a);
end gen$int$v;

incr$blk$level: proc:
prev$blk$level(prev$index := prev$index+1) = blk$level:
blk$level = blk$cnt + 1;
blk$cnt = blk$cnt+1;
call generate(bii);
end incr$blk$level;

decr$blk$level: proc:
blk$level = prev$blk$level(prev$index):
prev$Index = prev$index-1;
call generate(bld);
end decr$blk$level;

calc$varc: procedure(b) address;
declare b byte;
return var(b) + .varc;
end calc$varc;

Larry

Re: Looking for Flynn & Moranville's ALGOL-M source code

<4fca87b0-26ea-48d1-8743-83d17165a4cen@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2756&group=comp.os.cpm#2756

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a0c:8e49:: with SMTP id w9mr11185558qvb.3.1631889087122;
Fri, 17 Sep 2021 07:31:27 -0700 (PDT)
X-Received: by 2002:a05:6808:1302:: with SMTP id y2mr5536670oiv.85.1631889086743;
Fri, 17 Sep 2021 07:31:26 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Fri, 17 Sep 2021 07:31:26 -0700 (PDT)
In-Reply-To: <230516da-4c90-4cc5-8453-eeeb751a53fcn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=192.30.164.110; posting-account=vgtDDgoAAAD79vzJigFqI2FioZJCfmjs
NNTP-Posting-Host: 192.30.164.110
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
<vN6dnXNHM8uzvt_8nZ2dnUU7-VOdnZ2d@giganews.com> <d836fabe-1dd3-4720-b403-d5ea2f13faecn@googlegroups.com>
<hvKdnZiONPle8t78nZ2dnUU7-N-dnZ2d@giganews.com> <2d2a9b21-0d4c-45f8-ac96-350b6ea4069fn@googlegroups.com>
<230516da-4c90-4cc5-8453-eeeb751a53fcn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4fca87b0-26ea-48d1-8743-83d17165a4cen@googlegroups.com>
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
From: ldkrae...@gmail.com (ldkr...@gmail.com)
Injection-Date: Fri, 17 Sep 2021 14:31:27 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 155
 by: ldkr...@gmail.com - Fri, 17 Sep 2021 14:31 UTC

/* pg_011.txt */

/**************************************************/
/* procedures for synthesizer */
/**************************************************/

initialize$symtb1:proc;
if pass1 then
do:
/* fill hashtable wlth 0's */
call fill(.hashtable,O.shl(hashtb1size,2));
sbtbl = .memory;
end:
/*initialize pointer to top of symbol table*/
sbtbltop = max - 2;
end initialize$symtbl;

setaddrptr:proc(offset); /*set ptr for addr reference*/
declare offset byte;
aptraddr = base + ptr + offset: /*positlon for addr reference*/
end setaddrptr;

set$blk$level:proc(level);
declare level byte;
call setaddrptr(6);
byteptr = level1;
end set$blk$level;

gethash:proc byte;
declare hash byte,
1 byte,
hash = 0;
aptraddr = base + 2:
do i = 1 to ptr:
hash = (hash + byteptr(i)) and hashmask:
end;
return hash:
end gethash;

nextentry:proc:
base = base + ptr + 8;
end nextentry;

setlink:proc;
aptraddr = base + 1;
end setlink;
hashtbl$of$symhash:proc address;
return hashtable(symhash);
end hashtbl$of$symhash;

limits:proc(count):
/*check to see if additional sbtbl will overflow limits of
memory. If so, then punnt else return */
declare count byte: /*size being added is count */
if sbtbltop <= (sbtbl + count) then
do :
call error('to');
call mon3;
end;
end limits:

setaddr:proc(loc);
/*set the address field and resolved bit*/
declare loc address;
call setaddrptr (4):
addrptr = loc;
end setaddr:

lookup$current$blk.proc(chk$blk) byte:
declare chk$blk byte,
len byte.
n based printname byte;

/* pg_012.txt */

base=hashtbl$of$symhash:
do while base <> 0;
call setaddrptr(6);
if byteptr < chk$blk then
return false;
if byteptr = chk$blk then
do:
if (len:=ptr) = n then
do while (ptr(len / 2) = n(len));
if (len := len - 1) = 0 then
return true:
end;
end;
call setlink:
base = addrptr:
end:
return false;
end lookup$current$blk:

lookup:proc byte:
declare test$blk byte,
test$index byte;
test$index = prev$index+1;
test$blk = blk$1eve1;
do while (test$index := test$index - 1) <> 255;
if lookup$current$blk(test$blk) then
return true;
test$blk = prev$blk$level(test$index);
end;
return false;
end lookup:

enter:proc;
/*enter token reference by printname and symhash
into next available location in the symbol table.
set base to beginnlng of this entry and increment
sbtbl. also check for symbol table full. */
declare 1 byte,
n based printname byte;
call limlts(1:=n+8);
base = sbtbl; /*base for new entry */
call move(printname + 1,sbtbl + 3,(ptr := n));
call setaddrptr(3):/*set resolve bit to 0*/
byteptr = 0;
call setlink;
addrptr = hashtbl$of$symhash;
hashtable(symhash) = base;
call set$blk$level(blk$level);
sbtbl = sbtbl + 1;
end enter:
getlentproc byte; /*return length of the p/n */
return ptr;
end getlen;

getype:proc byte; /*returns type of variable*/
call setaddrptr (3);
return byteptr:
end getype;

setsubtype:proc(stype):/*enter the subtype in sbtbl*/
declare stype byte;
call setaddrptr(7);
byteptr=stype;
end setsubtype;

get$parm: proc byte:
call setaddrptr(10);
return byteptr;
end get$parm:

getsnbtype:proc byte:/*return the subtype*/
call setaddrptr(7);

Larry

Re: Looking for Flynn & Moranville's ALGOL-M source code

<dcec6649-2c52-494d-b876-9d2962003c8cn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2758&group=comp.os.cpm#2758

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:622a:610:: with SMTP id z16mr7037860qta.101.1631997752013;
Sat, 18 Sep 2021 13:42:32 -0700 (PDT)
X-Received: by 2002:a05:6808:3d9:: with SMTP id o25mr8303733oie.168.1631997751748;
Sat, 18 Sep 2021 13:42:31 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Sat, 18 Sep 2021 13:42:31 -0700 (PDT)
In-Reply-To: <4fca87b0-26ea-48d1-8743-83d17165a4cen@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=192.30.164.110; posting-account=vgtDDgoAAAD79vzJigFqI2FioZJCfmjs
NNTP-Posting-Host: 192.30.164.110
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
<vN6dnXNHM8uzvt_8nZ2dnUU7-VOdnZ2d@giganews.com> <d836fabe-1dd3-4720-b403-d5ea2f13faecn@googlegroups.com>
<hvKdnZiONPle8t78nZ2dnUU7-N-dnZ2d@giganews.com> <2d2a9b21-0d4c-45f8-ac96-350b6ea4069fn@googlegroups.com>
<230516da-4c90-4cc5-8453-eeeb751a53fcn@googlegroups.com> <4fca87b0-26ea-48d1-8743-83d17165a4cen@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <dcec6649-2c52-494d-b876-9d2962003c8cn@googlegroups.com>
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
From: ldkrae...@gmail.com (ldkr...@gmail.com)
Injection-Date: Sat, 18 Sep 2021 20:42:32 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 216
 by: ldkr...@gmail.com - Sat, 18 Sep 2021 20:42 UTC

/* pg_008.txt */

end;
end initialize$scanner;

/****************************************************/
/* scanner */
/****************************************************/
scanner: procednre;

putinaccum: procedure;
if not cont then
do;
accum(accum := accum + 1) = nextchar;
hashcode = (hashcode + nextchar) and hashmask;
if accum = 31 then cont = true;
end;
end putinaccum:

putandget: procedure:
call putinaccum;
call getnoblank;
end putandget;

putandchar procedure:
call putinaccum;
nextchar = getchar;
end putandchar;

numeric: procedure byte;
return(nextchar - '0') <= 9;
end numeric;

lower$case: procedure byte;
return (nextchar >= 61h) and (nextchar <= 7ah);
end lower$case;

decimalpt:proc byte;
_return nextchar='.';
end decimalpt;

conv$to$upper:proc;
if lowercase and lowertoupper then
nextchar=nextchar and 5fh;
end conv$to$upper;

letter: procedure byte;
call conv$to$upper;
return ((nextchar - 'a') <= 25) or lowercase;
end letter;

alphanum: procedure byte;
return numeric or letter or decimalpt;
end alphanum;

spoolnumeric: procedure,
do while numeric;
call putandchar;
end;
end spoolnumeric;

setup$next$call: procedure;
if nextchar = ' ' then
call getnoblank;
cont = false;
end setup$next$call;

lookup: procedure byte;

declare maxrwing lit '9';

/* pg_009.txt */

declare vocab data(0,'<','(','+',5dh,7ch,'*',')',';','-','/',',','>'
,':',5bh,'=','**',':=','do','go','if','of','or','to','eof','and'
,'end','for','not','pic','tab','case','else','file','goto','read'
,'step','then','array','begin','close','until','while','write'
,'string','decimal','initial','integer','writeon'
,'comment','external','function','procedure');
declare vloc data(0,1,16,32,53,81,111,117,152,168,177);
declare vnum data(0,1,16,24,31,38,44,45,50,54);
declare count data(0,14,7,6,6,5,0,4,1,0);
declare ptr address, (field based ptr) (9) byte;
declare 1 byte; .

compare : procedure byte;
declare 1 byte;
i = 0;
do while (field(i) = accum(i := i + 1)) and i <= accum:
end;
return 1 > accum:
end compare;

if accum> maxrwing then
return false;
ptr=vloc(accum)+.vocab;
do i=vnum(accum) to (vnum(accum)+count(accum));
if compare then
do;
if i=50 then
token=comment;
else
token=i;
return true;
end;
ptr=ptr+accum;
end;
return false;
end lookup:

/**************************************************/
/* scanner maln code */
/**************************************************/
do forever:
accum, hashcode, token = 0;
do whi1e nextchar=eolchar;
call getnoblank;
end;
if(nextchar = stringdelim) or cont then
do; /* found string */
token = string;
cont = false;
do forever;
do while getchar <> stringdelim;
call putinaccum;
if cont then return;
end;
call getnoblank;
if nextchar <> stringdelim then
return;
call put$in$accum;
end; /* of do forever */
end; /* of recognizing a string */

else if numeric or decimalpt then
do: /* have digit */
token = integerc;
do while nextchar='0'; /*elim leading zeros*/
nextchar=getchar;
end;
call spoolnumeric;
if decimalpt then

/* pg_010.txt */

do;
token=decimal;
call putandchar;
call spoolnumeric;
end,
if accum=O then
hashcode.accum(accum := 1) = '0':
call setup$next$call:
return;
end; /* of recognizing numeric constant */

else if letter then
do: /* have a letter */
do while alphanum;
call putandchar:
end:
if not lookup then
do;
token = identifier;
call setup$next$call;
return;
end:
else /* is a rw but if comment skip */
if token = commnent then
do;
do while nextchar <> ';';
nextchar = getchar;
end;
call get$no$blank;
end;
else
do:
call set$up$next$call;
return;
end;
end; /* of recognizing rw or ident */

else
do: /* special character */
if nextchar = 25h then
do:
nextchar=getchar;
do while nextchar <> 25h;
nextchar = getchar;
end:
call getSno$blank:
end;
else
do:
if nextchar = ':' then
do:
call putandchar;
if nextchar = '*' then
call putandget;
end;
else call putandget:
if not lookup then
call errror('ic');
call setup$next$call;
return;
end:
end; /* of recognizing specialial char */
end; /* of do forever */
end scanner; /* end of scanner */

Larry

Re: Looking for Flynn & Moranville's ALGOL-M source code

<ba4092cd-c662-4937-8d82-4f86010cf595n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2760&group=comp.os.cpm#2760

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ac8:4d5b:: with SMTP id x27mr14016260qtv.363.1632045607593;
Sun, 19 Sep 2021 03:00:07 -0700 (PDT)
X-Received: by 2002:a54:418a:: with SMTP id 10mr906741oiy.13.1632045607254;
Sun, 19 Sep 2021 03:00:07 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Sun, 19 Sep 2021 03:00:07 -0700 (PDT)
In-Reply-To: <dcec6649-2c52-494d-b876-9d2962003c8cn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=192.30.164.110; posting-account=vgtDDgoAAAD79vzJigFqI2FioZJCfmjs
NNTP-Posting-Host: 192.30.164.110
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
<vN6dnXNHM8uzvt_8nZ2dnUU7-VOdnZ2d@giganews.com> <d836fabe-1dd3-4720-b403-d5ea2f13faecn@googlegroups.com>
<hvKdnZiONPle8t78nZ2dnUU7-N-dnZ2d@giganews.com> <2d2a9b21-0d4c-45f8-ac96-350b6ea4069fn@googlegroups.com>
<230516da-4c90-4cc5-8453-eeeb751a53fcn@googlegroups.com> <4fca87b0-26ea-48d1-8743-83d17165a4cen@googlegroups.com>
<dcec6649-2c52-494d-b876-9d2962003c8cn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ba4092cd-c662-4937-8d82-4f86010cf595n@googlegroups.com>
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
From: ldkrae...@gmail.com (ldkr...@gmail.com)
Injection-Date: Sun, 19 Sep 2021 10:00:07 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 304
 by: ldkr...@gmail.com - Sun, 19 Sep 2021 10:00 UTC

/* pg_006.txt */

emit:proc(objcode);
declare objcode byte;
if(buffptr:=buffptr+1) >= intrecsize then /*write to disk*/
do;
call write$int$file;
buffptr=0;
end;
diskoutbuff(buffptr)=objcode;
end emit;

clear$line$buff:procedure;
call fill(.linebuff,' ',conbuffsize);
end clear$line$buff;

listline: procedure(length);
declare (length,l) byte;
call print$dec(lineno);
call print$dec(prev$lindex-1);
call print$char(' ');
do i = 0 to length;
call printchar(linebuff(i));
end;
call crlf;
end listline;

/***********************************************************/
/* the followlng varlables are used by the parser */
/***********************************************************/

declare listprod byte initial(false),
lowertoupper byte initial(true),
listsource byte initial(false),
debugin byte initial(false),
listtoken byte initial(false),
errset byte initial(false),
compiling byte,
codesize address, /* used to count size of code area */
prtct address initial(0fffeh), /* used to count size of prt */

/* variables used during for loop code generation */

forcount byte initial(0),
randomfile byte,
fileio byte initial(false);

/*********************************************************/
/* scanner procedures */
/*********************************************************/

getchar: procedure byte;
declare addeof data ('eof'.eolchar,lf); /* add to end if left off */

next$source$char: procedure byte;
return sourcebuff(sourceptr);
end next$source$char;

checkflle: procedure byte:
do forever;
if (sourceptr:=sourceptr+1)>=cursourcerecsize then
do;
sourceptr=O;
if read$source$file=fileeof then
return true;
end;
if(nextchar:=next$source$char)<>lf then
return false;
end;
end checkfile;

if checkfile or (nextchar = eoffiller) then
do; /* eof reached */
call move(.addeof.sbloc,5);

/* pg_007.txt */


sourceptr = 0;
nextchar=next$source$char;
end;

linebuff(lineptr:=lineptr + 1)=nextchar; /*output line*/
if nextchar = eolchar then
do;
lineno = lineno + 1:
if listsource then
call listline(lineptr-1);
lineptr = 0;
call clearlinebuff;
end;
if nextchar = tab then
nextchar = ' ';
return nextchar;
end getchar;

getnoblank: procedure;
do while((getchar = ' ') or (nextchar = eoffiller));
end;
end getnoblank;

title:procedure;
call print(.'algol-m vers 1.0$');
call crlf;
end title:

print$error:proc;
call printdec(errorcount);
ca11 prntchar(' ');
call print(.'error(s) detected$');
call crlf;
end print$error;

error: procedure(errcode);
declare errcode address,
byte;
errorcount=errorcount+1;
call print(.'***$');
call print$dec(lineno);
call print(.' error $');
call printchar(' ');
call printchar(high(errcode));
call printchar(low(errcode));
call crlf;
call print$prod;
if token=eofc then
do :
call print$error;
call mon3;
end;
end error:

initialize$scanner: procedure;
declare count byte;
call open$sourceflle;
lineno.lineptr = 0;
call clear$line$buff;
sourceptr = 128;
call getnoblank:
do while nextchar = '$';
call get$no$blank;
if(count := (nextchar and 5fh) - 'a') <= 4 then
do case count;
if pass1 then listsource = true;
1istprod = true;
nointfile = true;
listtoken = true;
debugin = true;
end: /* of case */
call getnoblank;

/* pg_008.txt */

end;
end initialize$scanner;

/****************************************************/
/* scanner */
/****************************************************/
scanner: procednre;

putinaccum: procedure;
if not cont then
do;
accum(accum := accum + 1) = nextchar;
hashcode = (hashcode + nextchar) and hashmask;
if accum = 31 then cont = true;
end;
end putinaccum:

putandget: procedure:
call putinaccum;
call getnoblank;
end putandget;

putandchar procedure:
call putinaccum;
nextchar = getchar;
end putandchar;

numeric: procedure byte;
return(nextchar - '0') <= 9;
end numeric;

lower$case: procedure byte;
return (nextchar >= 61h) and (nextchar <= 7ah);
end lower$case;

decimalpt:proc byte;
_return nextchar='.';
end decimalpt;

conv$to$upper:proc;
if lowercase and lowertoupper then
nextchar=nextchar and 5fh;
end conv$to$upper;

letter: procedure byte;
call conv$to$upper;
return ((nextchar - 'a') <= 25) or lowercase;
end letter;

alphanum: procedure byte;
return numeric or letter or decimalpt;
end alphanum;

spoolnumeric: procedure,
do while numeric;
call putandchar;
end;
end spoolnumeric;

setup$next$call: procedure;
if nextchar = ' ' then
call getnoblank;
cont = false;
end setup$next$call;

lookup: procedure byte;

declare maxrwing lit '9';

/* pg_009.txt */

declare vocab data(0,'<','(','+',5dh,7ch,'*',')',';','-','/',',','>'
,':',5bh,'=','**',':=','do','go','if','of','or','to','eof','and'
,'end','for','not','pic','tab','case','else','file','goto','read'
,'step','then','array','begin','close','until','while','write'
,'string','decimal','initial','integer','writeon'
,'comment','external','function','procedure');
declare vloc data(0,1,16,32,53,81,111,117,152,168,177);
declare vnum data(0,1,16,24,31,38,44,45,50,54);
declare count data(0,14,7,6,6,5,0,4,1,0);
declare ptr address, (field based ptr) (9) byte;
declare 1 byte; .

compare : procedure byte;
declare 1 byte;
i = 0;
do while (field(i) = accum(i := i + 1)) and i <= accum:
end;
return 1 > accum:
end compare;

if accum> maxrwing then
return false;
ptr=vloc(accum)+.vocab;
do i=vnum(accum) to (vnum(accum)+count(accum));
if compare then
do;
if i=50 then
token=comment;
else
token=i;
return true;
end;
ptr=ptr+accum;
end;
return false;
end lookup:

/**************************************************/
/* scanner maln code */
/**************************************************/
do forever:
accum, hashcode, token = 0;
do whi1e nextchar=eolchar;
call getnoblank;
end;
if(nextchar = stringdelim) or cont then
do; /* found string */
token = string;
cont = false;
do forever;
do while getchar <> stringdelim;
call putinaccum;
if cont then return;
end;
call getnoblank;
if nextchar <> stringdelim then
return;
call put$in$accum;
end; /* of do forever */
end; /* of recognizing a string */


Click here to read the complete article
Re: Looking for Flynn & Moranville's ALGOL-M source code

<e7fa4e37-910c-439a-b7e8-064f941e8710n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2764&group=comp.os.cpm#2764

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a37:8287:: with SMTP id e129mr20583234qkd.415.1632072320665;
Sun, 19 Sep 2021 10:25:20 -0700 (PDT)
X-Received: by 2002:a05:6808:3028:: with SMTP id ay40mr12753808oib.166.1632072320297;
Sun, 19 Sep 2021 10:25:20 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Sun, 19 Sep 2021 10:25:20 -0700 (PDT)
In-Reply-To: <ba4092cd-c662-4937-8d82-4f86010cf595n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=173.73.176.47; posting-account=kVRapAkAAACnngcFYKY2y1PG7udEv3Wa
NNTP-Posting-Host: 173.73.176.47
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
<vN6dnXNHM8uzvt_8nZ2dnUU7-VOdnZ2d@giganews.com> <d836fabe-1dd3-4720-b403-d5ea2f13faecn@googlegroups.com>
<hvKdnZiONPle8t78nZ2dnUU7-N-dnZ2d@giganews.com> <2d2a9b21-0d4c-45f8-ac96-350b6ea4069fn@googlegroups.com>
<230516da-4c90-4cc5-8453-eeeb751a53fcn@googlegroups.com> <4fca87b0-26ea-48d1-8743-83d17165a4cen@googlegroups.com>
<dcec6649-2c52-494d-b876-9d2962003c8cn@googlegroups.com> <ba4092cd-c662-4937-8d82-4f86010cf595n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e7fa4e37-910c-439a-b7e8-064f941e8710n@googlegroups.com>
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
From: ssmi...@gmail.com (Stephen Mitchell)
Injection-Date: Sun, 19 Sep 2021 17:25:20 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 20
 by: Stephen Mitchell - Sun, 19 Sep 2021 17:25 UTC

On Sunday, September 19, 2021 at 6:00:08 AM UTC-4, ldkr...@gmail.com wrote:
<snip>
> Larry

If the intent (hope? desire?) of the OP is to improve upon this nifty little compiler, I do have a modest wish list. (ALGOL 60 -- on a Burroughs mainframe at the University of Virginia in 1964 -- was my first programming language, so I was attracted by nostalgia, if nothing else, to ALGOL-M and have contributed several examples to RosettaCode).

1. The lack of ALGOL 60's "entier" (greatest integer not greater than) built-in function is a serious impediment to making full use of ALGOL-M's DECIMAL data type, particularly as its integer data type is limited to the range -16,383 to 16,383.

2. The ONENDFILE statement -- which would be convenient if it worked -- mostly doesn't. There is one example program provided with the distribution that does seem to work, but I haven't been able to get any program of my own to compile that uses it.

Steve Mitchell

Re: Looking for Flynn & Moranville's ALGOL-M source code

<ac3def2d-5391-4824-842f-0c55c9f7f05fn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2766&group=comp.os.cpm#2766

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a37:9a87:: with SMTP id c129mr3634522qke.191.1632101415062;
Sun, 19 Sep 2021 18:30:15 -0700 (PDT)
X-Received: by 2002:a4a:ad4f:: with SMTP id s15mr17597892oon.85.1632101414773;
Sun, 19 Sep 2021 18:30:14 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Sun, 19 Sep 2021 18:30:14 -0700 (PDT)
In-Reply-To: <e7fa4e37-910c-439a-b7e8-064f941e8710n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=192.30.164.110; posting-account=vgtDDgoAAAD79vzJigFqI2FioZJCfmjs
NNTP-Posting-Host: 192.30.164.110
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
<vN6dnXNHM8uzvt_8nZ2dnUU7-VOdnZ2d@giganews.com> <d836fabe-1dd3-4720-b403-d5ea2f13faecn@googlegroups.com>
<hvKdnZiONPle8t78nZ2dnUU7-N-dnZ2d@giganews.com> <2d2a9b21-0d4c-45f8-ac96-350b6ea4069fn@googlegroups.com>
<230516da-4c90-4cc5-8453-eeeb751a53fcn@googlegroups.com> <4fca87b0-26ea-48d1-8743-83d17165a4cen@googlegroups.com>
<dcec6649-2c52-494d-b876-9d2962003c8cn@googlegroups.com> <ba4092cd-c662-4937-8d82-4f86010cf595n@googlegroups.com>
<e7fa4e37-910c-439a-b7e8-064f941e8710n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ac3def2d-5391-4824-842f-0c55c9f7f05fn@googlegroups.com>
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
From: ldkrae...@gmail.com (ldkr...@gmail.com)
Injection-Date: Mon, 20 Sep 2021 01:30:15 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 76
 by: ldkr...@gmail.com - Mon, 20 Sep 2021 01:30 UTC

/* pg_005.txt */

call diskerr;
end close$int$flle;

setup$int$flle: procedure;
/* setup$int$files a new file */
if nointfile then /*only make file if this toggle is off */
return;
call move(.rfcb,.wfcb,9);
wfcb(32)=0;
call mon1(19,.wfcb);
if mon2(22,.wfcb) = 255 then
call diskerr;
end setup$int$flle;

rewind$source$file:proc;
/*cp/m does not requlre any
actiorn prior to reopening*/
return;
end rewind$source$flle;

read$sourceSfile:proc byte;
declare dcnt byte;
if(dcnt:=mon2(rfile,rfcbaddr)) > fileeof then
call diskerr;
return dcnt;
end read$source$flle;

write$int$file: procedure;
if nointfile then
return;
call mon1(26,.diskoutbuff);
if mon2(21,.wfcb) <> 0 then
call diskerr;
call mon1(26,80h); /* reset dma address */
end write$lnt$flle;

crlf: procedure;
call printchar(cr) ;
call printchar(lf) ;
end crlf;

printdec: procedure(value);
declare value address, 1 byte, count byte;
declare deci(4) address lnitlal(1000,100,10,1);
declare flag byte:
flag = false;
count = 30h;
do i = 0 to 3;
do while value >= deci(i);
value = value - deci(i);
flag= true;
count = count + 1;
end;
if f1ag or (l>= 3) then
call printchar(count);
else
call printchar(' ');
end;
return;
end printdec;

print$prod:proc;
call print(,' prod = $');
call print$dec(production);
ca11 crlf;
end print$prod;

print$token:proc;
call print(.' token = $');
call print$dec(token);
call crlf;
end print$token;

Larry

Re: Looking for Flynn & Moranville's ALGOL-M source code

<d3ccd2a7-3292-45cc-a782-5072d7d414ffn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2770&group=comp.os.cpm#2770

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:6214:734:: with SMTP id c20mr24986873qvz.13.1632145064936; Mon, 20 Sep 2021 06:37:44 -0700 (PDT)
X-Received: by 2002:a9d:6143:: with SMTP id c3mr20350950otk.135.1632145064624; Mon, 20 Sep 2021 06:37:44 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!feeder1.feed.usenet.farm!feed.usenet.farm!tr3.eu1.usenetexpress.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Mon, 20 Sep 2021 06:37:44 -0700 (PDT)
In-Reply-To: <ac3def2d-5391-4824-842f-0c55c9f7f05fn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=192.30.164.110; posting-account=vgtDDgoAAAD79vzJigFqI2FioZJCfmjs
NNTP-Posting-Host: 192.30.164.110
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com> <vN6dnXNHM8uzvt_8nZ2dnUU7-VOdnZ2d@giganews.com> <d836fabe-1dd3-4720-b403-d5ea2f13faecn@googlegroups.com> <hvKdnZiONPle8t78nZ2dnUU7-N-dnZ2d@giganews.com> <2d2a9b21-0d4c-45f8-ac96-350b6ea4069fn@googlegroups.com> <230516da-4c90-4cc5-8453-eeeb751a53fcn@googlegroups.com> <4fca87b0-26ea-48d1-8743-83d17165a4cen@googlegroups.com> <dcec6649-2c52-494d-b876-9d2962003c8cn@googlegroups.com> <ba4092cd-c662-4937-8d82-4f86010cf595n@googlegroups.com> <e7fa4e37-910c-439a-b7e8-064f941e8710n@googlegroups.com> <ac3def2d-5391-4824-842f-0c55c9f7f05fn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d3ccd2a7-3292-45cc-a782-5072d7d414ffn@googlegroups.com>
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
From: ldkrae...@gmail.com (ldkr...@gmail.com)
Injection-Date: Mon, 20 Sep 2021 13:37:44 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 73
 by: ldkr...@gmail.com - Mon, 20 Sep 2021 13:37 UTC

/* pg_003.txt */

(0,195,331,332,54,161,4,264,263,262,160,10,353,358,28
,29,196,32,36,290,38,195,41,336,42,46,53,159,28,29,371,32,36,290,38
,195,41,336,42,46,53,159,344,310,309.368,333,55,70,289,3,7,16,29,33
,264,263,262,160,161,3,7,16,29,264,263,262,160,312,313,4,7,16,29,264
,263,262,160,292,157,162,343,298,157,162,5,208,300,157,162.20,25,57
,52,69,229,218,275,62,367,363,228,283,363,285,285,360,357,279,12,356
,13,361,211,355,352,274,11,18,191,288,287,26,207,209,6,311,22,243
,291,294,217,158,163,269,28,29,32,36,290,38,195,41,336,42,46,53,159
,37,164,281,14,28,29,32,36,268,290,38,195,41,336,42,155,156,214,46
,49,53,56,159,280,282,153,154,327,370,295,302,362,364,284,286,153
,261,154,327,318,261,24,39,4,7,16,29,34,35,264,263,262,160,193,359
,354,293,299,301,31,40,264,263,262,27,21,65,268,155,156,214,49,56
,297,304,66,296,303,13,19,341,163,278,30,51.45,30,317,325,30,28,32
,36,290,38,195,41,336,42,46,166,260,8,9,17,0);

declare 1ook2(101) address initial
(0,2,2,328,23,329,43,212,44,215,47,307,48,271,240,265
,240,58,59,59,265,60,265,61,305,63,273,64,277,67,206,68,68,265,240
,71,71,246,72,72,251,73,73,250,74,74,247,75,75,248,76,76,249,80,252
,81,253,82,254,88,257,92,267,120,319,121,320,127,366,128,365,131,131
,131,131,131,131,351,139,238,210,142,144,202,145,145,145,145.145,145
,349,227,219,147,333,149,290,132,152,152.244);

declare apply2(177) address initial
(0,0,77,280,101,194,192,100,115,116,114,189,201,203
,124,141,184,216,213,198,373,372,224,197,222,187,223,219,225,226,220
,97,143,342,345,221,151,151,338,242,231,95,108,110,314,315,283,316
,104,339,326,109,241,105,106,245,107,340,111,103,190,168,170,172,169
,171,167,174,175,173,256,255,83,258,176,176,90,87,87,87,87,87,87,87
,176,89,87,87,87,257,199,91,177,272,270,185,99,98,276,137,182,266
,134,237,78,234,96,285,113,118,119,117,306,308,132,84,85,135,93,93
,93,93,93,93,93,94,130,148,188,146,179,178,323,322,321,324,86,330
,233,126,79,232,112,140,125,136,337,334,183,204,150,346,347,348,186
,129,350,182,133,239,239,239,239,239,239,239,239,239,259,122,205,181
,180,236,123,369,138);

declare index1 data(0,1,2,50,70,4,70,6,6,11,6,6,12,13,14,28,6,6,6,42,43
,45,70,46,70,47,6,238,49,50,50,60,59,60,68,70,70,135,78,70,135,81,82
,85,85,86,87,90,91,92,93,94,99,95,96,97,98,99,100,103,105,90,106,91
,108,109,111,113,103,114,116,117,117,117,117,117,117,119,120,50,122
,122,122,123,125,126,70,128,128,129,131,132,134,135,70,70,59,148,149
,150,151,152.171,173,176,177,179,181,183,187,188,189,190,191,201,202
,203,204,205,206,207,207,70,208,209,212,212,213,213,214,70,215,221
,223,70,224,70,70,226,227,228,229,230,185,233,215,234,234,236,233
,238,249,250,1,4,6,8,10,12,14,18,21,23,25,27,29,31,35,38,41,44,47,50
,53,55,37,59,61,63,65,67,69,71,78,80,82,84,91,93,95,97,1,2,4,4,5,6,7
,7,8,8,8,8,8,8,8,11,12,14,14,15,15,16,16,16,16,16,17,17,19,19,24,24
,24,28,28,28,31,32,32,33,33,33,33,33,33,33,33,33,33,33,36,36,41,42
,42,60,60,60,60,60,60,61,61,61,67.67,70,70,70.70,70,72,72,72,74,74
,90,91,91,92,92,92,92,93,93,95,96,97,97,98,99,99,100,101,102,102,103
,103,104,104,105,106,106,106,107,107,107,108,108,108,108,108,108,108
,109,109,109,109,112,112,114,115,115,116,116,117,118,126,127,127,130
,130,130,132,132,135,136,136,136,136,137,137,137,138,139,140,141,142
,143,144,145,146,148,148,149,150,150,151,151,152,152,153,154,154,155
,155,156,157,157,158,158,159,169,169,170,170,171,171,173,174,175,176
,176);

declare index2 data(0,1,2,9,8,2,8,5 5,1,5,5,1,1,14,14,5,5,5,1,2.1,8,1,8
,2,5,11,1,9,9,8,1,8,2,8,8,13,3,8,13,1,3,1,1,1,3,1,1,1,1,1,1.1.1,1,1
,1,3,2,1,1,2,1,1,2,2,1,2,2,1,2,2,2,2,2,2,1,2,9,1,1,1,2,1,2,3,1,1,2,1
,2,1,13,8,8,1,1,1,1,1,19,2,3,1,2,2,2,4,1,1,1,1,10,1,1,1,1,1,1,1,1,8
,1,3,1,1,1,1,1,8,6,2,1,8,2,8,8,1,1,1,1,3,13,1,6,2,1,2,1,11,1,3,3,2,2
,2,2,2,4,3,2,2,2,2,2,4,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,7,2,2,2,7,2,2,2
,4,1,1,2,0,0,2,0,2,0,0,1,0,1,0,0,1,2,1,2,0,2,0,1,0,0,1,2,2,0,0,0,3,1
,1,3,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,2,2,3,1,1,0,2,2,0,2,0
,0,0,2,2,0,0,0,0,0,1,0,2,1,0,1,0,2,2,1,1,1,2,2,0,2,2,2,1,2,1,1,1,0,2
,1,2,2,2,2,2,1,2,1,2,2,2,2,0,1,0,1,1,1,2,1,1,1,2,1,2,2,0,2,0,1,2,0,2
,2,0,0,0,0,1,1,1,1,1,0,3,1,1,1,0,1,1,2,1,0,0,0,0,0,0,3,3,2,3,2,2,3,2
,2,2,2,1,2,3,2,0,2,1,2,3,0,2);

Larry

Re: Looking for Flynn & Moranville's ALGOL-M source code

<KpWdnUDlF_whRtT8nZ2dnUU7-KmdnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2773&group=comp.os.cpm#2773

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!buffer2.nntp.dca1.giganews.com!buffer1.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Tue, 21 Sep 2021 08:18:52 -0500
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
Newsgroups: comp.os.cpm
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
<vN6dnXNHM8uzvt_8nZ2dnUU7-VOdnZ2d@giganews.com>
<d836fabe-1dd3-4720-b403-d5ea2f13faecn@googlegroups.com>
<hvKdnZiONPle8t78nZ2dnUU7-N-dnZ2d@giganews.com>
<2d2a9b21-0d4c-45f8-ac96-350b6ea4069fn@googlegroups.com>
<230516da-4c90-4cc5-8453-eeeb751a53fcn@googlegroups.com>
<4fca87b0-26ea-48d1-8743-83d17165a4cen@googlegroups.com>
<dcec6649-2c52-494d-b876-9d2962003c8cn@googlegroups.com>
<ba4092cd-c662-4937-8d82-4f86010cf595n@googlegroups.com>
<e7fa4e37-910c-439a-b7e8-064f941e8710n@googlegroups.com>
<ac3def2d-5391-4824-842f-0c55c9f7f05fn@googlegroups.com>
<d3ccd2a7-3292-45cc-a782-5072d7d414ffn@googlegroups.com>
From: snhir...@gmail.com (Steven Hirsch)
Date: Tue, 21 Sep 2021 09:18:52 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <d3ccd2a7-3292-45cc-a782-5072d7d414ffn@googlegroups.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Message-ID: <KpWdnUDlF_whRtT8nZ2dnUU7-KmdnZ2d@giganews.com>
Lines: 10
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-ZpvR0+eGlFEZu7swl3MBhclYbGW7AAjRSfdtoI0u4MyEr0RGGFjoTUyM7t9sof8SWNMFTDA3C8d41vi!nz6teajYM91iZN5or1DPqWN91Lik545E/wRfErxVZBRdpxvf/VjC7djtsnM3YVgqhAepXS1D5nVS
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 2175
 by: Steven Hirsch - Tue, 21 Sep 2021 13:18 UTC

On 9/20/21 9:37 AM, ldkr...@gmail.com wrote:
> /* pg_003.txt */
>
> (0,195,331,332,54,161,4,264,263,262,160,10,353,358,28
> ,29,196,32,36,290,38,195,41,336,42,46,53,159,28,29,371,32,36,290,38

Hi, Larry.

Would you consider establishing a GitHub project to memorialize this work?

Re: Looking for Flynn & Moranville's ALGOL-M source code

<b90eedfc-5cdb-4a63-8366-ade2af5ee00fn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2776&group=comp.os.cpm#2776

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ac8:5492:: with SMTP id h18mr33126734qtq.152.1632301991095;
Wed, 22 Sep 2021 02:13:11 -0700 (PDT)
X-Received: by 2002:a05:6830:50:: with SMTP id d16mr27766106otp.231.1632301990630;
Wed, 22 Sep 2021 02:13:10 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!4.us.feeder.erje.net!2.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Wed, 22 Sep 2021 02:13:10 -0700 (PDT)
In-Reply-To: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=146.200.195.135; posting-account=Jp6ZZQoAAAB9AL3IpOsBhOQecb5wCKBy
NNTP-Posting-Host: 146.200.195.135
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b90eedfc-5cdb-4a63-8366-ade2af5ee00fn@googlegroups.com>
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
From: jri.k...@gmail.com (jr)
Injection-Date: Wed, 22 Sep 2021 09:13:11 +0000
Content-Type: text/plain; charset="UTF-8"
 by: jr - Wed, 22 Sep 2021 09:13 UTC

On Monday, 13 September 2021 at 06:50:00 UTC+1,
> Hi -
> Anyone have PL/M source code to John Flynn and
> Mark Moranville's ALGOL-M? I really wouldn't want to
> hand-type 150+ pages of the listing which is in a
> poor copy of a pdf file.
>
> Wiliam Gallant
Hello, 1965 worked at Kidsgrove, with KDF9 , the company were developing ALGOL

Try
https://sites.google.com/site/kirkvine/

before GOOGLE delete "Classic Sites"

JRI 22/9/2021

Re: Looking for Flynn & Moranville's ALGOL-M source code

<e394260f-ddde-4161-8401-dcce209ba0bdn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2777&group=comp.os.cpm#2777

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ac8:4291:: with SMTP id o17mr17526032qtl.147.1632316992203;
Wed, 22 Sep 2021 06:23:12 -0700 (PDT)
X-Received: by 2002:a9d:60db:: with SMTP id b27mr29951840otk.101.1632316991925;
Wed, 22 Sep 2021 06:23:11 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Wed, 22 Sep 2021 06:23:11 -0700 (PDT)
In-Reply-To: <b90eedfc-5cdb-4a63-8366-ade2af5ee00fn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=192.30.164.110; posting-account=vgtDDgoAAAD79vzJigFqI2FioZJCfmjs
NNTP-Posting-Host: 192.30.164.110
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com> <b90eedfc-5cdb-4a63-8366-ade2af5ee00fn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e394260f-ddde-4161-8401-dcce209ba0bdn@googlegroups.com>
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
From: ldkrae...@gmail.com (ldkr...@gmail.com)
Injection-Date: Wed, 22 Sep 2021 13:23:12 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 81
 by: ldkr...@gmail.com - Wed, 22 Sep 2021 13:23 UTC

Steve,
Sure, I'm not that familiar with github, but I can upload the code there. Perhaps a few folks will go through it and correct
the errors that I have missed. Some of the data statements are very hard to read.

Just one page remaining to parse and post.

/* pg_002.txt */

lineno address,
pass1 byte initial(true),
pass2 byte initial(false),
nointflle byte initial(false),
rfcbaddr address initial(5eh),
rfcb based rfcbaddr(33) byte,
wfcb(33) byte initial(0,' ','ain',0,0,0,0),
nolook byte,
production byte,
arr$loc(5) address,
arr$num byte,
sub$proc$loc address,
sub$procSvar$num byte,
arr$dim byte,
diskoutbuff(intrecsize) byte;

/* the following global variables are used by the scanner */

declare token byte, /* type of token Just scanned */
hashcode byte, /* has value of current token */
nextchar byte, /* current character from getchar */
accum(identsize) byte, /* holds current token */
cont byte; /* indicates accum was full, still more */

/*******************************************************/
/* symbol table global variables */
/*******************************************************/

declare base address, /* base of current entry */
hashtable(hashtb1size) address,
sbtbltop address, /* current top of symbol table*/
sbtbl address,
ptr based base byte, /*first byte of entry */
aptraddr address, /*utlilty variable to access table*/
addrptr based aptraddr address,
byteptr based aptraddr byte,
printname address, /*set prior to lookup or enter*/
symhash byte,
prev$b1k$level(12) byte,
prev$index byte initial(255),
step$flag byte,
blk$cnt byte initial(0),
b1k$1eve1 byte initial(1);

declare read1 data(0,39,12,15,53,55,2,49,32,53,55,5,8,8,19,20,26,27,31
,34,35,39,40,42,43,48,53,53,19,20,26,27,31,34,35,39,40,42,43,48,53
,55,55,53,55,55,15,33,55,23,2,3,9,20,28,49,52,53,55,55,2,3,9,20,49
,52,53,55,49,55,2,3,9,20,49,52,33,55,2,49,55,55,2,49,55,2,2,2,49,55
,11,14,54,51,55,13,7,4,55,55,2,13,14,2,14,14,2,8,11,7,11,7,11,11,2,8
,4,6,10,24,53,55,16,7,11,2,7,11,17,7,11,7,49,33,11,19,20,27,31,34,35
,39,40,42,43,48,53,35,32,35,14,8,19,20,27,31,33,34,35,39,40,42,43,44
,45,47,48,50,53,54,55,4,11,1,12,15,21,7,11,7,11,4,11,1,7,12,15,32,7
,13,36,2,3,9,20,29,30,49,52,53,55,8,8,8,2,2,2,25,39,49,52,53,18,11
,55,33,44,45,47,50,54,7,11,55,7,11,8,11,41,55,38,50,51,46,22,37,7,22
,19,27,31,34,35,39,40,42,43,48,55,7,3,5,9,0);

declare look1 data(0,12,15,0,15,0,2,0,2,0,11,0,14,0,8,17,32,0,2,14,0,14
,0,11,0,14,0,11,0,11,0,2,14,17,0,6,10,0,6,10,0,6,10,0,6,10,9,6,10,0
,6,10,0,16,0,16,0,16,0,17,0,11,0,25,0,25,0,11,0,11,0,33,44,45,47,50
,54,0,11,0,55,0,46,0,33,44 43,47,30,34,0,32,0,22,0,46,0,3,5 9,0);

declare apply1 data(0,0,1,0,0,0,0,0,131,143,0,0,149,0,0,0,0,44,0,14,15
,40,93,0,37,93,143,0,37,143,0,0,0,27,130,0,3,4 32,95,0,0,3,4,6,22,24
,35,36,39,86,94,95,112,122,130,134,136,137,0,0,7,8,10,16,17,0,11,18
,00,26,0,124,0,3,4,5,14,15,27,32,37,40,93,95,96,101,143,1,50,0,0,0,0
,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,46,0,61,0,0,0,0,0,14,15,37,40
,93,101,143,0,0,3,79,0,30,0,31,33,0,0,0,0,0,0,0,0,0,0,0,0,125,0,0,0
,0,0,0,0,0,0,0,0,0,14,13,27,37,40,93,101,143,150,0,0,0,52,0,9,0,0,0
);

declare read2(254) address initial

Larry

Re: Looking for Flynn & Moranville's ALGOL-M source code

<fb9252df-c61c-4e4f-9c75-4854466212cen@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2780&group=comp.os.cpm#2780

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ac8:7594:: with SMTP id s20mr3968236qtq.158.1632396332805;
Thu, 23 Sep 2021 04:25:32 -0700 (PDT)
X-Received: by 2002:a4a:6851:: with SMTP id a17mr3230384oof.15.1632396332452;
Thu, 23 Sep 2021 04:25:32 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Thu, 23 Sep 2021 04:25:32 -0700 (PDT)
In-Reply-To: <e394260f-ddde-4161-8401-dcce209ba0bdn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=192.30.164.110; posting-account=vgtDDgoAAAD79vzJigFqI2FioZJCfmjs
NNTP-Posting-Host: 192.30.164.110
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
<b90eedfc-5cdb-4a63-8366-ade2af5ee00fn@googlegroups.com> <e394260f-ddde-4161-8401-dcce209ba0bdn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <fb9252df-c61c-4e4f-9c75-4854466212cen@googlegroups.com>
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
From: ldkrae...@gmail.com (ldkr...@gmail.com)
Injection-Date: Thu, 23 Sep 2021 11:25:32 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 80
 by: ldkr...@gmail.com - Thu, 23 Sep 2021 11:25 UTC

Here is last page that was OCR'd. I'm sure there are still several errors in the previous pages,
as I searched the complete document for "0" vs "o", "i" vs "l", "1" vs "l", and lots of others.
There are probably errors in the actual pneunomics (page 13), as some of those are hard to
read. (bli vs bii vs b1i and sor vs gor vs aor). But, i don't think any other OCR software would have
worked as well as KADMOS on these source documents.

/* pg_001.txt */

ALGOL-M PROGRAM LISTINGS

100h; /*load point for compiler*/

/* ******************************************************* */
/* ********** system literals ********** */
/* ******************************************************* */

declare false literally '0',
true literally '1',
llt literally 'literally',
bdos lit '5h', /* entry point to disk operating system */
startbdos address initial(6h), /*addr of ptr to top of bdos */
max based startbdos address,
boot lit '0', /*: exit to return to operating system */
pstacksize lit '48', /* stack sizes for parser */
intrecsize lit '128',
del lit 'declare',
proc lit 'procedure',
fileeof lit '1',
rfile lit '20',
identsize lit '32',
addr lit 'address',
forever lit 'while true',
varcsize lit '100',
indexsize lit 'address',
statesize lit 'address',
maxoucount lit '23',
cr lit '13',
lf lit '0ah',
stringdelim lit '22h',
questionmark lit '3fh',
tab lit '09h',
colin lit '3ah',
comment lit '0',
conbuffsize lit '82',
eolchar lit '0dh',
hashtblsize lit '64',
sourcerecsize lit '128',
hashmask lit '63',
contchar lit '5ch',
eofflller 1it '1ah',
percent lit '25h';

declare maxrno literally '132', /* max read count */
maxino literally '190', /* max look count */
maxpno literally '190', /* max push count */
maxsno literallv '373', /* max state count */
starts literally '1', /* start state */
prodno literally '183', /* number of productions */
semic literally '8', /* semicolon */
colonc literally '13', /* colon */
doc literally '18', /* do */
eofc literally '24', /* eof */
endc literally '26', /* end */
string literally '49', /* string */
decimal literally '52 ' /* decimal */
integerc literally '33', /* integer */
procc literally '54', /* procedure */
identifier lit '55', /*identifier */
termno literally '55'; /* terminal count */

declare sbloc address initial(80h),
sourcebuff based bloc(sourcerecsize) byte,
sourceptr byte initial(sourcerecsize),
buffptr byte initial(255),
errorcount address initla1 0,
linebuff(conbuffsize) byte,
lineptr byte initial(0),

Larry

Re: Looking for Flynn & Moranville's ALGOL-M source code

<dab68ef2-e392-43f2-9aae-97eb76b8f004n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2781&group=comp.os.cpm#2781

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ac8:66d3:: with SMTP id m19mr4338515qtp.287.1632400439783;
Thu, 23 Sep 2021 05:33:59 -0700 (PDT)
X-Received: by 2002:a9d:655a:: with SMTP id q26mr4066827otl.130.1632400439422;
Thu, 23 Sep 2021 05:33:59 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Thu, 23 Sep 2021 05:33:59 -0700 (PDT)
In-Reply-To: <fb9252df-c61c-4e4f-9c75-4854466212cen@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=192.30.164.110; posting-account=vgtDDgoAAAD79vzJigFqI2FioZJCfmjs
NNTP-Posting-Host: 192.30.164.110
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
<b90eedfc-5cdb-4a63-8366-ade2af5ee00fn@googlegroups.com> <e394260f-ddde-4161-8401-dcce209ba0bdn@googlegroups.com>
<fb9252df-c61c-4e4f-9c75-4854466212cen@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <dab68ef2-e392-43f2-9aae-97eb76b8f004n@googlegroups.com>
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
From: ldkrae...@gmail.com (ldkr...@gmail.com)
Injection-Date: Thu, 23 Sep 2021 12:33:59 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 6
 by: ldkr...@gmail.com - Thu, 23 Sep 2021 12:33 UTC

The Source files are now on github at this URL:
[url]https://github.com/ldkraemer/Flynn-Moranville-s-ALGOL-M-source-code/tree/main[/url]

I've updated some errors I've found on the pages that were posted here.

Larry

Re: Looking for Flynn & Moranville's ALGOL-M source code

<41d28c90-0a90-4482-8808-6fefccfac6c1n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2782&group=comp.os.cpm#2782

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:622a:650:: with SMTP id a16mr5061821qtb.157.1632409128152;
Thu, 23 Sep 2021 07:58:48 -0700 (PDT)
X-Received: by 2002:a05:6808:bcb:: with SMTP id o11mr3848884oik.168.1632409127890;
Thu, 23 Sep 2021 07:58:47 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Thu, 23 Sep 2021 07:58:47 -0700 (PDT)
In-Reply-To: <dab68ef2-e392-43f2-9aae-97eb76b8f004n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.37.209.254; posting-account=iiI0cgoAAACwoyW2uiSeczZqXdH_pVEs
NNTP-Posting-Host: 77.37.209.254
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com>
<b90eedfc-5cdb-4a63-8366-ade2af5ee00fn@googlegroups.com> <e394260f-ddde-4161-8401-dcce209ba0bdn@googlegroups.com>
<fb9252df-c61c-4e4f-9c75-4854466212cen@googlegroups.com> <dab68ef2-e392-43f2-9aae-97eb76b8f004n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <41d28c90-0a90-4482-8808-6fefccfac6c1n@googlegroups.com>
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
From: nikitina...@gmail.com (Оксана Никитина)
Injection-Date: Thu, 23 Sep 2021 14:58:48 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 12
 by: Оксана Ник - Thu, 23 Sep 2021 14:58 UTC

четверг, 23 сентября 2021 г. в 15:34:00 UTC+3, ldkr...@gmail.com:
> The Source files are now on github at this URL:
> [url]https://github.com/ldkraemer/Flynn-Moranville-s-ALGOL-M-source-code/tree/main[/url]
>
> I've updated some errors I've found on the pages that were posted here.
>
> Larry

Information on your link is not available

Re: Looking for Flynn & Moranville's ALGOL-M source code

<sim2rv$1cgt$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=2793&group=comp.os.cpm#2793

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!i2pn.org!aioe.org!/Spy5JZzs7Lqa9epBA7y9A.user.46.165.242.75.POSTED!not-for-mail
From: this.is....@so.its.invalid (Martin)
Newsgroups: comp.os.cpm
Subject: Re: Looking for Flynn & Moranville's ALGOL-M source code
Date: Sat, 25 Sep 2021 04:51:42 +0200
Organization: Aioe.org NNTP Server
Message-ID: <sim2rv$1cgt$1@gioia.aioe.org>
References: <79e361a8-4c17-430b-a543-a1c2632569dbn@googlegroups.com> <b90eedfc-5cdb-4a63-8366-ade2af5ee00fn@googlegroups.com> <e394260f-ddde-4161-8401-dcce209ba0bdn@googlegroups.com> <fb9252df-c61c-4e4f-9c75-4854466212cen@googlegroups.com> <dab68ef2-e392-43f2-9aae-97eb76b8f004n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="45597"; posting-host="/Spy5JZzs7Lqa9epBA7y9A.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:20.0) Gecko/20100101 SeaMonkey/2.17.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: Martin - Sat, 25 Sep 2021 02:51 UTC

Am 09/23/2021 02:33 PM, ldkr...@gmail.com schrieb:
> The Source files are now on github at this URL:
> [url]https://github.com/ldkraemer/Flynn-Moranville-s-ALGOL-M-source-code/tree/main[/url]
>
> I've updated some errors I've found on the pages that were posted here.
>
> Larry
>

Larry, thank you for your work.
Like a miracle, you began to OCR page after page.

But I'm afraid, have you seen the whole document?
There are many pages ...

<https://calhoun.nps.edu/bitstream/handle/10945/18005/algolmimplementa00flyn.pdf>

*Please* continue with ALGOL-M, even if at a much slower rate.

Your effort is so promising!
Martin


devel / comp.os.cpm / Looking for Flynn & Moranville's ALGOL-M source code

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor