Come scrivere un correttore di sintassi [chiuso]

2

Come viene scritto un verificatore di sintassi per un linguaggio di programmazione? Immagino che una grammatica debba essere scritta per prima. Come poi procedere?

Motivazione

Sto utilizzando un linguaggio di programmazione (Apex for Salesforce) che viene compilato nel cloud e un elenco di errori viene rinviato all'editor di base di Eclipse. Mi piacerebbe saltare il processo per errori di digitazione semplici e basta controllarli localmente.

    
posta ipavlic 23.08.2013 - 18:16
fonte

1 risposta

3

Hai ragione finora. In tutti i casi, devi avere una descrizione rigorosa della sintassi della lingua (una "grammatica") prima di poter costruire qualcosa che può prendere qualcosa in quel linguaggio presumibilmente e determinare se è conforme alle regole di sintassi (un "parser" ).

Il parser è il front-end di un compilatore. La generazione del codice è il back-end.

Ci sono dozzine di libri là fuori sulla costruzione del compilatore. Molti di loro entrano nei dettagli delle tecniche di analisi. Alcuni si occupano solo del back-end.

Il libro migliore e più accessibile che ho trovato per un principiante è "di Nicklaus Wirth. Costruzione del compilatore ". Disponibile gratuitamente. Dovrai tradurre il suo codice sorgente da Oberon (un semplice discendente di PASCAL e Modula-2) nella tua lingua preferita.

La serie di Jack Crenshaw, "Costruiamo un compilatore" , anche se incompleta, è quasi altrettanto valida e altrettanto accessibile.

Ci sono altri strumenti. ANTLR è popolare.

    
risposta data 23.08.2013 - 22:45
fonte