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"