Percorso per l'apprendimento del compilatore [chiuso]

1

Non sono sicuro che questa sia una domanda accettabile, ma compiler- os-design-where-to-start era, quindi ho pensato che avrei fatto un tentativo.

Non ho frequentato corsi formali di informatica. Ho programmato in Python e ho tentato il C # senza successo. Il mio vocabolario tecnico è espansivo, ma sparsi su una vasta gamma di argomenti di informatica.

Ho una lunga strada da percorrere prima di poter raggiungere un livello in cui potrei ragionevolmente leggere un libro sulla progettazione / teoria del compilatore. Mi sto chiedendo quali sono i passaggi da eseguire prima di tentare la progettazione del compilatore. Ho già alcuni esempi qui:

  • Architettura del computer
  • Binary
  • Funzionamento / kernel / kernel operativi
  • Progettazione della lingua imperativa e comparativa
  • "grammatiche"

Almeno questi sono alcuni esempi di ciò che ho visto.

Modifica: non posso per la vita di me vedere come questo problema non è chiaro. Ho chiaramente messo in evidenza ciò che stavo chiedendo. Mi aspettavo che fosse contrassegnato come parziale, vago / ampio o troppo generalizzato, ma certamente non è chiaro. Non abbiate paura di dire che è non costruttivo (assicuratevi solo che tutto ciò che è classificato sia accurato).

    
posta person27 18.09.2013 - 07:02
fonte

2 risposte

10

I compilatori non sono delle creature mitiche, anche se a qualcuno potrebbe piacere che tu lo pensi.

Un compilatore è un programma come qualsiasi altro programma. Ci vuole un po 'di input, cerca di dare un senso a questo, e genera un po' di output. Hai mai scritto un programma che legge un file di testo in qualche formato e genera un codice HTML basato su quel testo? Bene, congratulazioni: hai già scritto un compilatore. Molto semplice, lo ammetto, ma è un compilatore.

Ti avvicini come qualsiasi altro programma: prova, fallisci, impara, ripeti.

Alcune risorse per aiutarti a fallire di meno e per saperne di più: -)

risposta data 18.09.2013 - 11:15
fonte
2

Il testo di Nicklaus Wirth su costruzione del compilatore è probabilmente uno dei due testi accessibili sull'argomento. L'altra è la serie di articoli di Jack Crenshaw, citata dall'altra persona.

Se vuoi seguire il percorso di Dragon Book, non c'è un approccio facile, ma puoi iniziare a lavorare attraverso Corso 6 su ocw.mit.edu . Dovrai scegliere i corsi di Computer Science.

    
risposta data 18.09.2013 - 14:46
fonte

Leggi altre domande sui tag