Università degli Studi di Bari
Facoltà MM.FF.NN.
Dipartimento di Informatica

c.d.l Informatica e Tecnologie per la produzione del Software
a.a.2007/2008

Caso di Studio Linguaggi di Programmazione
( creazione di un analizzatore sintattico lessicale, di un linguaggio a scelta,
con l’ausilio di javaCC )

Linguaggio per la formalizzazione di RICETTE DA CUCINA

Obiettivo del caso di studio è la costruzione di un parser, per l’analisi sintattico logica, ma ancor prima, è la scelta di un linguaggio e la relativa descrizione formale.
Il linguaggio da me scelto, è quello delle ricette da cucina.
Per linguaggio delle ricette, intendo: l’insieme di stringhe(comandi,operazioni,valori ecc..) tali da essere sufficienti a descrivere le fasi di realizzazione di una ricetta da cucina.
Per fare ciò, dopo l’analisi di ricette scritte in maniera comune, ho ricavato la seguente strutturazione analoga.
– Ogni ricetta è divisibile in tre parti: Ingredienti, Strumenti e Preparazione.
– Ogni ingrediente è composto da un nome e un valore e relativa unità di misura opzionali.
Alcuni esempi: olio; 10g di zucchero, patate 2….
– Ogni […]

Indipendentemente dalla difficoltà nella realizzazione, con i precedenti strumenti, si è in grado di descrivere la preparazione di qualsiasi ricetta.
Per intendere il reale di utilizzo del mio linguaggio, mostro di seguito un esempio concreto:
Un ipotetico software di supporto grafico alla realizzazione di ricette da cucina, si limita a interpretare in modo visuale, le istruzioni contenute in un determinato file di input. Naturalmente il SW è programmato per far corrispondere a determinate stringhe testuali contenute nel file, delle animazioni pertinenti(nella pagina seguente, l’ipotetica interfaccia grafica del SW).
[…], in una grammatica(di tipo 2) scritta secondo lo standard BNF, […]
Nota: utilizziamo il parser richiamandolo da prompt dei comandi (Microsoft Windows) reindirizzando l’input da un file di testo e reindirizzando l’output(il debug) in un file di testo:
riga di comando: java parserRicette ricetta_debug.txt

Il file ricetta.txt è corretto se il file ricetta_debug.txt si conclude con:
Returning the token.
Return: Input

Interfaccia grafica del SW di supporto alla realizzazione delle ricette.

LINK:
esempio di codice2(es1 è contenuto nella relazione) : panzerotti fritti