The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] New project to recreate the B compiler for the PDP-11
@ 2019-04-23 22:11 Robert Swierczek
  2019-04-23 22:47 ` Angelo Papenhoff
  2019-04-23 23:12 ` Angelo Papenhoff
  0 siblings, 2 replies; 4+ messages in thread
From: Robert Swierczek @ 2019-04-23 22:11 UTC (permalink / raw)
  To: TUHS main list

I just started a project to recreate the B compiler for the PDP-11 as
authentically as possible, given the few fragments that remain and
some educated guesswork.  It should be fun (for various definitions of
fun).

Here is the repository  https://github.com/rswier/pdp11-B

I have borrowed some tools from Warren's
https://github.com/DoctorWkt/unix-jun72

I have made a good start at reverse engineering the B run time library
in /usr/lib/libb.a.  I have tried to make the source match the same
style as the earliest C library found on the last1120c-bits tape.  The
remaining functions in libb.a include printf and printn which appear
to be written in B.  This should provide more clues needed to create
the compiler.

I am also tackling the dis-assembly of the threaded code interpreter
/usr/lib/bilib.a (which at the moment is a big mess on my hard-drive)

Later steps will include creating the B compiler itself by carefully
pruning down the last1120c C compiler.  The fun here will be to
boot-strap the B compiler without help from any existing modern
compilers.  I think TMG will come into play to make that happen.

All are welcome to contribute!

Rob

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-04-23 23:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-23 22:11 [TUHS] New project to recreate the B compiler for the PDP-11 Robert Swierczek
2019-04-23 22:47 ` Angelo Papenhoff
2019-04-23 23:36   ` Robert Swierczek
2019-04-23 23:12 ` Angelo Papenhoff

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).