Prof. Stefano Guerrini
COMPLETAMENTO DEL PROGETTO
Chi ha inviato versioni dei primi due moduli non funzionanti, può fornire delle
versioni corrette dei propri moduli. La valutazione finale del laboratorio avverrà
quindi dopo un breve orale in cui verranno analizzati i problemi corretti (il voto
dipenderà ovviamente dal numero e dall'entità degli errori corretti). Chi non fosse in grado di correggere il proprio modulo potrà chiederne una versione funzionante al docente. In questo caso, per completare l'esame potrebbe essere necessaria una prova integrativa. | |
COMMENTO GENERALE SULLA SINTASSI DI CCINO Alcune note aggiuntive sulla sintassi di CCINO sono state fraintese, in particolare quella sulle parentesi nelle espressioni (per questo è stato aggiunto un commento che chiarisce il punto della nota sulle parentesi alla seguente pagina). Di questa viene qui riportato il punto principale per quanto riguarda l'implementazione dell'analizzatore sintattico.
| |
III e IV Modulo Con quelle del III e IV modulo, le specifiche del progetto sono ora complete. Verifica del IV Modulo È disponibile il main per la verifica del IV modulo,
ovvero per la verifica del progetto completo. Per maggiori dettagli si veda l'appendice alle
specifiche del IV modulo. Consegna III modulo: entro le 24.00 del 15/09 | |
ESEMPI DI PROGRAMMI CCINO Per compilare direttamente in C gli esempi di programmi CCINO: gcc -g -x c -include ccino-cc.h ccino-cc.c file.ccino -o fileGarantendo che i file ccino-cc.h e ccino-cc.c siano nella stessa dir del file da compilare. Esempi: prova.ccino, fib.ccino, mutuaric.ccino. ATTENZIONE. Si consiglia di provare esempi di mutua ricorsione (come ad esempio il programma mutuaric.ccino) |
NOTE AGGIUNTIVE, CHIARIMENTI E COMMENTI DELLE SPECIFICHE MODIFICA SINTASSI ";" COMMENTO SULLE PARENTESI TONDE NELLE ESPRESSIONI SUGGERIMENTO/NOTA III MODULO CORREZIONI E/O AGGIORNAMENTI DELLE SPECIFICHE |
Il progetto consiste nello sviluppo di un interprete per una versione semplificata
del linguaggio C.
Il progetto è suddiviso in moduli che, se sviluppati nell'ordine proposto,
porteranno gradualmente all'implementazione dell'intero interprete/compilatore.
Le specifiche del progetto sono disponibili in formato pdf (un programma per la
lettura di pdf è Acrobat Reader).
Chiunque dovesse trovare errori nei testi è pregato di segnalarlo al docente.
I file con i testi potranno essere aggiornati con le correzioni. Le modifiche di rilievo
- ovvero, le modifiche/correzioni che hanno impatto sulla implementazione dei moduli -
saranno opportunamene evidenziate anche sul sito.
|
I file con le definizioni principali ed i main per la verifica dei moduli:
Chiunque dovesse trovare errori nei testi è pregato di segnalarlo al docente.
I file con i sorgenti potranno essere aggiornati. Le modifiche di rilievo
- ovvero, le modifiche/correzioni che hanno impatto sulla implementazione dei moduli -
saranno opportunamene evidenziate anche sul sito.
Per inviare i moduli del progetto occorre innanzitutto registrare i propri dati.
Vai alla pagina con le istruzioni per la registrazione.
Eseguita la registrazione dela matricola, i file con i sorgenti dei moduli del progetto potranno essere inviati mediante l'apposita scheda.
Vai alla pagina per l'invio dei moduli del progetto
Le scadenze (inderogabili) per la consegna dei moduli sono:
modulo | entro il | |
I (TS): Le tavole dei simboli | 07/05/04 | |
II (AL): L'analizzatore lessicale | 30/06/04 | |
III (AS): L'analizzatore sintattico | 15/09/04 | |
IV (EX): L'esecutore | 25/09/04 |
Come riportato in dettagio nella descrizione del progetto, tutti i moduli saranno valutati indipendentemente. (Per la verifica di alcuni moduli serviranno anche i moduli precedentemente sviluppati. Se tali moduli non sono stati consegnati o non sono funzionanti, verranno usati usati dei moduli sviluppati dal docente.)
I moduli non sono tutti della stessa difficoltà. Il punteggio massimo che si può ottenere dall'implementazione corretta di un modulo è riportato nella seguente tabella
modulo | voto |
I (TS): Le tavole dei simboli | 5 |
II (AL): L'analizzatore lessicale | 8 |
III (AS): L'analizzatore sintattico | 12 |
IV (EX): L'esecutore | 10 |
Totale | 35 |
Come si può notare, il punteggio totale ottenibile implementando correttamente tutti i moduli è di 35 punti.
Per superare l'esame si dovranno consegnare almeno tre moduli.
Un voto complessivo di 30 o 31 corrisponde a 30/30esimi; un voto superiore a 31 porta alla lode.
I pesi riportati in tabella sono il voto massimo per quel modulo. Requisiti essenziali affinché un modulo sia preso in considerazione per la valutazione sono:
Altri fattori che influiranno sulla valutazione sono:
Si ricorda che il progetto di laboratorio è un lavoro individuale. Per verificare la similitudine dei moduli inviati si userà un apposito tool automatico: moduli chiaramente copiati saranno annullati.