Strumenti e materiale di supporto¶
Questa pagina contiene alcune indicazioni circa il linguaggio di programmazione e lo strumento di generazione automatica di analizzatori lessicali e sintattici adottati per l'insegnamento.
Si osserva che, data la maturità culturale che ci si attende dagli studenti che frequentano un insegnamento complementare, il docente non intende fornire alcun supporto all'installazione, configurazione e uso pratico degli strumenti qui descritti.
Python¶
Gli algoritmi illustrati a lezione saranno presentati attraverso una loro implementazione elementare in Python 3, la scelta del linguaggio è dovuta sia per alla sua leggibilità, che per alla disponibilità di strutture dati elementari (come liste, pile, code e dizionari…) nella sua libreria standard.
Chi non conosce il linguaggio può facilmente apprendere quanto necessario all'uso che ne verrà fatto in questo insegnamento leggendo i primi cinque capitoli da "The Python Tutorial" reperibile sul sito della documentazione ufficiale.
LibLET¶
Il materiale presentato a lezione fa ampio uso di una libreria di supporto che, assieme alla sua documentazione, è in costante aggiornamento; chi intende utilizzare tale libreria può procedere secondo le istruzioni di installazione.
ANTLR¶
Una volta investigati gli algoritmi di base per l'analisi lessicale e sintattica verrà introdotto uno strumento di generazione automatica per tali analizzatori. Lo strumento scelto è ANTLR, originariamente ideato e sviluppato da Terence Parr.
La documentazione necessaria al suo uso (oltre ai libri indicati nella bibliografia delle informazioni generali sull'insegnamento) può essere reperita gratuitamente nel repository ufficiale, in particolare può risultare utile la lettura della guida "Getting Started" e delle indicazioni sull'uso del target per Python 3, così come il repository della versione Python 3 dei programmi di esempio contenuti nel libro "The Definitive ANTLR 4 Reference".