From: Sebastien F4GRX <f4grx@f4grx.net>
To: tuhs@tuhs.org
Subject: [TUHS] Re: Software written in B
Date: Fri, 23 Jun 2023 15:32:53 +0200 [thread overview]
Message-ID: <f0f3baa1-de4c-d8c3-b23a-9ec5aa5423b6@f4grx.net> (raw)
In-Reply-To: <ZJV69kBM8E9cQyQF@indra.papnet.eu>
Hi,
Wow, this is amazing.
For my information, where are the initialization values for the
ctab[128] vector coming from?
Do you still have the version that generates a tree before codegen?
I know that generating code while parsing is possible for stack based
machines, this is also how Crenshaw describes it in its document (but
for 68k).
I decided not to do it for my own compiler, so that I can write multiple
code generators.
Sebastien
Le 23/06/2023 à 12:59, Angelo Papenhoff a écrit :
> Another update: I have worked quite a bit on my compiler
> the last couple of days and have managed to make it produce the same
> code as those in the binaries (compared the intermediate code by eye).
> There were a few mistakes, the files have been updated.
>
> I removed some features that I figured were not in ken's original
> compiler and most importantly changed it to generate RPN code directly
> instead of parsing an expression into a tree and generating code from
> that, which ken confirmed was how it worked.
> I'm still not entirely happy with the result (the build() function seems
> a bit kludgy), but at least it seems to produce something accurate.
> Unfortunately I have no idea what the intermediate would have looked
> like, so the output of this is purely my fantasy.
> I will also have to adjust my take on ba now due to the changes.
>
> For anyone interested, this is my WIP version of bc.b:
> https://gist.github.com/aap/6df9b4c53c63592437d97dadab533649
>
> aap
>
> On 17/06/23, Angelo Papenhoff wrote:
>> Update: I'm now done with the first pass of this.
>> I reversed all the programs and successfully ran them through my
>> compiler (i haven't assembled or linked anything though).
>> http://squoze.net/B/programs/
>>
>> To check for correctness, the files should of course be compiled,
>> assembled and linked again. Unfortunately my compiler currently
>> does not generate quite the same code as the original one. I will
>> have to work on this.
>> Most importantly & and | are only bitwise operators in the version
>> of B that compiled these programs, but some other differences (like
>> the fixup chain and the way strings are stored) exist too.
>>
>> It would be nice to have a fully working B system on v1/v2 UNIX again,
>> with everything built from source, we can even reconstruct different
>> versions of the runtime (and perhaps standard library). So far the
>> PDP-11 version of my B system has only run on v6 and 2.11BSD.
>>
>> best,
>> aap
>>
>> On 14/06/23, Angelo Papenhoff wrote:
>>> I will hopefully continue with this in the next time (if, goto, mail and
>>> glob are left).
next prev parent reply other threads:[~2023-06-23 13:33 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 [this message]
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
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=f0f3baa1-de4c-d8c3-b23a-9ec5aa5423b6@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).