Come è possibile scrivere il compilatore di un linguaggio di programmazione con quello stesso linguaggio [duplicato]

8

Probabilmente hai sentito che Microsoft ha rilasciato un nuovo linguaggio chiamato TypeScript che è un superset tipizzato di JavaScript.

La cosa più interessante che mi fa meravigliare è il fatto che il suo compilatore scritto in TypeScript stesso.

Chiamami ignorante ma non riuscivo davvero a capire nella mia testa come sia possibile. Questo è proprio come il problema dell'uovo e della gallina nella mia testa perché non c'è compilatore per compilare il compilatore di TypeScript in primo luogo. Com'è possibile scrivere un compilatore del compilatore di un linguaggio di programmazione con quella lingua?

    
posta tugberk 03.10.2012 - 17:53
fonte

2 risposte

12

Si chiama Bootstrap. Hai ragione che la prima versione deve essere scritta in un'altra lingua . Ma una volta fatto, puoi scrivere versioni successive con il compilatore precedentemente completato.

    
risposta data 03.10.2012 - 17:55
fonte
1

Una leggera variazione è dove il linguaggio stesso viene interpretato, quindi il compilatore è scritto nella lingua stessa, viene eseguito nell'interprete e viene compilato da solo. Questi linguaggi (in genere, Lisp) hanno rappresentazioni runtime molto diverse per codice compilato e interpretato, ma il modulo compilato è necessario per preservare la stessa semantica.

    
risposta data 03.10.2012 - 18:54
fonte

Leggi altre domande sui tag