Corso di Linguaggi e Traduttori 1 AA GRAMMATICHE

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di Linguaggi e Traduttori 1 AA GRAMMATICHE"

Transcript

1 Corso di Linguaggi e Traduttori 1 AA GRAMMATICHE 1

2 Definizione di Grammatica Formalmente definiamo un grammatica G mediante una quadrupla V, V, P S ( ) N T, dove: V N e l insieme dei simboli non terminali V T e l insieme dei simboli terminali P e l insieme delle regole di produzione o riscrittura S e il simbolo iniziale (radice) vincoli: V N V T = 2

3 Regole di Produzione Per comodità si definisce anche il vocabolario V definito come l'unione di simboli terminali e non terminali, ovvero: V = V T V N Sono importanti per la definizione delle varie classi di grammatiche gli insiemi di stringhe che si possono formare a partire da V, ovvero V + e V* V + rappresenta l'insieme delle stringhe che si possono formare a partire da V, esclusa la stringa vuota ε V* rappresenta l'insieme delle stringhe che si possono formare a partire da V, compresa la stringa vuota ε 3

4 Classificazione di Chomsky Classificazione di Chomsky Le grammatiche possono essere classificate in base alla loro capacità generativa Nel 1957 Chomsky descrive 4 classi di formalismi grammaticali che differiscono soltanto nella forma delle regole di riscrittura 4

5 TIPO 0 - Ricorsivamente Enumerabili Le regole di riscrittura non hanno alcuna restrizione, e sono del tipo: α β α V +, β V * Classificazione di Chomsky: TIPO 0 Tali grammatiche hanno una capacità espressiva equivalente a quella delle macchine di Turing 5

6 Classificazione di Chomsky: TIPO 1 TIPO 1 - Sensibili al Contesto Rispetto alle grammatiche ricorsivamente enumerabili viene introdotto il vincolo addizionale che la parte destra deve contenere almeno tanti simboli quanto la parte sinistra, ovvero: α β Sono anche dette grammatiche sensibili al contesto (context-sensitive) poiché storicamente il vincolo addizionale che le caratterizzava è il seguente: * + γχδ γρδ γ, δ, ρ V, χ V Tali grammatiche hanno una capacità espressiva equivalente a quella degli automi limitati lineari 6

7 TIPO 2 - Non Contestuali Classificazione di Chomsky: TIPO 2 Rispetto alle grammatiche sensibili al contesto viene introdotto il vincolo addizionale che la parte sinistra di una regola sia costituita da un simbolo non terminale; in simboli: α V N L introduzione di tale vincolo impedisce che ci sia un contesto che può influenzare l attivazione di una regola Tali grammatiche hanno una capacità espressiva equivalente a quella degli automi a pila. 7

8 TIPO 3 - Regolari Classificazione di Chomsky: TIPO 3 Rispetto alle grammatiche di tipo 2 viene introdotto il vincolo addizionale che la parte destra di una regola sia costituita da un simbolo terminale, opzionalmente seguito da un simbolo non terminale Formalmente: β V T oppure β V T V N Tali grammatiche hanno una capacità espressiva equivalente a quella degli automi a stati finiti 8

9 Tabella Riassuntiva sulle Grammatiche TIPO 0 - ric. enumerabili α β α V, V TIPO 1 - contestuali α β o, in alternativa: * γχδ γρδ γ, δ, ρ V, χ V TIPO 2 - libere da contesto α V N TIPO 3 - regolari β V T oppure + β β * V T V N + Classificazione di Chomsky Macchine di Turing Automi Limitati Lineari Automi a Pila Automi a Stati Finiti 9

10 Classificazione di Chomsky Linguaggio Generato da una Grammatica Il linguaggio L(G) generato da una grammatica G è definito come l insieme delle stringhe di soli simboli terminali che soddisfano la grammatica, ovvero derivabili dalla radice tramite l applicazione delle regole di riscrittura Per formalizzare L(G) abbiamo bisogno di definizioni preliminari (derivazione semplice e derivazione multipla) 10

11 Definizioni Preliminari Classificazione di Chomsky Derivazione semplice γ γ se esiste una regola applicabile capace di trasformare γ' in γ'' Derivazione multipla * γ 1 * γ m se esiste una sequenza di regole applicabili capaci di trasformare γ 1 in γ m 11

12 Classificazione di Chomsky Linguaggio Generato da una Grammatica A questo punto siamo in grado di dare una definizione formale che definisce l'insieme di tutte le stringhe riconosciute da una grammatica G (ovvero il linguaggio L associato a G): + L( G) = { w w VT, S * w } NB Nella definizione abbiamo escluso dal linguaggio la stringa nulla, imponendo che w V + T. Questa limitazione può essere agevolmente rimossa accettando che w V T. Ricordiamo che il simbolo V + T (V T ) denota l'insieme di tutte le stringhe che si possono formare a partire dai simboli di V T, ad eccezione della (compresa la) stringa nulla. 12

