|[6 earlier articles]|
|Re: Self compiling compiler email@example.com (Jens Kallup) (2016-03-31)|
|Re: Self compiling compiler firstname.lastname@example.org (Kaz Kylheku) (2016-04-03)|
|Re: Self compiling compiler email@example.com (ERSHC) (2016-04-02)|
|Re: Self compiling compiler firstname.lastname@example.org (Nils M Holm) (2016-04-04)|
|Re: Self compiling compiler email@example.com (2016-05-25)|
|Re: Self compiling compiler firstname.lastname@example.org (2016-05-28)|
|Re: Self compiling compiler email@example.com (2016-08-22)|
|Date:||Mon, 22 Aug 2016 15:56:29 -0700 (PDT)|
|References:||16-03-013 16-05-006 16-05-008|
|Injection-Info:||miucha.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="55430"; mail-complaints-to="firstname.lastname@example.org"|
|Posted-Date:||23 Aug 2016 12:43:57 EDT|
On Wednesday, May 25, 2016 at 7:07:16 PM UTC-5, federat...@netzero.com wrote:
> ...use the February 1985 printout PDFs
On Sunday, May 29, 2016 at 8:02:22 PM UTC-5, federat...@netzero.com wrote:
> I transcribed much of the version 1 PDF. It has to be cross-checked...
Done. Paul McJones posted the transcription of Version E from 1985 ...
... 450 pages of printout verified against the 1986 so as to minimize diffs.
That resolves most of the 365 places printout got clipped and restores most of
the spaces and tabs.
Not all the files required for compilation were in the printout; stuff would
have to be scavenged from the 1986 version and pulled back -- if necessary --
to the earlier dialect. Neither version is in a C++ dialect recognized today.
It compiles itself and only the 1986 version has C files.
If interested in doing work on self-compiling compilers; picoc can be found on
the net -- a C interpreter. It is only about 4000 lines when in minimal
configuration. However it is (self-described) legacy code and serious recoding
and redesign of the data structures will be needed; particularly to remove the
"God" objects that the entire parser; stack frame and lexer states were each
wrapped up in. The parser is recursive descent with backtracking. But the
grammar processed by it is not large enough to allow the interpreter to run
itself. A large part of the complication is that it uses no byte-code
compiling (but yet you gotta do something with the function bodies and loop
bodies -- you'll have to look and see how it's handled.)
Return to the
Search the comp.compilers archives again.