Come funzionano i traduttori di linguaggi di programmazione? [chiuso]

0

Sono un programmatore e sto cercando di giocare con la traduzione di una lingua in un'altra. Dì C # a Lua. Sono curioso di sapere come funzionano le lingue come quelle? Penserei che ci sia una sorta di metodologia standard che potrei forse cercare in questo o è abbastanza cruda?

    
posta user441521 22.05.2014 - 19:54
fonte

1 risposta

3

Un parser può prendere il codice sorgente da una lingua e trasformarlo in un tipo di albero . Poiché qualsiasi linguaggio può essere rappresentato in questo modo, la traduzione consiste nel trasformare il codice sorgente da una lingua in un albero di sintassi e quindi invertire il processo per trasformare quell'albero nel codice sorgente della lingua di destinazione.

Ci sono, naturalmente, dettagli più fini - le lingue devono avere caratteristiche corrispondenti, quindi ci possono essere programmi in linguaggio A che non possono essere espressi direttamente nella lingua B; dovresti attenersi al sottoinsieme di funzionalità comuni a entrambi. Lo stesso potrebbe dirsi delle librerie standard: potresti convertire un printf in C in un System.out.printf in Java, ma ci sono cose che non hanno una traduzione evidente.

Ulteriori letture: La natura di Lisp

    
risposta data 22.05.2014 - 20:00
fonte

Leggi altre domande sui tag