The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Sebastien F4GRX <f4grx@f4grx.net>
To: tuhs@tuhs.org
Subject: [TUHS] Re: Software written in B
Date: Fri, 23 Jun 2023 17:31:52 +0200	[thread overview]
Message-ID: <6273eb21-e529-4227-0e59-d9f496871fd1@f4grx.net> (raw)
In-Reply-To: <ZJWw+Q9tiCPNefG+@indra.papnet.eu>

Hi,

I just modified my compiler to support both syntaxes, that was easy. I 
am not trying to make my compiler as small as possible.

The 6070 version also has "default:" in the switch statement and "break" 
to exit compound statements, of which I have just implemented the second 
for now. Thats completely backwards compatible with the early version. 
These are just fancy goto and labels.

The ind.b program you shared must have been even earlier, using $( $) 
instead of braces and no parentheses on function names. With the price 
of storage these guys were really minimalists! I can imagine Ken not 
being happy about empty parentheses for functions without parameters :-)

Would you mind to share your sed script to preprocess your B B compiler? 
Thats the only thing missing for me to try compiling it.

Sebastien


Le 23/06/2023 à 16:49, Angelo Papenhoff a écrit :
> I also stumbled over these language differences.
> In my earlier compiler I tried to support all syntax that looked
> reasonable, but now I tried to make the code more accurate to the actual
> thing. I don't know much about the 6070 version of B and scj didn't
> remember many technical details when I asked him about it a few years ago.
>
> For auto vectors you can find an actual example here:
> https://github.com/DoctorWkt/pdp7-unix/blob/master/src/cmd/ind.b#L3
>
> Ken said that the language was the same on the pdp-7 and pdp-11. The
> runtime we have for both are different but this must simply reflect
> different evolutionary stages rather than platform differences.
> I haven't gotten around to building my new compiler yet, but it would be
> interesting to see if it's small enough to fit into the 4kw of pdp-7
> userspace. The runtime would have to be updated and expanded of course.
>
> In any case it should be fun to run it on v1/v2. Have to try that
> on my 11/05 :)
>
> It sure is interesting how many compilers have popped up for B over the
> years. I also have a strangely strong love for this little language.
>
> aap
>
>
> On 23/06/23, Sebastien F4GRX wrote:
>> Hi again,
>>
>> OK I found your compiler project on github: https://github.com/aap/b
>>
>> I see you have introduced changes like this one:
>>
>> -       auto ab[500], ava[150];
>> -       auto dirf, string, av, name[5], s;
>> +       auto ab 1000, ava 150;
>> +       auto dirf, string, av, name 5, s;
>>
>> So it mean that at some point the auto declaration was changed?
>>
>> Oh, yes it was. Here is the original syntax :
>> https://www.bell-labs.com/usr/dmr/www/kbman.html
>>
>> And this one describes the use of quotes for auto arrays, but thats for
>> the H6070! https://www.bell-labs.com/usr/dmr/www/bref.pdf
>>
>> Also in bref, auto a[4] reserves 5 words, but in ken's version auto a 4
>> reserves 4 words.
>>
>> I think I will make a command line option to support both language specs :)
>>
>> And fix my code, because I had found this example
>> https://github.com/Spydr06/BCause/blob/main/examples/fibonacci.b
>>
>> and was convinced that constants in auto were initial values, but I now
>> understand that this is incorrect.
>>
>> Initialized auto variables would have been an avoidable syntactic sugar
>> on these machines!

  reply	other threads:[~2023-06-23 15:32 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-07 10:14 [TUHS] " Sebastien F4GRX
2023-06-07 10:38 ` [TUHS] " Lars Brinkhoff
2023-06-07 15:05 ` Angelo Papenhoff
2023-06-07 15:57 ` Clem Cole
2023-06-07 16:21   ` Lars Brinkhoff
2023-06-07 17:26 ` Bakul Shah
2023-06-07 18:16 ` Phil Budne
2023-06-07 23:49 ` Andrew Hume
2023-06-08  2:10   ` segaloco via TUHS
2023-06-08  3:31     ` Phil Budne
2023-06-08 15:05       ` segaloco via TUHS
2023-06-14 11:51         ` Angelo Papenhoff
2023-06-14 20:03           ` Angelo Papenhoff
2023-06-14 21:53             ` segaloco via TUHS
2023-06-14 22:05               ` Angelo Papenhoff
2023-06-15  8:00             ` Sebastien F4GRX
2023-06-15  8:21               ` Angelo Papenhoff
2023-06-15  8:33                 ` Sebastien F4GRX
2023-06-17  8:19             ` Angelo Papenhoff
2023-06-19  9:52               ` Sebastien F4GRX
2023-06-19 10:18                 ` Sebastien F4GRX
2023-06-19 10:48                   ` Lars Brinkhoff
2023-06-19 10:55                     ` G. Branden Robinson
2023-06-19 11:07                       ` Sebastien F4GRX
2023-06-19 18:44                         ` segaloco via TUHS
2023-06-23 10:59               ` Angelo Papenhoff
2023-06-23 13:32                 ` Sebastien F4GRX
2023-06-23 14:01                   ` Angelo Papenhoff
2023-06-23 14:14                     ` Sebastien F4GRX
2023-06-23 14:39                       ` Angelo Papenhoff
2023-06-23 14:10                 ` Sebastien F4GRX
2023-06-23 14:49                   ` Angelo Papenhoff
2023-06-23 15:31                     ` Sebastien F4GRX [this message]
2023-06-23 15:36                       ` Angelo Papenhoff
2023-06-23 15:53                         ` Sebastien F4GRX
2023-06-08 14:41   ` arnold
2023-06-09  8:56 ` Sebastien F4GRX
2023-06-09  9:57   ` Lars Brinkhoff

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6273eb21-e529-4227-0e59-d9f496871fd1@f4grx.net \
    --to=f4grx@f4grx.net \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).