XPost: alt.folklore.computers   
   From: bowman@montana.com   
      
   On Wed, 07 Jan 2026 15:27:28 GMT, Scott Lurndal wrote:   
      
   > Charlie Gibbs writes:   
   >>On 2026-01-06, Waldek Hebisch wrote:   
   >>   
   >>> In alt.folklore.computers c186282 wrote:   
   >>>   
   >>>> On 1/6/26 07:16, Waldek Hebisch wrote:   
   >>>>   
   >>>>> In alt.folklore.computers c186282 wrote:    
   >>>>>> Hmm ... look at all the GNU 'compilers' -   
   >>>>>> FORTRAN, COBOL, Ada, 'D', M2, Rust,C++, G++, even Algol-68. None   
   >>>>>> are 'compilers' per-se, but to-'C' TRANSLATORS. So, 'C', pretty   
   >>>>>> much All Are One And One Is All.   
   >>>>>   
   >>>>> No. Compiler as first stage translate given language to a common   
   >>>>> representation. This representatiton is different than C. Ada and   
   >>>>> GNU Pascal have parametrized types, there is nothing like that in C.   
   >>>>> C++ (and some other languages) have exceptions, C do not have them.   
   >>>>> There are several smaller things, for example Ada or Pascal modulo   
   >>>>> is different that C/Fortran modulo. During optimization passes gcc   
   >>>>> keeps such information, to allow better optimization and error   
   >>>>> reporting.   
   >>>>>   
   >>>>> There were/are compilers that work by translating to C. But this   
   >>>>> has limitations: generated code typically is worse because language   
   >>>>> specific information is lost in translation. Error reporting is   
   >>>>> worse because translator is not doing as many analyzes as gcc do.   
   >>>>> For those reasons compilers in gcc generate common representation   
   >>>>> which contains sum of features of all supported languages and not C.   
   >>>>   
   >>>> You give it a file in whatever lang, it produces a file in 'C' and   
   >>>> compiles that.   
   >>>   
   >>> No, if you looked at what compilers in gcc are doing you will see that   
   >>> there are no intemediate C file. There is intermediate assembler, but   
   >>> between source file and assembler each compiler work independently   
   >>   
   >>Still, Bjarne Stroustrup's first implementation of C++ was a program   
   >>called cfront, which translated C++ to C.   
   >   
   > Rather ugly C, at that. I had to fix a bug in PCC[*] caused by the   
   > excessive use of the comma operator in the cfront generated C code.   
      
   Speaking of ugly...   
      
   https://en.wikipedia.org/wiki/F2c   
      
   It does produce C code that does compile but 'human readable' isn't part   
   of the deal.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|