13 Equivalenza tra Grammatiche Classificazione di Chomsky Due grammatiche G1 e G2 sono equivalenti se L(G1) = L(G2) In generale, dato un linguaggio L, ci saranno infinite grammatiche in grado di generarlo 13

Definizione di Grammatica

Definizione di Grammatica Corso di Linguaggi e Traduttori 1 AA 2004-05 GRAMMATICHE 1 Definizione di Grammatica Formalmente definiamo un grammatica G mediante una quadrupla ( VN, VT, P, S ) dove: V N e l insieme dei simboli non

Dettagli

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 richiami teorici sulle grammatiche di Chomsky esercizivari esercizi su grammatiche ed espressioni regolari

Dettagli

Espressività e limitazioni delle grammatiche regolari

Espressività e limitazioni delle grammatiche regolari Espressività e limitazioni delle grammatiche regolari Vantaggi: Le grammatiche regolari consentono di esprimere una significativa classe di linguaggi: linguaggi con un numero di sequenze infinito grazie

Dettagli

Grammatiche Parse trees Lezione del 17/10/2012

Grammatiche Parse trees Lezione del 17/10/2012 Fondamenti di Programmazione A.A. 2012-2013 Grammatiche Parse trees Lezione del 17/10/2012 AUTILI MARCO http://www.di.univaq.it/marco.autili/ Riassunto lezione precedente Sintassi vs Semantica Stringhe,

Dettagli

Linguaggi Regolari e Linguaggi Liberi

Linguaggi Regolari e Linguaggi Liberi Linguaggi Regolari e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle grammatiche 1

Dettagli

Espressioni Regolari

Espressioni Regolari Espressioni Regolari Le espressioni regolari sono costituite dalle stringhe sull alfabeto Σ = Σ {+,,*,(,),φ} ottenute secondo le seguenti regole: 1. φ e ciascun membro di Σ sono Epressioni Regolari 2.

Dettagli

Linguaggi Regolari e Linguaggi Liberi

Linguaggi Regolari e Linguaggi Liberi Linguaggi Regolari e Linguaggi Liberi Potenza espressiva degli automi Potenza espressiva delle grammatiche 9/11/2004 Programmazione - Luca Tesei 1 Linguaggi Regolari Tutti i linguaggi che possono essere

Dettagli

Parole note, nuovi significati: linguaggio, determinismo e infinito

Parole note, nuovi significati: linguaggio, determinismo e infinito Parole note, nuovi significati: linguaggio, determinismo e infinito Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario Filosofico

Dettagli

RICHIAMI E COMPLEMENTI SU LINGUAGGI FORMALI E AUTOMI

RICHIAMI E COMPLEMENTI SU LINGUAGGI FORMALI E AUTOMI PARTE I RICHIAMI E COMPLEMENTI SU LINGUAGGI FORMALI E AUTOMI Linguaggi regolari Linguaggi non contestuali Automi 1 1.1 I LINGUAGGI IN INFORMATICA @ Presenti a vari livelli di applicazione linguaggi di

Dettagli

LINGUAGGI E GRAMMATICHE FORMALI

LINGUAGGI E GRAMMATICHE FORMALI LINGUAGGI E GRAMMATICHE FORMALI I LINGUAGGI IN INFORMATICA Presenti in tutte le applicazioni Fondamentali nel software di sistema Paradigmatici nella teoria molti importanti problemi teorici son riconducibili

Dettagli

Pumping lemma per i linguaggi Context-free

Pumping lemma per i linguaggi Context-free Pumping lemma per i linguaggi Context-free Sia L un linguaggio context-free. E possibile determinare una costante k, dipendente da L, tale che qualunque stringa z! L con z > k si può esprimere come z=

Dettagli

Forme Normali. Forma normale di Chomsky. E caratterizzata da regole di due tipi. A! BC dove A, B, C $ V N A! a con a $ V T. Forma normale di Greibach

Forme Normali. Forma normale di Chomsky. E caratterizzata da regole di due tipi. A! BC dove A, B, C $ V N A! a con a $ V T. Forma normale di Greibach Forme Normali A partire da una grammatica Context-free G è sempre possibile costruire una grammatica equivalente G ovvero L(G) = L(G ) che abbiano le produzioni in forme particolari, dette forme normali.

Dettagli

Linguaggi, grammatiche, espressioni regolari

Linguaggi, grammatiche, espressioni regolari Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2013-2014 Linguaggi Formali e Compilatori Linguaggi, grammatiche, espressioni regolari Giacomo PISCITELLI Modello formale di un linguaggio Un linguaggio

Dettagli

L elaborazione del linguaggio naturale

L elaborazione del linguaggio naturale L elaborazione del linguaggio naturale fondamenti teorici dell intelligenza artificiale: la capacità di elaborare simboli è alla base del comportamento intelligente. L esempio di elaborazione simbolica

Dettagli

LA SINTASSI DEI LINGUAGGI DI PROGRAMMAZIONE. Ivan Lanese

