DADES IDENTIFICATIVES 2013_14
Assignatura (*) LLENGUATGES FORMALS Codi 17234110
Ensenyament
Grau d'Enginyeria Informàtica (2010)
Cicle 1r
Descriptors Crèd. Tipus Curs Període
6 Obligatòria Tercer Segon
Llengua d'impartició
Català
Departament Enginyeria Informàtica i Matemàtiques
Coordinador/a
RIAÑO RAMOS, DAVID
Adreça electrònica david.riano@urv.cat
Professors/es
RIAÑO RAMOS, DAVID
Web http://moodle.urv.cat/
Descripció general i informació rellevant Els llenguatges formals són un component fonamental del camp de la informàtica. En aquest curs introduirem els tipus de llenguatges formals i practicarem tècniques i eines per processar-los. Això servirà de base per introduir-nos en els fonaments de la calculabilitat i de la complexitat, així com dels processadors de llenguatges formals.

Competències
Tipus A Codi Competències Específiques
 A4 Capacitat per concebre, desenvolupar i mantenir sistemes, serveis i aplicacions informàtiques emprant els mètodes de l’enginyeria del software com a instrument per a l’assegurament de la qualitat.
 CP1 Capacitat per tenir un coneixement profund dels principis fonamentals i models de la computació i saber-los aplicar per interpretar, seleccionar, valorar, modelar i crear nous conceptes, teories, usos i desenvolupaments tecnològics relacionats amb la informàtica.
 CP2 Capacitat per conèixer els fonaments teòrics dels llenguatges de programació i les tècniques de processament lèxic, sintàctic i semàntic associades, i saber aplicar-les per a la creació, disseny i processament de llenguatges.
Tipus B Codi Competències Transversals
Tipus C Codi Competències Nuclears
 C4 Expressar-se correctament de manera oral i escrita en una de les dues llengües oficials de la URV.

Resultats d'aprenentage
Tipus A Codi Resultats d'aprenentatge
 A4 Sap utilitzar eines per generar analitzadors lèxics i sintàctics
 CP1 Coneix els principals tipus de llenguatges formals
Sap construir expressions regulars, gramàtiques i autòmats per la descripció, generació i reconeixement de llenguatges formals
Comprèn els conceptes bàsics de calculabilitat i complexitat
Coneix l’estructura bàsica dels processadors de llenguatges
Sap utilitzar eines per generar analitzadors lèxics i sintàctics
 CP2 Coneix els principals tipus de llenguatges formals
Sap construir expressions regulars, gramàtiques i autòmats per la descripció, generació i reconeixement de llenguatges formals
Coneix l’estructura bàsica dels processadors de llenguatges
Sap utilitzar eines per generar analitzadors lèxics i sintàctics
Tipus B Codi Resultats d'aprenentatge
Tipus C Codi Resultats d'aprenentatge
 C4 Produeix un text escrit gramaticalment correcte
Produeix un text escrit ben estructurat, clar i ric
Produeix un text escrit adequat a la situació comunicativa

Continguts
Tema Subtema
1. Introducció 1.1. Els llenguatges de programació com a llenguatges formals.
1.2. Nocions bàsiques de llenguatges formals: definició, descripció, i reconeixement de llenguatges formals.
1.3. Estructura bàsica d'un compilador.
2. Llenguatges regulars 2.1. Expressions regulars.
2.2. Autòmats finits: deterministes, no deterministes i amb lambda-moviments.
2.3. Equivalència entre expressions regulars i autòmats finits.
2.4. Generadors d'analitzadors lèxics: flex.
3. Llenguatges independents del context 3.1. Gramàtiques independents del context.
3.2. Autòmats de pila.
3.3. Equivalència entre gramàtiques independents del context i autòmats de pila.
3.4. Generadors d'analitzadors sintàctics: bison.
4. Altres llenguatges formals 4.1. Classificació dels llenguatges formals: jerarquia de Chomsky.
4.2. Màquines de Turing.
4.3. Llenguatges recursius i llenguatges recursivament enumerables.
5. Calculabilitat i complexitat 5.1. Tesi de Church-Turing.
5.2. Màquina de Turing universal.
5.3. Problemes indecidibles: problema de l'aturada.
5.4. Introducció a la teoria de la complexitat.
5.5. Els problemes P, NP i NP-complets.
6. Processadors de llenguatges formals 6.1. Taula de símbols.
6.2. Anàlisi lèxica.
6.3. Anàlisi sintàctica.
6.4. Anàlisi semàntica.
6.5. Generació de codi intermedi.
6.6. Generació de codi objecte.

Planificació
Metodologies  ::  Proves
  Competències (*) Hores a classe
Hores fora de classe
(**) Hores totals
Activitats Introductòries
1 0 1
Sessió Magistral
CP1
CP2
11 24 35
Resolució de problemes, exercicis a l'aula ordinària
CP1
CP2
13 22.5 35.5
Pràctiques a través de TIC en aules informàtiques
A4
C4
30 22.5 52.5
Atenció personalitzada
A4
CP1
CP2
C4
1 0 1
 
Proves mixtes
CP1
CP2
3 6 9
Proves pràctiques
A4
C4
1 15 16
 
(*) En el cas de docència no presencial, són les hores de treball amb suport vitual del professor.
(**) Les dades que apareixen a la taula de planificació són de caràcter orientatiu, considerant l’heterogeneïtat de l’alumnat

Metodologies
Metodologies
  Descripció
Activitats Introductòries Presentació de l'assignatura durant la primera hora del curs.
Sessió Magistral Casses teòriques introductòries de la matèria del curs.
Resolució de problemes, exercicis a l'aula ordinària Per exercitar les diferents metodologies introduïdes a les sessions magistrals.
Pràctiques a través de TIC en aules informàtiques Aplicar, a nivell pràctic, la teoria. Exercicis pràctics a través de les TIC.
Atenció personalitzada Sis hores de consulta setmanals a disposició de l'alumne.

Atenció personalitzada
Descripció
Durant les 6 hores setmanals d'atenció personalitzada, l'alumne podrà anar al despatx del professor per tal d'aclarir dubtes, reforçar conceptes i tècniques, i demanar supervisió en la resolució d'exercicis.

Avaluació
Metodologies Competències Descripció Pes        
Proves mixtes
CP1
CP2
Tres proves individuals parcials mitjançant preguntes curtes amb solució tipus test i/o problemes de desenvolupament sobre els continguts proporcionats fins al moment. 60%
Proves pràctiques
A4
C4
Els treballs realitzats al laboratori i completats a casa són presentats en forma documental. 30%
Altres  

Lliurament d'exercicis realitzats individualment o en grup i demanats periòdicament.

10%
 
Altres comentaris i segona convocatòria

La segona convocatòria consistirà en un exàmen escrit avaluant el total dels continguts de l'assignatura.


Fonts d'informació

Bàsica J. Ullman, J. John and R. Motwani, Introduccion a la teoria de Automatas, lenguajes y computación, Addison Wesley, 2002
D. Riaño, Models abstractes de càlcul, Tarragona : Universitat Rovira i Virgili, Servei Lingüístic, 1998

Complementària J. Levine, Flex & Bison: Text Processing Tools, O'Reilly Media, 2009

Recomanacions

Assignatures que en continuen el temari
COMPILADORS/17234127
COMPILADORS/17234214


Assignatures que es recomana haver cursat prèviament
PROGRAMACIÓ/17234114
(*)La Guia docent és el document on es visualitza la proposta acadèmica de la URV. Aquest document és públic i no es pot modificar, llevat de casos excepcionals revisats per l'òrgan competent/ o degudament revisats d'acord amb la normativa vigent