From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HTML_FONT_LOW_CONTRAST,HTML_MESSAGE,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 18922 invoked from network); 25 Apr 2021 20:12:23 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 25 Apr 2021 20:12:23 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id D46A79C83D; Mon, 26 Apr 2021 06:12:21 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id AA77F9C836; Mon, 26 Apr 2021 06:11:33 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (1024-bit key; unprotected) header.d=planet.nl header.i=@planet.nl header.b="LMyQS50m"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 6A2CE9C836; Mon, 26 Apr 2021 06:11:25 +1000 (AEST) Received: from cpsmtpb-ews05.kpnxchange.com (cpsmtpb-ews05.kpnxchange.com [213.75.39.8]) by minnie.tuhs.org (Postfix) with ESMTP id 8714D9C835 for ; Mon, 26 Apr 2021 06:11:17 +1000 (AEST) Received: from cpsps-ews12.kpnxchange.com ([10.94.84.179]) by cpsmtpb-ews05.kpnxchange.com with Microsoft SMTPSVC(8.5.9600.16384); Sun, 25 Apr 2021 22:11:12 +0200 X-Brand: 7abm2Q== X-KPN-SpamVerdict: e1=0;e2=0;e3=0;e4=;e6=(e1=10;e3=10;e2=11;e4=10;e6=1 0);EVW:White;BM:NotScanned;FinalVerdict:Clean X-CMAE-Analysis: v=2.4 cv=T43v89GQ c=1 sm=1 tr=0 ts=6085cce0 cx=a_idp_e a=LO2mTXPAMClkaqVt2RTykg==:117 a=soxbC+bCkqwFbqeW/W/r+Q==:17 a=x1i13A_MHe4A:10 a=3YhXtTcJ-WEA:10 a=AoeSMSUmAAAA:8 a=kcQwxSrQAAAA:20 a=jEIl9BPeAAAA:8 a=0CDJXS7TAAAA:8 a=7vsvHZ2mAAAA:8 a=p8hWPCrPAAAA:8 a=bYUg5HSxAAAA:20 a=UFTA8MH_AAAA:8 a=8AsWuH7pQnwpf67YJ-MA:9 a=QEXdDO2ut3YA:10 a=IA4qIw_M-6cA:10 a=Wb-sVwQH3JoA:10 a=zwvI-rEBAAAA:8 a=mwu1hSLdMfLpCtMpFpkA:9 a=2lN9L9uZPOJO7Sjr:21 a=_W_S_7VecoQA:10 a=2UY7SMgi64q-0UtCmZ5F:22 a=UbykG2d9i8y_PxD0dgl3:22 a=4UvNIUW-e2QKwwUDAY-Z:22 a=hdUzUiK6lsseaELp4_5Y:22 a=OoLSvEA_ic9EetkLKI_r:22 X-CM-AcctID: kpn@feedback.cloudmark.com Received: from smtp.kpnmail.nl ([195.121.84.12]) by cpsps-ews12.kpnxchange.com over TLS secured channel with Microsoft SMTPSVC(8.5.9600.16384); Sun, 25 Apr 2021 22:11:12 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=planet.nl; s=planet01; h=message-id:to:date:subject:mime-version:content-type:from; bh=2N2hmSZCMiBXfs7t0/MPNpBq+hIzl8f5GpLZ56QWiU4=; b=LMyQS50m56VC2D8TcRSFgPQlVEGVoBNJ3OtYymLHYz6RAZWTkQ6O3wkZnneJYOiMRThMLjlHVsYaf iM/PLBlp07Jp3FMx8+BnNqG7z9Ds38r6abPmOizsFKeL2DdGcnK7jME+lipvXNgslhrAd5MoWMuY4k WvsnfXA0CFxvG3Dg= X-KPN-VerifiedSender: Yes X-CMASSUN: 33|xJZFudHgt2+a2rr3qPSud+DEpAA9HMfdn0XcMqNfketvN25DZ2boPKC7JfOS1NL w/ibTOvkrYMMCWMPyj1x9Jw== X-Originating-IP: 80.101.112.122 Received: from mba1.fritz.box (sqlite.xs4all.nl [80.101.112.122]) by smtp.kpnmail.nl (Halon) with ESMTPSA id 616b04cf-a602-11eb-baae-00505699772e; Sun, 25 Apr 2021 22:11:12 +0200 (CEST) From: Paul Ruizendaal Content-Type: multipart/alternative; boundary="Apple-Mail=_95B13CFC-45FC-4148-8019-AEFDDDB5DEFB" Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.7\)) Date: Sun, 25 Apr 2021 22:11:11 +0200 References: <15D66A4F-D935-4313-93C8-CBB66039E0BD@planet.nl> <202104251249.13PCnaFV031741@freefriends.org> To: TUHS main list In-Reply-To: Message-Id: X-Mailer: Apple Mail (2.3445.9.7) X-OriginalArrivalTime: 25 Apr 2021 20:11:12.0308 (UTC) FILETIME=[235F2F40:01D73A0F] X-RcptDomain: minnie.tuhs.org Subject: Re: [TUHS] pcc in 8th edition X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --Apple-Mail=_95B13CFC-45FC-4148-8019-AEFDDDB5DEFB Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Thank you, that Usenix paper is most helpful. In short, there were (at least) 4 generations of PCC: PCC, PCC2, QCC and = RCC. The first two by SCJ and the latter two by Kristol. PCC2 seems to go back to about 1980, and QCC and RCC were created in the = first half of 1985. The C compiler in 8th Edition seems to be PCC2 = based. For ease of reference I=E2=80=99ve put the M68K compiler that is = included in the Blit source tree = (https://www.tuhs.org/Archive/Distributions/Research/Dan_Cross_v8/) = here: https://gitlab.com/pnru/pcc2_m68k Anybody who has some more info on how to read a =E2=80=9Cstin=E2=80=9D = file, please share. Paul > On Apr 25, 2021, at 7:11 PM, Clem Cole wrote: >=20 > yes i'll mail under separate cover a scan > =E1=90=A7 >=20 > On Sun, Apr 25, 2021 at 11:47 AM Paul Ruizendaal > wrote: > By now found some more clues, in particular this link: > = http://computer-programming-forum.com/47-c-language/fab825b2dce1aa59.htm = = >=20 > Apparently I am talking about PCC and PCC2 in the below question. >=20 > The first post mentions 4 papers. They can be found online, apart from = the USENIX one: > "Four Generations of Portable C Compiler" by D.M. Kristol (1986 Summer = USENIX Conference Proceedings) >=20 > Anybody have that? >=20 > The second post mentions official documentation: >=20 > "In porting QCC, a useful text is the "Portable C Compiler -=20 > Version 2 (PCC2) Internals". It includes documentation of=20 > stin file formats, PCC2 tree forms, debugging flags, and=20 > compiler #defines. The manual is expensive so it's worth it=20 > most if you buy it before you figure it all out doing a=20 > port. Since the manual is based on PCC2 (and hasn't been=20 > updated), it's a good starting point, but doesn't have the=20 > latest information.=E2=80=9D >=20 > Anybody have that? (It is not on bitsavers) >=20 > Paul >=20 > > On 25 Apr 2021, at 14:49, arnold@skeeve.com = wrote: > >=20 > > Not an answer to your questions, but you may want to take a look > > at the PCC Revived project. It lives in CVS, but I have a git = mirror at > > git://github.com/arnoldrobbins/pcc-revived = > >=20 > > HTH, > >=20 > > Arnold > >=20 > > Paul Ruizendaal > wrote: > >=20 > >> For clarity and ease of reference: > >>=20 > >> - The =E2=80=9CTour of paper=E2=80=9D is for instance here: = http://citeseerx.ist.psu.edu/viewdoc/summary?doi=3D10.1.1.48.3512 = = > > >>=20 > >> - A machine description for the VAX that matches with that paper is = for instance in the SysIII source: = https://www.tuhs.org/cgi-bin/utree.pl?file=3DSysIII/usr/src/cmd/cc/vax/pcc= /table.c = = > > >>=20 > >> - The new style description in 8th edition is here: = https://www.tuhs.org/cgi-bin/utree.pl?file=3DV8/usr/src/cmd/ccom/vax/stin = = > > >>=20 > >> - The program that translates the =E2=80=9Cstin=E2=80=9D file to a = =E2=80=9Ctable.c=E2=80=9D file is here: = https://www.tuhs.org/cgi-bin/utree.pl?file=3DV8/usr/src/cmd/ccom/common/st= y.y = = > > >>=20 > >>=20 > >> =3D=3D=3D=3D > >>=20 > >> Sometimes one thing leads to another. > >>=20 > >> Following the recent mention of some retro-brew 68K single board = systems, I decided to build a CB030 board (in progress). I figure it is = a rough proxy for a 1980 VAX and would allow for some experimentation = with the 32V / SysIII / 8th edition code. > >>=20 > >> My first thought was to use the M68K compiler that is included with = the Blit sources (see THUS Archive for this), as I had used that before = to explore some of the Blit source. That compiler is LP32, not ILP32 - = which may be a source of trouble. Just changing the SZINT parameter = yielded some issues, so I started looking at the PCC source. > >>=20 > >> This source does not have a =E2=80=9Ctable.c=E2=80=9D in the well = known format as described in the =E2=80=9CA tour of the portable C = compiler=E2=80=9D paper. Instead it uses a file =E2=80=9Cstin=E2=80=9D = which appears to be in a more compact format and is translated into a = =E2=80=9Ctable.c=E2=80=9D file by a new pre-processor ("sty.y=E2=80=9D). = Then looking at the VAX compilers for 8th and 10th edition, these too = use this =E2=80=9Cstin=E2=80=9D file. > >>=20 > >> All the other m68K compilers (based on pcc) that I found appear to = derive from the V7/32V/SysIII lineage, not from the 8th edition lineage. > >>=20 > >> A quick google did not yield much background or documentation on = the STY format. > >>=20 > >> Anybody on this list that can shed some light on the history of the = STY table and on how to use it? Any surviving reports or memos that = would be useful? > >>=20 > >> Many thanks in advance > >>=20 > >> Paul > >>=20 >=20 --Apple-Mail=_95B13CFC-45FC-4148-8019-AEFDDDB5DEFB Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Thank= you, that Usenix paper is most helpful.

In short, there were (at least) 4 = generations of PCC: PCC, PCC2, QCC and RCC. The first two by SCJ and the = latter two by Kristol.
PCC2 seems to go back to = about 1980, and QCC and RCC were created in the first half of 1985. The = C compiler in 8th Edition seems to be PCC2 based.
For ease of reference I=E2=80=99ve put = the M68K compiler that is included in the Blit source tree (https://www.tuhs.org/Archive/Distributions/Research/Dan_Cross_v= 8/) here:

Anybody who has some more info on how = to read a =E2=80=9Cstin=E2=80=9D file, please share.

Paul

On Apr 25, 2021, at 7:11 PM, Clem Cole <clemc@ccc.com> = wrote:

yes  i'll mail = under separate cover a scan
3D""=E1=90=A7

On Sun, Apr = 25, 2021 at 11:47 AM Paul Ruizendaal <pnr@planet.nl> wrote:
By now found some more clues, = in particular this link:
http://computer-programming-forum.com/47-c-language/fab825b2dce= 1aa59.htm

Apparently I am talking about PCC and PCC2 in the below question.

The first post mentions 4 papers. They can be found online, apart from = the USENIX one:
"Four Generations of Portable C Compiler" by D.M. Kristol (1986 Summer = USENIX Conference Proceedings)

Anybody have that?

The second post mentions official documentation:

"In porting QCC, a useful text is the "Portable C Compiler -
Version 2 (PCC2) Internals".  It includes documentation of
stin file formats, PCC2 tree forms, debugging flags, and
compiler #defines.  The manual is expensive so it's worth it
most if you buy it before you figure it all out doing a
port.  Since the manual is based on PCC2 (and hasn't been
updated), it's a good starting point, but doesn't have the
= latest information.=E2=80=9D

Anybody have that? (It is not on bitsavers)

Paul

> On 25 Apr 2021, at 14:49, arnold@skeeve.com wrote:
>
> Not an answer to your questions, but you may want to take a look
> at the PCC Revived project.  It lives in CVS, but I have a git = mirror at
> git://github.com/arnoldrobbins/pcc-revived
>
> HTH,
>
> Arnold
>
> Paul Ruizendaal <pnr@planet.nl> wrote:
>
>> For clarity and ease of reference:
>>
>> - The =E2=80=9CTour of paper=E2=80=9D is for instance here: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=3D10.1.1.48.35= 12 <http://citeseerx.ist.psu.edu/viewdoc/summary?doi=3D10.1.1.48.35= 12>
>>
>> - A machine description for the VAX that matches with that = paper is for instance in the SysIII source: https://www.tuhs.org/cgi-bin/utree.pl?file=3DSysIII/usr/src/cmd= /cc/vax/pcc/table.c <https://www.tuhs.org/cgi-bin/utree.pl?file=3DSysIII/usr/src/cmd= /cc/vax/pcc/table.c>
>>
>> - The new style description in 8th edition is here: https://www.tuhs.org/cgi-bin/utree.pl?file=3DV8/usr/src/cmd/cco= m/vax/stin <https://www.tuhs.org/cgi-bin/utree.pl?file=3DV8/usr/src/cmd/cco= m/vax/stin>
>>
>> - The program that translates the =E2=80=9Cstin=E2=80=9D file = to a =E2=80=9Ctable.c=E2=80=9D file is here: https://www.tuhs.org/cgi-bin/utree.pl?file=3DV8/usr/src/cmd/cco= m/common/sty.y <https://www.tuhs.org/cgi-bin/utree.pl?file=3DV8/usr/src/cmd/cco= m/common/sty.y>
>>
>>
>> =3D=3D=3D=3D
>>
>> Sometimes one thing leads to another.
>>
>> Following the recent mention of some retro-brew 68K single = board systems, I decided to build a CB030 board (in progress). I figure = it is a rough proxy for a 1980 VAX and would allow for some = experimentation with the 32V / SysIII / 8th edition code.
>>
>> My first thought was to use the M68K compiler that is included = with the Blit sources (see THUS Archive for this), as I had used that = before to explore some of the Blit source. That compiler is LP32, not = ILP32 - which may be a source of trouble. Just changing the SZINT = parameter yielded some issues, so I started looking at the PCC = source.
>>
>> This source does not have a =E2=80=9Ctable.c=E2=80=9D in the = well known format as described in the =E2=80=9CA tour of the portable C = compiler=E2=80=9D paper. Instead it uses a file =E2=80=9Cstin=E2=80=9D = which appears to be in a more compact format and is translated into a = =E2=80=9Ctable.c=E2=80=9D file by a new pre-processor ("sty.y=E2=80=9D). = Then looking at the VAX compilers for 8th and 10th edition, these too = use this =E2=80=9Cstin=E2=80=9D file.
>>
>> All the other m68K compilers (based on pcc) that I found appear = to derive from the V7/32V/SysIII lineage, not from the 8th edition = lineage.
>>
>> A quick google did not yield much background or documentation = on the STY format.
>>
>> Anybody on this list that can shed some light on the history of = the STY table and on how to use it? Any surviving reports or memos that = would be useful?
>>
>> Many thanks in advance
>>
>> Paul
>>


= --Apple-Mail=_95B13CFC-45FC-4148-8019-AEFDDDB5DEFB--