On 2021-08-25 10:27 a.m., Todd Goodman via cctalk wrote:
On 8/25/2021 11:49 AM, ben via cctalk wrote:
[..SNIP..]
C uses cheap tricks for speed. 8 bit bytes, 32 bit integers, taken
from B. I have 21 bit CPU, with 3 7 bit bytes/word. Algol would have a
PACK/UPACK function, and be fairly portable. C on the other hand a mess.
Ok. I don't have 21 bit cpu, but I have this spare FPGA card ...
Nope, the standard doesn't specify those bit sizes.
Back in the 80s I was using the BBN C Machine with
10-bit bytes and
happily building from source I picked up on the newsgroups with little
issue
What is the BBN C Machine?
>
> > world chose to standardize on C.
> More like the same 32 bit/ 8 bit bytes vanilla cpu, with push and pop
> on the stack. Can't have near/far pointers with some intel products
> so we need new standard for the non PDP/11 or VAX computers, and again
> and again...
No, the same standard works with different
architectures.? Have you
looked into GCC in the past 20 years or so?
I looked at it 20 years ago, I did not like it then. Why .
Read all the source into memory. A memory HOG! ONE PASS COMPILE!
About the mid 70's every new compiler C/PASCAL/ALGOL/ASM wished be a 1
pass compiler for speed. Slow compile times are from a floppy or a
overloaded time sharing system or too small a memory. Hardware
not software issues.
Recursive decent compilers, are good at parsing but evaluate ()'s
wrong in code generation. The PDP 11 compiler is a 3 pass compiler,
macro, recursive decent,tree evaluation. Clean and simple and small.
For all the gripes I have about C, it is best of all the languages
I can think of from the 1970's.
Ben.
PS: How about C to FORTRAN IV compiler. :)