Anar al contingut (clic a Intro)
UdG Home UdG Home
Tancar
Menú

Estudia

Dades generals

Curs acadèmic:
2017
Descripció:
Proporcionar als alumnes els coneixements bàsics de l'estructura i el funcionament d'un compilador.
Crèdits ECTS:
5

Grups

Grup A

Durada:
Semestral, 1r semestre
Professorat:
Jordi Coll Caballero  / Josep Suy Franch
Idioma de les classes:
Català (90%), Anglès (10%)

Competències

  • CT06 Disenyar propostes creatives
  • CT08 Planificar i organitzar les propostes i projectes
  • CT11 Prendre decisions per la resolució de situacions diverses
  • CC1 Capacitat per a tenir un coneixement profund dels principis fonamentals i models de la computació i saber-los aplicar per a intentar, seleccionar, valorar, modelar, i crear nous conceptes, teories, usos i desenvolupaments tecnològics relacionats amb la informàtica.
  • CC2 Capacitat per a conèixer els fonaments teòrics dels llenguatges de programació i les tècniques de procesament lèxic, sintàctic i semàntic associades, i saber aplicar-les per a la creació, disseny i processament de llenguatges.
  • CC3 Capacitat per avaluar la complexitat computacional d'un problema, conèixer estratègies algorítmiques que poguin conduir a la seva resolució i recomenar, desenvolupar i implementar aquella que garanteixi el millor rendiment d'acord amb els requisits establerts.

Continguts

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

Activitats

Tipus d’activitat Hores amb professor Hores sense professor Total
Anàlisi / estudi de casos 33,50 51,00 84,50
Resolució d'exercicis 0 10,00 10,00
Sessió expositiva 11,50 11,00 22,50
Treball en equip 5,00 3,00 8,00
Total 50,00 75,00 125

Bibliografia

  • Aho, Alfred V (1990 ). Compiladores : principios, técnicas y herramientas . Argentina [etc.]: Addison-Wesley Iberoamericana. Catàleg
  • Parr, Terence (cop. 2007 ). The Definitive ANTLR reference guide : building domain-specific languages . Raleigh [ etc.]: The Pragmatic bookshelf. Catàleg
  • Wilhelm, Reinhard (1995 ). Compiler design . Wokingham, [etc.]: Addison-Wesley. Catàleg

Avaluació i qualificació

Activitats d'avaluació:

Descripció de l'activitat Avaluació de l'activitat %
Exercicis Exercicis temes 2,3,4 i 5 10
Examen Examen Final 50
Pràctiques Realització d'un compilador d'un llenguatge senzill 40

Qualificació

Mínim examen 4,5 sobre 10
Mínim pràctiques 4,5 sobre 10

Criteris específics de la nota «No Presentat»:
Si no es presenta a l'examen i/o no realitza les pràctiques si ha superat les altres parts.

Escull quins tipus de galetes acceptes que el web de la Universitat de Girona pugui guardar en el teu navegador.

Les imprescindibles per facilitar la vostra connexió. No hi ha opció d'inhabilitar-les, atès que són les necessàries pel funcionament del lloc web.

Permeten recordar les vostres opcions (per exemple llengua o regió des de la qual accediu), per tal de proporcionar-vos serveis avançats.

Proporcionen informació estadística i permeten millorar els serveis. Utilitzem cookies de Google Analytics que podeu desactivar instal·lant-vos aquest plugin.

Per a oferir continguts publicitaris relacionats amb els interessos de l'usuari, bé directament, bé per mitjà de tercers (“adservers”). Cal activar-les si vols veure els vídeos de Youtube incrustats en el web de la Universitat de Girona.