LA SINTASSI DEI LINGUAGGI DI PROGRAMMAZIONE. Ivan Lanese LA SINTASSI DEI LINGUAGGI DI PROGRAMMAZIONE Ivan Lanese argomenti Grammatiche BNF Varianti: BNF + ε EBNF Remind: cos è una grammatica Una grammatica è uno strumento linguistico per definire insiemi di

Dettagli

Verificare se una grammatica e LL(1) e costruirne la tabella di parsing. Verificare se una grammatica e LR(0) e costruirne la tabele ACTION e GOTO

Verificare se una grammatica e LL(1) e costruirne la tabella di parsing. Verificare se una grammatica e LR(0) e costruirne la tabele ACTION e GOTO ANALISI SINTATTICA TIPO 1: Data un linguaggio scrivere una grammatica che lo generi TIPO 2: Verificare se una grammatica non contestuale è ambigua TiPO 3: Verificare se una grammatica e LL(1) e costruirne

Dettagli

Linguaggi, grammatiche, espressioni regolari

Linguaggi, grammatiche, espressioni regolari Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2011-2012 Linguaggi Formali e Compilatori Linguaggi, grammatiche, espressioni regolari Giacomo PISCITELLI Modello formale di un linguaggio Un linguaggio

Dettagli

Esercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari

Esercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari Esercizi di Fondamenti di Informatica per la sicurezza tefano Ferrari 23 dicembre 2003 2 Argomento 1 Grammatiche e linguaggi Esercizi Es. 1.1 Definiti i linguaggi: L 1 = {aa, ab, bc, c} L 2 = {1, 22, 31}

Dettagli

ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI

ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI ELEMENTI DI PROGRAMMAZIONE a.a. 22/3 MACCHINE, ALGORITMI, PROGRAMMI Andrea Prevete, UNINA2 23 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a stati finiti)... macchine di

Dettagli

Algoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014

Algoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014 Algoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014 Nome..Cognome.Matr. Laureando Avvisi importanti Il tempo a disposizione è di 1 ora e 30 minuti. Se non verranno risolti

Dettagli

STRUMENTI FORMALI PER L ANALISI LESSICALE SINTATTICA

STRUMENTI FORMALI PER L ANALISI LESSICALE SINTATTICA Universtità degli Studi G. D Annunzio Chieti Pescara Facoltà di Economia Corso di Laurea in Economia Informatica Pescara TESINA DI LAUREA STRUMENTI FORMALI PER L ANALISI LESSICALE SINTATTICA DEI COMPILATORI

Dettagli

GRAMMATICA FORMALE. Albero sintattico

GRAMMATICA FORMALE. Albero sintattico GRAMMATICA FORMALE Una quadrupla VT,VN,P,S dove: VT è un insieme finito di simboli terminali VN è un insieme finito di simboli non terminali Pè uninsieme finito di produzioni, ossiadi regole di riscrittura

Dettagli

Linguaggi Sintassi e Semantica

Linguaggi Sintassi e Semantica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 4 Linguaggi Sintassi e Semantica Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Linguaggi - Sintassi

Dettagli

GRAMMATICHE DEI LINGUAGGI DI PROGRAMMAZIONE. Cosimo Laneve

GRAMMATICHE DEI LINGUAGGI DI PROGRAMMAZIONE. Cosimo Laneve GRAMMATICHE DEI LINGUAGGI DI PROGRAMMAZIONE Cosimo Laneve 1 argomenti 1. linguaggi di programmazione 2. definizione formale di insiemi infiniti 3. la grammatica e la notazione BNF 4. notazioni alternative

Dettagli

Corso di Laurea Magistrale in Ingegneria Informatica A.A Linguaggi Formali e Compilatori. I linguaggi formali. Giacomo PISCITELLI

Corso di Laurea Magistrale in Ingegneria Informatica A.A Linguaggi Formali e Compilatori. I linguaggi formali. Giacomo PISCITELLI Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2011-2012 Linguaggi Formali e Compilatori I linguaggi formali Giacomo PISCITELLI Traduttori Un traduttore è un programma che effettua la traduzione

Dettagli

Informatica Teorica. linguaggi non contestuali

Informatica Teorica. linguaggi non contestuali Informatica Teorica linguaggi non contestuali di tipo 2 context free (CF) 1 linguaggi non contestuali molte frasi in linguaggio naturale hanno una struttura sintattica non contestuale esempio: soggetto

Dettagli

Grammatiche context-free

Grammatiche context-free Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2013-2014 Linguaggi Formali e Compilatori Grammatiche context-free Giacomo PISCITELLI Politecnico di Bari G. Piscitelli pag. 1 di 28 Grammatiche

Dettagli

Università degli studi Roma Tre. linguaggio Java. A cura di A. Orlandini. Linguaggi: Sintassi e Semantica - Il. Il linguaggio Java

Università degli studi Roma Tre. linguaggio Java. A cura di A. Orlandini. Linguaggi: Sintassi e Semantica - Il. Il linguaggio Java Università degli studi Roma Tre Linguaggi: Sintassi e Semantica Il A cura di A. Orlandini 1 Obiettivi Distinguere la sintassi dalla semantica di un linguaggio Conoscere le convenzioni del meta-linguaggio

