S ::= Formazione Formazione ::= NomeSquadra Team NomeSquadra ::= Team ::= Schema Tabellino | Tabellino Schema ::= Difesa Tabellino ::= ElencoTitolari.

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture Dati
Advertisements

A A1A1 A2A2 A C1C1 C1C1 C2C2 C2C2 C3C3 C4C4.
Modulo 4 – Seconda Parte Foglio Elettronico
DIREZIONE DIDATTICA STATALE SCUOLA PRIMARIA “ MICHELE PREZIUSO” Via Potenza 1 - tel. 0972/ Rionero in Vulture (PZ)   Risultati del Questionario.
La Difesa La difesa è il fondamentale di gioco che può avvalersi di più tecniche diverse per: Interventi sulla figura; Interventi fuori dalla figura. FIGURA:
Sintassi (prima parte)
Analizzatori Sintattici con Cup Giuseppe Morelli.
Traduttore diretto dalla sintassi (seconda parte)
Parser Bottom UP Giuseppe Morelli. Parser Bottom UP Un parser Bottom Up lavora costruendo il corrispondente albero di parsing per una data stringa di.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Macchine non completamente specificate
Le componenti della finestra
FONDAMENTI DI INFORMATICA III A3A1-1 Realtà e Modello MODELLI E METODOLOGIE PER LA PROGETTAZIONE LOGICA DI SISTEMI INFORMATIVI PER LUFFICIO Argomento 3.
Comune di PISA ART. 5 PRE-INTESA NUOVO ORDINAMENTO PROFESSIONALE Per aggiungere alla diapositiva il logo della società: Scegliere Immagine dal menu Inserisci.
Corso di Laurea in Ingegneria per lAmbiente e il Territorio Informatica per lAmbiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea.
DOL – Funzione Recapito Processi operativi Roma,
Esercitazione.
User Group U-Gov - QA Dai requisiti CRUI ai quadri SUA-CdS
I fogli elettronici Corso di Idoneità Informatica.
Progetto per lesame di Linguaggi e Modelli Computazionali LS Chiara Chiara Gualtieri.
A D IET – P ROGETTO PER L ESAME DI L INGUAGGI E M ODELLI C OMPUTAZIONALI LS Prof. Enrico Denti Sviluppato da Fabio Bracci – AA 2009/2010.
ANTLR V.3 Renzi Alberto.
Linguaggi e Modelli Computazionali M Prof. Enrico Denti
FC Internazionale, Settore Giovanile, 2011
Progetto desame di Gianluca Gallo Linguaggi e modelli computazionali LM Prof. Enrico Denti.
Linguaggi e Modelli Computazionali LS - Prof E.Denti
CineMan Linguaggio per la descrizione della programmazione di cinema
Corso di Laurea Specialistica in Ingegneria Informatica Itinerari aerei Progetto per lesame di Linguaggi e Modelli Computazionali LS realizzato da Stefano.
UNIONE SPORTIVA DOLCEACQUA I° TORNEO TESSERATI 2012/2013.
LINGUAGGIO PER LA DESCRIZIONE DI ESERCITI E LA CREAZIONE DI LISTE PER IL GIOCO DI BATTAGLIE TRIDIMENSIONALI WARHAMMER FANTASY WarArmy Linguaggi e Modelli.
Linguaggio per la generazione di biglietti da visita
Linguaggi e Modelli Computazionali a.a. 2009/2010
Gianfranco Zampolini Progetto per il corso di: Linguaggi e Modelli Computazionali LS EM Linguaggio per la Descrizione di un Evento Musicale.
Corso di Laurea Specialistica in Ingegneria Informatica Model Drive Applicazione per il pilotaggio di veicoli Esame di Linguaggi e Modelli computazionali.
Linguaggi e modelli computazionali LS
Progetto di un linguaggio e interprete per giocare a MemoryPlus Progetto di:Docente: Vito La PortaEnrico Denti.
Riepilogo Foglio elettronico Excel - Base
Riepilogo Foglio elettronico Excel - Base
Mauro Valli Libro di testo pag
runhome Progetto di Linguaggi e Modelli Computazionali LS Luca Bueti
Excel.
Corso di Laurea Specialistica in Ingegneria Informatica Previsione dei Consumi Elettrici = Progetto per lesame di Linguaggi e Modelli Computazionali LS.
Un linguaggio ed un interprete per il gioco Citadels
Progetto Fireworks Simulatore di spettacoli pirotecnici
Tablabla Progetto di Valent Cristina
Università degli Studi di Bologna Facoltà di Ingegneria Anno Accademico 2007/2008 Laurea Specialistica in Ingegneria Informatica Linguaggi e Modelli Computazionali.
Linguaggi e modelli computazionali LS Manni Tiziano
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
ATTIVITÀ PROGETTUALE LINGUAGGI E MODELLI COMPUTAZIONALI L-M Un linguaggio per la descrizione di coreografie giocabili STUDENTE: BACCHILEGA SIMONE A.A 2013/2014.
Istituto Comprensivo Camigliano Loc. Pianacce – Camigliano (LU)
Disposizione in campo iniziale e a inizio azione da rimessa dal fondo.
Lezione 3 Struttura lessicale del linguaggio
Microsoft ExcelMicrosoft Excel Lezione 6 COPIA LE FORMULE New M. Nanni – E. Del Fante – M. Savioli.
Foglio di calcolo  Un foglio di calcolo è un software che fornisce una tabella composta da celle, organizzate in righe e colonne. Le celle consentono.
Lezione 13 Riccardo Sama' Copyright  Riccardo Sama' Excel: formule e funzioni.
DRAUGHTS Linguaggi e Modelli Computazionali LS Linguaggio e interprete per effettuare una partita di dama inglese contro un’intelligenza artificiale Progetto.
Giannicola Spezzigu Accordo: sovrapposizione di 3 o più suoni Ogni sigla denota un accordo, ossia i suoni da cui esso è formato Accordi e.
Trading EToro Un linguaggio per descrivere e gestire operazioni di borsa Progetto di Linguaggi e Modelli Computazionali LS Prof. Enrico Denti Mancini Laura.
DerIntCalculator La calcolatrice per integrali e derivate Progetto di Linguaggi e Modelli Computazionali M Prof. Enrico Denti Realizzato da: Gabriella.
Linguaggi e Modelli Computazionali LS Anno Accademico 2007/2008 Alessio Della Motta Un linguaggio per descrivere partite di Maraffone: il gioco più popolare.
Scrivere e compilare programmi
Grammatiche Grammatiche libere da contesto Grammatiche regolari
CAKE Ambiente per la scrittura e la riproduzione audio di ricette per torte Linguaggi e Modelli Computazionali LSElisabetta Visciotti.
Eye Computer Sistema per l'interazione con un computer dotato di controllo oculare Linguaggi e modelli computazionali LS Realizzato da: Ciavarella Primiano.
In generale, con il termine di grammatica si intende un formalismo che permette di definire un insieme di stringhe mediante l’imposizione di un particolare.
Modulo 1-2. La necessità di adeguare la propria struttura organizzativa alle esigenze del momento si verifica in tutti i settori di attività, anche nello.
Linguaggi e Grammatiche Alfabeto : insieme non vuoto di elementi detti simboli A = { a, b, c } Stringa : sequenza di simboli di un alfabeto ab abc abcab.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Transcript della presentazione:

