Linguaggi e computabilità 2016/2017

Transcript

Linguaggi e computabilità 2016/2017
Testi del Syllabus
Resp. Did.
POMELLO CHINAGLIA POMELLO
LUCIA
Anno offerta:
2016/2017
Insegnamento:
E3101Q111 - LINGUAGGI E COMPUTABILITA'
Corso di studio:
E3101Q - INFORMATICA
Anno regolamento:
2015
CFU:
8
Anno corso:
2
Periodo:
Primo Semestre
Matricola:
011779
Testi in italiano
Contenuti
Automi a stati finiti, linguaggi regolari e espressioni regolari. Linguaggi e
grammatiche libere da contesto e automi a pila. Elementi di computabilità: la
macchina di Turing; la tesi di Church-Turing; la macchina di Turing Universale.
Problemi non risolvibili. Linguaggi di mark-up e di serializzazione e loro relazione
con le grammatiche.
Testi di riferimento
J.E. Hopcroft, R. Motwani, J.D. Ullman, Automi, linguaggi e calcolabilita’, Addison
Wesley
Materiale fornito sul supporto e-learning
Obiettivi formativi
L’insegnamento ha l’obiettivo di mettere in relazione elementi della teoria dei
linguaggi formali con le basi dell'analisi lessicale e sintattica dei linguaggi
di programmazione e di rendere lo studente consapevole dei limiti della
computazione. Lo studente sarà in grado di definire grammatiche regolari e libere
da contesto che sono necessarie per l’utilizzo di analizzatori sintattici standard.
Prerequisiti
I contenuti degli insegnamenti del primo anno
Metodi didattici
Lezioni, esercitazioni, laboratorio.
Modalità di verifica
dell'apprendimento
La verifica dell'apprendimento comprende una prova scritta e un colloquio orale
oltre allo svolgimento di alcuni esercizi svolti in laboratorio durante il corso..
Programma esteso
1 "Introduzione ai contenuti del corso
I concetti matematici di base per la teoria degli automi"
2 "Automi a stati finiti deterministici
Automi a stati finiti non deterministici
Un’applicazone: ricerche testuali
Automi a stati finiti con epsilon-transizioni
"
3 " Espressioni regolari
Automi a stati finiti ed espressioni regolari
Applicazioni delle espressioni regolari
Proprieta’ algebriche per le espressioni regolari
"
4 "Proprieta’ del linguaggi regolari
Pumping Lemma per diimostrare che un linguaggio (non) e’ regolare
Chiusura di linguaggi regolari rispetto ad operazioni booleane
Equivalenza e minimizzazione di automi
"
5 "Grammatiche
Grammatiche Libere dal Contesto
Alberi sintattici
Applicazioni delle Grammatiche Libere dal Contesto
Ambiguita’ nelle Grammatiche e nei Linguaggi
"
6 "Macchine di Turing
Problemi che i calcolatori non possono risolvere
La Macchina di Turing
Estensione alla Macchina di Turing semplice
Macchine di Turing ridotte
"
7 "Computabilita’
Linguaggi non Ricorsivamente Enumerabili
Linguaggi Ricorsivamente Enumerabile e Ricorsivi
Problemi indecidibili relativi alle Macchine di Turing
"
8 "Analizzatori lessicali e sintattici
Linguaggi di mark-up: XML"
Testi in inglese
Contenuti
Finite automata, regular languages and regular expressions. Context-free
languages, context-free grammars and pushdown automata. Elements of the theory
of computation: Turing machine, the Church-Turing thesis, the Universal Turing
machine, unsolvable problems. Mark-up and serialization languages and their
relation to grammars.
Testi di riferimento
J.E. Hopcroft, R. Motwani, J.D. Ullman, Automi, linguaggi e calcolabilita’, Addison
Wesley
Material provided on the e-learning platform
Obiettivi formativi
The course puts in relation formal language theory with the parsing of programming
languages and aims to make the student aware of the limits of computing. The
student will be able to define regular and context-free grammars that are necessary
to use standard parsing tools and to use basic mark-up languages.
Prerequisiti
The contents of the first year's courses.
Metodi didattici
Lectures, recitations, laboratory.
Modalità di verifica
dell'apprendimento
Written and oral examination, exercises during the lab.
Programma esteso
1 "Introduction and motivations
Basic mathematical concepts for automata theory"
2 "Deterministic finite state automata
Non-deterministic finite state automata
An application: searching in texts
Finite state automata with epsilon-moves"
3 "Regular expressions
Finite state automata and regular expressions
Applications of regular expressions
Algebraic properties of regular expressions"
4 "Properties of regular languages
PumpingLemma to (dis)prove regularity of a language
Regular languages closure in re to boolean operations
Equivalence and minimization of automata"
5 "Grammars
Context free grammars
Parse trees
Applications of Context free grammars
Ambiguity of grammars and of languages"
6 "Turing Machines
Uncomputable problems
The basic Turing machine
Extensions of the basic Turing machine
Reduced Turing Machines"
7 "Computability
Non Recursively Enumerable languages
Recursively Enumerable and Recursive languages
Undecidable problems and Turing Machines"
8 "Lexical and syntactic parsers
Mark-up languages: XML"