Dettagli

Alcune Tracce dei Precedenti Esami del Dottorato di Siena in Logica Matematica ed Informatica Teorica

Alcune Tracce dei Precedenti Esami del Dottorato di Siena in Logica Matematica ed Informatica Teorica Alcune Tracce dei Precedenti Esami del Dottorato di Siena in Logica Matematica ed Informatica Teorica Raccolti e curati da Luca Spada Indice 1 Temi 1 1.1 Logica Matematica.......................... 1 1.2

Dettagli

ELEMENTI DI PROGRAMMAZIONE a.a. 2013/14 UNA GERARCHIA DI MACCHINE

ELEMENTI DI PROGRAMMAZIONE a.a. 2013/14 UNA GERARCHIA DI MACCHINE ELEMENTI DI PROGRAMMAZIONE a.a. 23/4 UNA GERARCHIA DI MACCHINE Andrea Prevete, UNINA2 24 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a numero finito di stati)... macchine

Dettagli

Linguaggi formali e compilatori

Linguaggi formali e compilatori POLITECNICO DI MILANO Linguaggi formali e compilatori Appunti Stefano Invernizzi Anno accademico 2010-2011 Corso del prof. Angelo Morzenti Sommario Introduzione ai linguaggi... 5 Terminologia di base...

Dettagli

November 13, sta ad indicare che la formula B dipende dalle assunzioni occorrenti nell insieme X.

November 13, sta ad indicare che la formula B dipende dalle assunzioni occorrenti nell insieme X. DEDUZIONE NTURLE November 3, 2006 Le regole di inferenza consistono di regole di introduzione (I) e regole di eliminazione (E) per ogni costante logica e per il simbolo del falso, se occorre nel linguaggio.

Dettagli

Un po di storia sui linguaggi

Un po di storia sui linguaggi LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 Un po di storia sui linguaggi 1957 John Backus e colleghi della IBM rilasciano la prima

Dettagli

Corso di Programmazione Linguaggi di Programmazione

Corso di Programmazione Linguaggi di Programmazione Corso di Programmazione Linguaggi di Programmazione Dott. Stefano Ferilli ferilli@di.uniba.it Università degli Studi di Bari Dipartimento di Informatica Linguaggio Insieme di sequenze di simboli appartenenti

Dettagli

Automi a pila. Automi a pila

Automi a pila. Automi a pila utomi a pila Un automa a pila (PDA) e in pratica un ǫ-nfa con una pila. In una transizione un PDA: 1 Consuma un simbolo di input. 2 Va in un nuovo stato (o rimane dove e ). 3 Rimpiazza il top della pila

Dettagli

Unità Didattica 2 I Linguaggi di Programmazione

Unità Didattica 2 I Linguaggi di Programmazione Unità Didattica 2 I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche

Dettagli

Linguaggi e Grammatiche Liberi da Contesto

Linguaggi e Grammatiche Liberi da Contesto N.Fanizzi-V.Carofiglio Dipartimento di Informatica Università degli Studi di Bari 22 aprile 2016 1 Linguaggi Liberi da Contesto 2 Grammatiche e Linguaggi Liberi da Contesto G = (X, V, S, P) è una grammatica

Dettagli

Ma il programma in Fig. 8.2 del libro? Stampa hello, world, dato un input n se e solo se l equazione

Ma il programma in Fig. 8.2 del libro? Stampa hello, world, dato un input n se e solo se l equazione Problemi che i calcolatori non possono risolvere E importante sapere se un programma e corretto, cioe fa uello che ci aspettiamo. E facile vedere che il programma Ma il programma in Fig. 8.2 del libro?

Dettagli

Analizzatore lessicale o scanner. Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser.

Analizzatore lessicale o scanner. Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Analizzatore lessicale o scanner Dispensa del corso di Linguaggi e Traduttori A.A. 2005-2006 Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner,

Dettagli

Linguaggi formali e compilazione

Linguaggi formali e compilazione Linguaggi formali e compilazione Corso di Laurea in Informatica A.A. 2015/2016 Linguaggi formali e compilazione Che cosa è un compilatore Un compilatore è un traduttore. Questo vuol dire un programma che:

Dettagli

Capitolo 2 Linguaggi e Grammatiche

Capitolo 2 Linguaggi e Grammatiche Università degli Studi di Bologna Scuola di Ingegneria e Architettura Capitolo 2 Linguaggi e Grammatiche Corso di Laurea Magistrale in Ingegneria Informatica Anno accademico 2014/2015 Prof. ENRICO DENTI

Dettagli

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

Descrizione delle operazioni di calcolo. Espressioni costanti semplici Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette

Dettagli

Linguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi

Linguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi Linguaggi di Programmazione Corso C Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Grammatiche

Dettagli

Università degli Studi di Milano

Università degli Studi di Milano Università degli Studi di Milano Laurea in Sicurezza dei sistemi e delle reti informatiche Note di Matematica STEFANO FERRARI Fondamenti di informatica per la sicurezza Note di Matematica Pagina 2 di 8

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio

Dettagli

Logica proposizionale