S ::= Formazione Formazione ::= NomeSquadra Team NomeSquadra ::= Team ::= Schema Tabellino | Tabellino Schema ::= Difesa Tabellino ::= ElencoTitolari ( Riserve )? Riserve ::= ElencoRiserve Difesa ::= ( Difesa_5 Modulo_D5 | Difesa_4 Modulo_D4 | Difesa_3 Modulo_D3 ) Modulo_D3 ::= ( Modulo_D3_C5_A2 | Modulo_D3_C4_A3 ) Modulo_D3_C5_A2 ::= Centrocampo_5 Attacco_2 Modulo_D3_C4_A3 ::= Centrocampo_4 Attacco_3 S ::= Formazione Formazione ::= NomeSquadra Team NomeSquadra ::= Team ::= Schema Tabellino | Tabellino Schema ::= Difesa Tabellino ::= ElencoTitolari ( Riserve )? Riserve ::= ElencoRiserve Difesa ::= ( Difesa_5 Modulo_D5 | Difesa_4 Modulo_D4 | Difesa_3 Modulo_D3 ) Modulo_D3 ::= ( Modulo_D3_C5_A2 | Modulo_D3_C4_A3 ) Modulo_D3_C5_A2 ::= Centrocampo_5 Attacco_2 Modulo_D3_C4_A3 ::= Centrocampo_4 Attacco_3

