Qual è la cronologia del compilatore C?

20

Quando diciamo che "Dennis Ritchie ha sviluppato il linguaggio C", intendiamo dire che ha creato un compilatore (usando un "altro" linguaggio sviluppato già) che può compilare il codice sorgente scritto in linguaggio C? se sì, quale linguaggio usava per scrivere il primo compilatore C? Capisco che un compilatore è un programma e possiamo creare un altro compilatore per il linguaggio C utilizzando il compilatore C attualmente disponibile. È corretto?

    
posta KawaiKx 16.05.2011 - 18:20
fonte

5 risposte

22

Da wiki :

Ritchie is best known as the creator of the C programming language and a key developer of the Unix operating system, and as co-author of the definitive book on C.

Anche da wiki :

The first C compiler written by Dennis Ritchie used a recursive descent parser, incorporated specific knowledge about the PDP-11, and relied on an optional machine-specific optimizer to improve the assembly language code it generated.

Anche il primo compilatore C è stato scritto da lui, in assemblea.

Questa pagina di bell-labs risponde alla maggior parte delle tue domande.

    
risposta data 16.05.2011 - 18:26
fonte
9

Dai un'occhiata a una lezione di storia: link

When the PDP-11 computer arrived at Bell Labs, Dennis Ritchie built on B to create a new language called C which inherited Thompson's taste for concise syntax, and had a powerful mix of high-level functionality and the detailed features required to program an operating system. Most of the components of Unix were eventually rewritten in C, culminating with the kernel itself in 1973

Anche questo potrebbe essere interessante: link

    
risposta data 16.05.2011 - 18:23
fonte
7

Dennis Ritchie ha utilizzato bootstrapping . Il bootstrap è una semplice idea, in cui si sviluppa un compilatore iniziale e semplice in assembly, quindi si utilizza questo semplice compilatore per compilare il compilatore completo scritto in (un sottoinsieme della) lingua di destinazione. Ecco come Ritchie ha creato molto presto last1120c compilatore.

    
risposta data 16.05.2011 - 19:08
fonte
2

Questo articolo dovrebbe rispondere alla tua domanda:

link

La storia di C è legata al linguaggio B, per il quale Ken Thompson ha sviluppato un interprete. Ritchie l'ha usato per i primissimi stadi dello sviluppo di C.

    
risposta data 16.05.2011 - 18:25
fonte
2

C è stato progettato per consentire il porting di Unix su altre piattaforme senza dover riscrivere tutto il codice assembly per la nuova piattaforma.

Da qui il detto comune che "C è un assemblatore portatile". Ciò riflette che C è intenzionalmente molto vicino a una CPU (a partire dal 1970 circa) in termini di astrazione ed è anche la ragione per cui la maggior parte dei software embedded è scritta in qualche tipo di C.

Quindi, C è intimamente connesso con Unix, e gli Unix hanno scritto il primo compilatore C basato sul lavoro precedente per fare ciò di cui avevano bisogno.

Si noti che Kernigan e Richie hanno scritto un eccellente libro su C che è probabilmente uno dei lavori di riferimento più influenti su un linguaggio informatico, poiché era così chiaro e conciso che molti lettori potevano imparare argomenti avanzati come puntatori e ricorsività da esso .

    
risposta data 30.06.2011 - 22:28
fonte

Leggi altre domande sui tag