Logica proposizionale Logica proposizionale Proposizione: frase compiuta che è sempre o vera o falsa. Connettivi Posti in ordine di precedenza: not, and, or, implica, doppia implicazione Sintassi Le proposizioni sono costituite

Dettagli

Proprietà dei linguaggi regolari

Proprietà dei linguaggi regolari Proprietà dei linguaggi regolari Argomenti della lezione Relazione tra automi, grammatiche ed espressioni regolari Pumping lemma per i linguaggi regolari Equivalenza di automi a stati finiti Le seguenti

Dettagli

Appunti di Linguaggi Formali

Appunti di Linguaggi Formali Appunti di Linguaggi Formali A cura di Roberta Prendin robertaprendin@gmail.com Appunti delle lezioni di Calcolabilità e Linguaggi Formali tenute dal professor Antonino Salibra, anno accademico 2013/2014.

Dettagli

La tesi di Church-Turing

La tesi di Church-Turing ITLCC 2006/11/12 21:06 page 79 #3 Capitolo 5 La tesi di Church-Turing SOMMARIO Sebbene il concetto di algoritmo abbia avuto una lunga storia nel campo della matematica, il concetto formale di algoritmo

Dettagli

UNA GERARCHIA DI MACCHINE

UNA GERARCHIA DI MACCHINE ELEMENTI DI PROGRAMMAZIONE a.a. 2015/16 UNA GERARCHIA DI MACCHINE UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a numero finito di stati)... macchine di Turing Macchine di

Dettagli

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) DISPENSA N. 4 Sommario. Dimostriamo il Teorema di Completezza per il Calcolo dei Predicati del I ordine. 1. Teorema di Completezza Dimostriamo il Teorema

Dettagli

L intero è o il valore zero o una stringa di cifre che inizia con una cifra diversa sa zero.

L intero è o il valore zero o una stringa di cifre che inizia con una cifra diversa sa zero. ANALISI SINTATTICA Data un linguaggio scrivere una grammatica che lo generi ESERCIZIO 1 Definire una grammatica per il linguaggio L = {ww w appartiene a (a, b)*} ESERCIZIO 2 Dato l alfabeto T=[0,1,2,3,4,5,6,7,8,9,/}

Dettagli

Parser Bottom UP. Giuseppe Morelli

Parser Bottom UP. Giuseppe Morelli Parser Bottom UP Giuseppe Morelli Parser Bottom UP Un parser Bottom Up lavora costruendo il corrispondente albero di parsing per una data stringa di input partendo dalle foglie (bottom) e risalendo via

Dettagli

TEORIA DEGLI AUTOMI PER LINGUAGGI FORMALI T E M I. di Alessandro Aldini

TEORIA DEGLI AUTOMI PER LINGUAGGI FORMALI T E M I. di Alessandro Aldini APhEx 9, 2014 (ed. Vera Tripodi) Ricevuto il: 24/04/2013 Accettato il: 29/10/2013 Redattore: Francesca Ervas N 9 GENNAIO 2014 T E M I TEORIA DEGLI AUTOMI PER LINGUAGGI FORMALI di Alessandro Aldini ABSTRACT

Dettagli

Introduzione al Corso

Introduzione al Corso Introduzione al Corso 1 Argomenti trattati nella lezione: INTRODUZIONE AL CORSO CONCETTI GENERALI GERARCHIA DI CHOMSKY ESPRESSIONI REGOLARI AUTOMI A STATI FINITI ESEMPI DI APPLICAZIONI LINGUISTICHE Introduzione

Dettagli

Derivazione Numerica

Derivazione Numerica Derivazione Numerica I metodi alle differenze finite sono basati sull approssimazione numerica di derivate parziali. Per questo consideriamo come problema iniziale quello di approssimare le derivate di

Dettagli

Laboratorio di Ingegneria Informatica

Laboratorio di Ingegneria Informatica Laboratorio di Ingegneria Informatica Corso di laurea specialistica in Ingegneria Informatica Linguaggi formali e modelli per l informatica Definizioni Linguaggi formali e Grammatiche Classificazione dei

Dettagli

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing 1 Macchina di Turing (MDT ) Un dispositivo che accede a un nastro (potenzialmente) illimitato diviso in celle contenenti ciascuna un simbolo

Dettagli

Linguaggi e Traduttori: Analisi sintattica

Linguaggi e Traduttori: Analisi sintattica Linguaggi e Traduttori: Analisi sintattica Armando Tacchella Sistemi e Tecnologie per il Ragionamento Automatico (STAR-Lab) Dipartimento di Informatica Sistemistica e Telematica (DIST) Università di Genova

Dettagli

Corso di Laurea in Fisica. Geometria. a.a Canale 3 Prof. P. Piazza Magiche notazioni

Corso di Laurea in Fisica. Geometria. a.a Canale 3 Prof. P. Piazza Magiche notazioni Corso di Laurea in Fisica. Geometria. a.a. 23-4. Canale 3 Prof. P. Piazza Magiche notazioni Siano V e W due spazi vettoriali e sia T : V W un applicazione lineare. Fissiamo una base B per V ed una base