Modulo_D4 ::= ( Modulo_D4_C5_A1 | Modulo_D4_C4_A2 | Modulo_D4_C3_A3 ) Modulo_D4_C5_A1 ::= Centrocampo_5 Attacco_1 Modulo_D4_C4_A2 ::= Centrocampo_4 Attacco_2 Modulo_D4_C3_A3 ::= Centrocampo_3 Attacco_3 Modulo_D5 ::= ( Modulo_D5_C4_A1 | Modulo_D5_C3_A2 ) Modulo_D5_C4_A1 ::= Centrocampo_4 Attacco_1 Modulo_D5_C3_A2 ::= Centrocampo_3 Attacco_2 ElencoTitolari ::= Nome ( Nome )* ElencoRiserve ::= Nome ( Nome )* Nome ::= ( Secondo_Nome )* Secondo_Nome ::= Modulo_D4 ::= ( Modulo_D4_C5_A1 | Modulo_D4_C4_A2 | Modulo_D4_C3_A3 ) Modulo_D4_C5_A1 ::= Centrocampo_5 Attacco_1 Modulo_D4_C4_A2 ::= Centrocampo_4 Attacco_2 Modulo_D4_C3_A3 ::= Centrocampo_3 Attacco_3 Modulo_D5 ::= ( Modulo_D5_C4_A1 | Modulo_D5_C3_A2 ) Modulo_D5_C4_A1 ::= Centrocampo_4 Attacco_1 Modulo_D5_C3_A2 ::= Centrocampo_3 Attacco_2 ElencoTitolari ::= Nome ( Nome )* ElencoRiserve ::= Nome ( Nome )* Nome ::= ( Secondo_Nome )* Secondo_Nome ::=

Difesa_3 ::= Difesa_4 ::= Difesa_5 ::= Centrocampo_3 ::= Centrocampo_4 ::= Centrocampo_5 ::= Attacco_1 ::= Attacco_2 ::= Attacco_3 ::= Difesa_3 ::= Difesa_4 ::= Difesa_5 ::= Centrocampo_3 ::= Centrocampo_4 ::= Centrocampo_5 ::= Attacco_1 ::= Attacco_2 ::= Attacco_3 ::= TOKEN: { | | <NOME: ["a"-"z"](["a"-"z"])*("è)*(è)*(ù)*(ù)*(ò)* ( )*(à)*([a-z])*([-])*([a-z"])*(è)* (è)*(ù)*(ò) *(à)*(ù)*( )([a-z])* ([0-9])*> }

Condizione necessaria e sufficiente perché una Grammatica Context-Free sia LL(1) è che per ogni metasimbolo che appare nella parte sinistra di più produzioni, i DIRECTOR-SYMBOLS (DS) relativi a produzioni alternative siano disgiunti Team ::= Schema Tabellino | Tabellino Difesa ::= ( Difesa_5 Modulo_D5 | Difesa_4 Modulo_D4 | Difesa_3 Modulo_D3 ) Modulo_D3 ::= ( Modulo_D3_C5_A2 | Modulo_D3_C4_A3 ) Modulo_D4 ::= ( Modulo_D4_C5_A1 | Modulo_D4_C4_A2 | Modulo_D4_C3_A3 ) Modulo_D5 ::= ( Modulo_D5_C4_A1 | Modulo_D5_C3_A2 ) Team ::= Schema Tabellino | Tabellino Difesa ::= ( Difesa_5 Modulo_D5 | Difesa_4 Modulo_D4 | Difesa_3 Modulo_D3 ) Modulo_D3 ::= ( Modulo_D3_C5_A2 | Modulo_D3_C4_A3 ) Modulo_D4 ::= ( Modulo_D4_C5_A1 | Modulo_D4_C4_A2 | Modulo_D4_C3_A3 ) Modulo_D5 ::= ( Modulo_D5_C4_A1 | Modulo_D5_C3_A2 ) Ogni metasimbolo che appare nella parte più a sinistra di più produzioni, ha gli Starter Symbols corrispondenti alle parti destre di queste produzioni alternative, disgiunti.

