Come si crea un parser per macchine a stati LR?
-
08-07-2019 - |
Domanda
Voglio giocare con la creazione di un generatore di parser LR. Qualcuno sa di una buona risorsa (gratuita) che descrive come creare una tabella della macchina a stati da una grammatica?
Soluzione
Per una risorsa gratuita, considera il codice sorgente di Python per PLY - un'implementazione completa di Lex e Yacc in Python.
Vorrei raccomandare un libro, tuttavia, e difficilmente puoi fare di meglio che ottenere The Dragon Book .
Altri suggerimenti
La migliore risorsa che ho trovato è:
La risposta ovvia è il testo standard del compilatore di Aho / Ullman / Ravi, Compilatori: Principi, tecniche e strumenti
Ha capitoli completi sull'analisi. Non è gratuito, ma vale ogni centesimo, e se hai intenzione di costruire parser o altri strumenti simili a un compilatore, sei semplicemente pazzo se non hai questo libro.
Forse trovi utile Grammatica. È un generatore di parser gratuito per .NET. Ho una certa esperienza con esso ed è stato bello. Puoi provarlo e studiarne il codice. http://grammatica.percederberg.net/