Dettagli

Costruzione di espressioni regolari 4

Costruzione di espressioni regolari 4 ostruzione di espressioni regolari 4 Indicando con d uno dei possibili digits {,, 2,,9} --possiamo esprimere il sotto linguaggio dei digits come d = ( + + 2 +.. + 9) Quale linguaggio produce l espressione:

Dettagli

Funzioni vettoriali di variabile scalare

Funzioni vettoriali di variabile scalare Capitolo 11 Funzioni vettoriali di variabile scalare 11.1 Curve in R n Abbiamo visto (capitolo 2) come la posizione di un punto in uno spazio R n sia individuata mediante le n coordinate di quel punto.

Dettagli

Linguistica Computazionale

Linguistica Computazionale Linguistica Computazionale Grammatiche formali e parsing 11 dicembre 2014 Parsing a Stati Finiti Shallow Parsing Chunking ad ogni frase viene assegnata un unica analisi sintattica sottospecificata il testo

Dettagli

Algoritmi e Principi dell Informatica

Algoritmi e Principi dell Informatica Algoritmi e Principi dell Informatica Appello del 2 Marzo 2015 Chi deve sostenere l esame integrato (API) deve svolgere tutti gli esercizi in 2 ore e 30 minuti. Chi deve sostenere solo il modulo di Informatica

Dettagli

! # %# & # & # #( # & % & % ( & )!+!,!++

! # %# & # & # #( # & % & % ( & )!+!,!++ ! # %# & # & # #( # &! # % & % ( & )!+!,!++ ! # % & & ( ) +,.! / ( # / # % & ( % &,. %, % / / 0 & 1.. #! # ) ) + + + +) #!! # )! # # #.. & & 8. 9 1... 8 & &..5.... < %. Α < & & &. & % 1 & 1.. 8. 9 1.

Dettagli

Algoritmi e Principi dell Informatica

Algoritmi e Principi dell Informatica Algoritmi e Principi dell Informatica Appello del 20 Febbraio 2012 Chi deve sostenere l esame integrato (API) deve svolgere tutti gli esercizi in 2h e 30 Chi deve sostenere solo il modulo di Informatica

Dettagli

LA METAFORA DELL UFFICIO

LA METAFORA DELL UFFICIO LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome

Dettagli

9. LINGUAGGI FORMALI E GRAMMATICHE DI CHOMSKY

9. LINGUAGGI FORMALI E GRAMMATICHE DI CHOMSKY 9. LINGUAGGI FORMALI E GRAMMATICHE DI CHOMSKY Linguaggi e informatica @ Presenti in tutte le applicazioni e in tutte le fasi di uso di un computer: linguaggi di specifica, di programmazione, di scripting

Dettagli

Università degli Studi di Udine. 1 Automi e Linguaggi. Prova Scritta di Fondamenti dell Informatica II Alcune Soluzioni

