1. Introducció.
1.1. Traductors. Compiladors i intèrprets.
1.2. Esquema d'un compilador
2. Anàlisi lèxic.
2.1. Descripció i tasques.
2.2. Especificació dels Tokens.
2.3. Expressions regulars i llenguatges regulars.
2.4. Programació d'un autòmat finit determinista.
3. Gramàtiques lliures de context.
3.1. Gramàtiques. Arbre de derivació.
3.2. Ambigüitat. Recursivitat.
3.3. Anul·lable. Primer. Següent.
3.4. Manipulacions de gramàtiques
4. Anàlisi sintàctic.
4.1. Descripció, tasques i tipus.
4.2. Anàlisi sintàctic descendent.
4.3. Anàlisi sintàctic ascendent.
5. Anàlisi semàntic. Taula de símbols. Generació de codi intermedi.
5.1. Característiques i tasques.
5.2. Gramàtiques atribuïdes.
5.3. Esquema de traducció atribuït.
5.4. Taula de símbols.
5.5. Generació de codi intermedi.
5.6. Exemples
6. Optimització.
6.1. Descripció i tipus.
6.2. Optimització en blocs bàsics.
6.3. Optimització en bucles.
6.4. Optimització depenent de la màquina.
7. Dissenyar i implementar un compilador per a un llenguatge senzill.
7.1. Descipció del llenguatge
7.2. Aàlisi lèxic i sintàctic
7.3. Semàntica i generació de codi sobre Bytecode