S ::= Formazione Formazione ::= NomeSquadra Team NomeSquadra ::= Team ::= Schema Tabellino Schema ::= Difesa Tabellino ::= ElencoTitolari Riserve Difesa::= Difesa_3 Modulo_D3 Difesa_3 ::= Modulo_D3 ::= Modulo_D3_C4_A3 Modulo_D3_C4_A3 ::= Centrocampo_4 Attacco_3 Centrocampo_4 ::= Attacco_3 ::= Difesa::= Difesa_3 Modulo_D3 Difesa_3 ::= Modulo_D3 ::= Modulo_D3_C4_A3 Modulo_D3_C4_A3 ::= Centrocampo_4 Attacco_3 Centrocampo_4 ::= Attacco_3 ::=

MainClass ControlClass control FantaManagerGUI … gui PlayersFileReader XLSProcessor PrintToPDF fileUtility FantaManagerParserTokenManager FantaManagerParser … parser Nome Nome Squadra … syntaxtree Visitor DepthFirstVisitor FantaManagerVisitor … visitor Player TeamMaker SoccerFieldMaker TeamScoreCalculator team -classe creata automaticamente; -effettua lanalisi lessicale (individua i token che compongono la stringa in input). -classe creata automaticamente; -effettua lanalisi lessicale (individua i token che compongono la stringa in input). -classe creata automaticamente; -effettua lanalisi sintattica (verifica che una frase possa essere costruita in base alle regole della grammatica); -produce una rappresentazione interna della frase – albero. -classe creata automaticamente; -effettua lanalisi sintattica (verifica che una frase possa essere costruita in base alle regole della grammatica); -produce una rappresentazione interna della frase – albero. -package creato automaticamente; -contiene le classi necessarie per la costruzione dellalbero. -package creato automaticamente; -contiene le classi necessarie per la costruzione dellalbero. -grazie alla tecnica del double- dispatch visita lalbero (APT) e realizza la funzione di interpretazione -contiene le classi per la gestione dei file. -contiene tutte le classi necessarie per la gestione dei giocatori e della squadra -Il parser effettua anche alcuni controlli semantici: verifica che lelenco dei titolari comprenda esattamente 11 giocatori; verifica che lelenco delle riserve comprenda al più 7 giocatori verifica che non sia stato inserito più volte lo stesso giocatore -Il parser effettua anche alcuni controlli semantici: verifica che lelenco dei titolari comprenda esattamente 11 giocatori; verifica che lelenco delle riserve comprenda al più 7 giocatori verifica che non sia stato inserito più volte lo stesso giocatore -La classe TeamMaker effettua anche alcuni controlli: verifica che i nomi dei giocatori siano tutti validi; quando il modulo è stato inserito in input controlla che questo sia compatibile con il ruolo dei giocatori schierati come titolari; quando il modulo non è stato introdotto in input verifica che il ruolo dei giocatori inseriti come titolari non determini uno schema non valido -La classe TeamMaker effettua anche alcuni controlli: verifica che i nomi dei giocatori siano tutti validi; quando il modulo è stato inserito in input controlla che questo sia compatibile con il ruolo dei giocatori schierati come titolari; quando il modulo non è stato introdotto in input verifica che il ruolo dei giocatori inseriti come titolari non determini uno schema non valido