2011_12
Guia docent 
Escola Tècnica Superior d'Enginyeria
A A 
català 
Enginyeria Informàtica (1997)
 Assignatures
  COMPILADORS I
   Continguts
Tema Subtema
Introducció 1 Llenguatges
1.1 Divisió dels llenguatges de programació
1.2 Classificaci´o dels llenguatges de programació
2 Nocions bàsiques
3 Context d’un compilador
3.1 Preprocessador
3.2 Enllaçador
3.3 Depurador (debugger)
3.4 Assemblador
4 Estructura bàsica d’un compilador
4.1 Anàlisi lèxica
4.2 Anàlisi sintàctica
4.3 Anàlisi semàntica
4.4 Generador de codi intermedi
4.5 Optimitzador de codi
4.6 Generador de codi
4.7 Tractament d’errors
4.8 Gestor de la Taula de Símbols
4.9 Exemple
5 Construcció d’un compilador
5.1 Àmbits d’aplicació
5.2 Diagrames de Tombstone
5.3 Compilador enllaçador
5.4 Compilador creuat
5.5 Bootstrapping
5.6 Compilador interpretatiu
Anàlisi lèxica 1 Organització
1.1 Funcionament de l’analitzador lèxic
2 Construcció de l’analitzador lèxic
3 Especificació d’un analitzador lèxic
3.1 Tractament de les paraules clau (reservades)
4 Tractament d’errors
5 El sistema d’entrada
5.1 Mètode de la parella
5.2 Mètode del sentinella
5.3 Sistema d’entrada del LEX
6 La taula de símbols (TS)
6.1 Operacions
6.2 Organització de la TS
6.3 Definició d’un node
Anàlisi sintàctica 1 Introducció
2 Conceptes generals
2.1 Forma de Backus-Naur estesa (BNF)
2.2 Disseny de gramàtiques per a llenguatges de programaci´o
3 Anàlisi sintàctica descendent
3.1 Eliminació de la recursivitat per l’esquerra
3.2 Analitzador descendent recursiu
3.3 Anàlisi descendent predictiva
4 Anàlisi sintàctica ascendent
4.1 Gramàtiques LR(k)
4.2 Anàlisi SLR(1)
Anàlisi semàntica 1 Introducció
2 Anàlisi semàntica
2.1 Gramàtiques atribuïdes
3 Generació de codi intermedi
3.1 Representacions intermèdies
3.2 Notació postordre
3.3 Codi de tres adreces
3.4 Comparació de la implantació amb triples i quadruples.
Lex - Lexical Analyzer Generation - (Laboratori) 1 Esquema d’una especificació LEX
1.1 Declaracions
1.2 Regles
2 Expressions regulars LEX
2.1 Operadors
2.2 Funcions dels operadors
3 Secció de declaracions
3.1 Definicions
3.2 Condicions inicials
3.3 Altres declaracions
4 Accions
4.1 Variables
4.2 Funcions
4.3 MACROS
5 Ambigüitat de regles
6 Funcionament intern i utilització amb Bison
7 Generació d’un analitzador amb les eines FLEX i BISON
BISON - GNU parser generator - (Laboratori) 1 Introducció
2 Esquema d’una especificació BISON (YACC)
2.1 Declaracions
2.2 Regles
2.3 Procediments auxiliars
3 Accions semàntiques
4 L’analiltzdor sintàctic
5 Gramàtiques ambigües. Conflictes.
6 Precedència i associabilitat.
7 Mecanismes de recuperació d’errors.
8 Interacció analitzador lèxic/ analitzador sintàtic
8.1 Tipus de valors arbitraris
8.2 Nom dels arxius
SYMTAB - Taula de símbols - (Laboratori) 1 Introducció
2 Conceptes previs
3 Fitxers
4 Estructures de dades
4.1 Valors
4.2 Noms
4.3 Àmbit global
4.4 Àmbit imbricat
5 Funcions
5.1 Afegir entrades a la TS
5.2 Cercar entrades a la TS
5.3 Eliminar entreades a la TS
5.4 Àmbits imbricat: tractament
5.5 Optimitzacions