Università degli Studi di Udine. 1 Automi e Linguaggi. Prova Scritta di Fondamenti dell Informatica II Alcune Soluzioni Università degli Studi di Udine Prova Scritta di Fondamenti dell Informatica II Alcune Soluzioni 1 Automi e Linguaggi 1. Sia dato p N, p > 0 dimostri che il linguaggio è regolare. L p = { a 0 a 1... a

Dettagli

Teoria della Programmazione Lineare. Teoria della Programmazione Lineare p. 1/8

Teoria della Programmazione Lineare. Teoria della Programmazione Lineare p. 1/8 Teoria della Programmazione Lineare Teoria della Programmazione Lineare p. 1/8 I problemi di PL in forma canonica In forma scalare: max n j=1 c jx j n j=1 a ijx j b i x j 0 i = 1,...,m j = 1,...,n Teoria

Dettagli

Corso di Laurea in Informatica. Insegnamento integrato di Calcolo (Calcolo I, Calcolo II, Esercitazioni di Calcolo) Prof. F.

Corso di Laurea in Informatica. Insegnamento integrato di Calcolo (Calcolo I, Calcolo II, Esercitazioni di Calcolo) Prof. F. Università di Venezia Ca Foscari Corso di Laurea in Informatica Insegnamento integrato di Calcolo (Calcolo I, Calcolo II, Esercitazioni di Calcolo) Prof. F. Sartoretto Verifica scritta del 9 febbraio 25.

Dettagli

La rappresentazione dell algoritmo Diagrammi di flusso

La rappresentazione dell algoritmo Diagrammi di flusso La rappresentazione dell algoritmo Diagrammi di flusso Forme di rappresentazione Ritornando al problema dell addizione di due numeri interi, la maestra non fa altro che codificare l algoritmo utilizzando

Dettagli

Linguaggi e tecnologie per il Web

Linguaggi e tecnologie per il Web Sapienza Università di Roma Corso di Laurea in Ingegneria Informatica e Automatica Linguaggi e tecnologie per il Web a.a. 2015/2016 Riccardo Rosati Dipartimento di ingegneria informatica, automatica e

Dettagli

Automi & Morfologia. Marco Pennacchiotti. Tel Ing.dell Informazione, stanza 1035 (primo piano)

Automi & Morfologia. Marco Pennacchiotti. Tel Ing.dell Informazione, stanza 1035 (primo piano) Intelligenza Artificiale A.A. 2004-2005 23 Giugno 2005 Automi & Morfologia Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza 1035 (primo piano) Sommario Morfologia

Dettagli

Macchina di Turing ... !!... !!! a b b! b a! Nastro di Input. testina. s t q i. s r. Unità di Controllo q j S / D / F

Macchina di Turing ... !!... !!! a b b! b a! Nastro di Input. testina. s t q i. s r. Unità di Controllo q j S / D / F Macchina di Turing Nastro di Input...!!! a b b! b a! testina!!... s r s t q i Unità di Controllo q j Q S / D / F P Definizione Formale Una macchina di Turing deterministica è una sestupla

Dettagli

STRINGHE di un ALFABETO. Consideriamo un alfabeto di simboli V V è un insieme finito e non vuoto. Alfabeto della lingua inglese I={a,b,c,..

STRINGHE di un ALFABETO. Consideriamo un alfabeto di simboli V V è un insieme finito e non vuoto. Alfabeto della lingua inglese I={a,b,c,.. STRINGHE di un ALFABETO Consideriamo un alfabeto di simboli V V è un insieme finito e non vuoto Alfabeto binario A={0,1} Alfabeto della lingua inglese I={a,b,c,..z} Stringhe o parole Gli elementi di V

Dettagli

Dispensa 1. Da un punto di vista logico l architettura di un compilatore si può suddividere in due parti: Analisi e Sintesi.

Dispensa 1. Da un punto di vista logico l architettura di un compilatore si può suddividere in due parti: Analisi e Sintesi. Dispensa 1 1. Introduzione ai compilatori Compilatore Un compilatore è un programma che legge un programma scritto in un linguaggio (sorgente) e lo traduce in un programma equivalente in un altro linguaggio

Dettagli

Espressioni regolari

Espressioni regolari spressioni Regolari Un FA (NFA o DFA) e una macchina a stati finiti che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo (o algebrico) per descrivere un linguaggio regolare.

Dettagli

DEDUZIONE DEL TEOREMA DELL'ENERGIA CINETICA DELL EQUAZIONE SIMBOLICA DELLA DINAMICA

DEDUZIONE DEL TEOREMA DELL'ENERGIA CINETICA DELL EQUAZIONE SIMBOLICA DELLA DINAMICA DEDUZIONE DEL TEOREMA DELL'ENERGIA CINETICA DELL EQUAZIONE SIMBOLICA DELLA DINAMICA Sia dato un sistema con vincoli lisci, bilaterali e FISSI. Ricaviamo, dall equazione simbolica della dinamica, il teorema

Dettagli

LA CORRENTE ELETTRICA

LA CORRENTE ELETTRICA LA CORRENTE ELETTRICA Giuseppe Frangiamore con la collaborazione di Antonino Palumbo Definizione di corrente elettrica La corrente elettrica è un qualsiasi moto ordinato di cariche elettriche, definita

Dettagli

Ragionamento Automatico Calcolo dei Sequenti. Lezione 5 Ragionamento Automatico Carlucci Aiello, 2004/05 Lezione 5 0. Il calcolo dei sequenti

Ragionamento Automatico Calcolo dei Sequenti. Lezione 5 Ragionamento Automatico Carlucci Aiello, 2004/05 Lezione 5 0. Il calcolo dei sequenti Il calcolo dei sequenti Ragionamento Automatico Calcolo dei Sequenti Materiale cartaceo distribuito in aula Il calcolo dei sequenti nella logica proposizionale Il calcolo dei sequenti nella logica predicativa

Dettagli

Linguistica Computazionale

Linguistica Computazionale Linguistica Computazionale Laboratorio espressioni regolari (1) 30 settembre 2014 Cercare, ricercare Cercare una parola in un testo è semplice: ma come fare per ricerche più complesse? le parole che terminano

Dettagli

L AUTOMA ESECUTORE L AUTOMA ESECUTORE

L AUTOMA ESECUTORE L AUTOMA ESECUTORE L AUTOMA ESECUTORE DATI Esecutore Metodo Risolutivo (algoritmo) RISULTATI Un automa capace di ricevere dall esterno una descrizione dello algoritmo richiesto cioè capace di interpretare un linguaggio (linguaggio

Dettagli

Sviluppi e derivate delle funzioni elementari

Sviluppi e derivate delle funzioni elementari Sviluppi e derivate delle funzioni elementari In queste pagine dimostriamo gli sviluppi del prim ordine e le formule di derivazioni delle principali funzioni elementari. Utilizzeremo le uguaglianze lim

Dettagli

Capitolo 1 Linguaggi e Macchine Astratte

Capitolo 1 Linguaggi e Macchine Astratte Università degli Studi di Bologna Scuola di Ingegneria e Architettura Capitolo 1 Linguaggi e Macchine Astratte Corso di Laurea Magistrale in Ingegneria Informatica Anno accademico 2014/2015 Prof. ENRICO

Dettagli

Rappresentazione dei dati in memoria

Rappresentazione dei dati in memoria Rappresentazione dei dati in memoria La memoria Una memoria deve essere un insieme di oggetti a più stati. Questi oggetti devono essere tali che: le dimensioni siano limitate il tempo necessario per registrare

Dettagli

Linguaggi regolari e automi a stati finiti

Linguaggi regolari e automi a stati finiti utomi a stati finiti Gli automi a stati finiti sono usati come modello per Software per la progettazione di circuiti digitali. Analizzatori lessicali di un compilatore. Ricerca di parole chiave in un file

Dettagli

DIFFERENZIAZIONE. Sia f una funzione reale di variabile reale con dominio un intervallo. Se f è derivabile in un punto x 0, allora: f(x) f(x 0 ) lim

DIFFERENZIAZIONE. Sia f una funzione reale di variabile reale con dominio un intervallo. Se f è derivabile in un punto x 0, allora: f(x) f(x 0 ) lim DIFFERENZIAZIONE 1 Regola della catena Sia f una funzione reale di variabile reale con dominio un intervallo. Se f è derivabile in un punto x 0, allora: f(x) f(x 0 ) lim = f (x 0 ). x x 0 x x 0 Questa

Dettagli

Introduzione alla codifica binaria

Introduzione alla codifica binaria Introduzione alla codifica binaria Federico Cerutti AA. 2011/2012 Modulo di Elementi di Informatica e Programmazione http://apollo.ing.unibs.it/fip/ 2011 Federico Cerutti

Dettagli

Le Macchine di Turing

Le Macchine di Turing Le Macchine di Turing Come è fatta una MdT? Una MdT è definita da: un nastro una testina uno stato interno un programma uno stato iniziale Il nastro Il nastro è infinito suddiviso in celle In una cella

Dettagli

Elementi di Algebra Lineare. Spazio Vettoriale (lineare)

Elementi di Algebra Lineare. Spazio Vettoriale (lineare) Elementi di Algebra Lineare Spazio Vettoriale (lineare) Uno spazio vettoriale su un corpo F è una quadrupla (X, F, +, ) costituita da: un insieme di elementi X, detti vettori, un corpo F, i cui elementi

Dettagli

Cenni di programmazione ricorsiva. Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B)

Cenni di programmazione ricorsiva. Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B) Cenni di programmazione ricorsiva Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B) Corso di Laurea in Informatica Università di Pisa A.A. 2009/10 R. Barbuti, P. Mancarella Indice

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla

Dettagli

Il concetto di calcolatore e di algoritmo

Il concetto di calcolatore e di algoritmo Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica

Dettagli

Teoria di Lebesgue. P n E = n=1

Teoria di Lebesgue. P n E = n=1 Teoria di Lebesgue 1. La misura di Peano-Jordan La misura di Peano Jordan di un insieme é quasi sempre proposta per sottoinsiemi limitati E R 2 : si tratta di quanto suggerito dalla carta quadrettata,

Dettagli

Analisi Matematica I DISEQUAZIONI Risposte Pagina Es. 1 Es. 2 Es. 3 Es. 4 Es. 5 1

Analisi Matematica I DISEQUAZIONI Risposte Pagina Es. 1 Es. 2 Es. 3 Es. 4 Es. 5 1 Analisi Matematica I DISEQUAZIONI Risposte Pagina Es. Es. Es. 3 Es. 4 Es. 5 AVVERTENZA: Scrivere le risposte scelte nello spazio in alto a destra. In ogni esercizio una sola risposta è corretta. Esercizio.

Dettagli

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing 1 Macchina di Turing (MDT ) Un dispositivo che accede a un nastro (potenzialmente) illimitato diviso in celle contenenti ciascuna un simbolo

Dettagli

Argomenti Capitolo 1 Richiami

Argomenti Capitolo 1 Richiami Argomenti Capitolo 1 Richiami L insieme dei numeri reali R si rappresenta geometricamente con l insieme dei punti di una retta orientata su cui sia stato fissato un punto 0 e un segmento unitario. L insieme

Dettagli

Esercitazione. Ricorsione. May 31, Esercizi presi dal libro di Rosen

Esercitazione. Ricorsione. May 31, Esercizi presi dal libro di Rosen Esercitazione Ricorsione May 31, 2016 Esercizi presi dal libro di Rosen Problema 2 a) sezione 5.3 Data la seguente funzione definita ricorsivamente come: f(n+1) = 2f(n) f(0) = 3 Determinare il valore di

Dettagli

L AUTOMA ESECUTORE L AUTOMA ESECUTORE

L AUTOMA ESECUTORE L AUTOMA ESECUTORE L AUTOMA ESECUTORE Metodo Risolutivo (algoritmo) Un automa capace di ricevere dall esterno una descrizione dello algoritmo richiesto DATI Esecutore RISULTATI cioè capace di interpretare un linguaggio (linguaggio

Dettagli