[Info-vax] Whither VMS?

glen herrmannsfeldt gah at ugcs.caltech.edu
Sun Oct 4 08:55:07 EDT 2009


Bob Eager <rde42 at spamcop.net> wrote:
(snip)
 
<> Because C came from the Unix environment and putting the Macro
<> Pre-preocessor in the compiler would have violated the paradigm Unix was
<> based on.  Thus, "cpp" and, of course, M4 as separate programs.
 
< It was also necessary for space reasons. The amount of address space 
< available on a PDP-11 with non-separate I/D space was only 64K. Of that, 
< 8K (one page register) was set aside (AFAIR) for system communication, 
< leaving 56K for programs.

The OS/360 PL/I (F) compiler was also designed to run on a 64K system.
(20K for OS/360 PCP, 44K for the compiler.)  It also used a separate
pass for the preprocessor, it requested.
 
< c0 (the preprocessor) handled macros and includes. c1 was the compiler, 
< which generated dreadful code as there was no space for the code 
< generator to do optimisation. c2 was the optimiser, which did a lot of 
< clever stuff. I think c1 was the limiting factor, needing pretty well all 
< the available address space for program, and data structures.
 
< Just took a look - c1 was 15K, c1 was 21K, and c2 was 8K (approx). That's 
< just code and static data. c1 would need a lot of dynamically allocated 
< storage for symbol tables, parse trees, etc.

PL/I (F) will keep the symbol table on disk if necessary.  At the
end of each compilation it indicates the available memory requried
to keep the symbol table off disk.

-- glen
 



More information about the Info-vax mailing list