2005-2006

Enginyeria en Informàtica (3371)


Processadors de Llenguatge II (12470) 


Descripció

Un petit nombre de conceptes forma la base dels centenars de llenguatges de programació que han estat dissenyats i implementats. Aquest curs introdueix aquests conceptes base per als llenguatges de programació. L'objectiu és donar als estudiants una comprensió i apreciació bàsica dels paradigmes de programació, criteris d'avaluació així com tècniques d'implementació de llenguatges. El curs cobreix conceptes de programació imperativa, programació lògica, programació funcional, programació orientada a objectes, i programació concurrent. Aquests conceptes són il·lustrats per exemples en diferents llenguatges de programació com Pascal, C, Prolog, SML, Java, etc.

Temari

Tema 1. Introducció

Paper dels llenguatges de programació
Implementació.
Qualitats en un llenguatge de programació.

Tema 2. Descripció sintàctica i semántica de llenguatges

Descripció de la sintaxi via gramàtiques lliures de context
Altres gramatiques (BNF, EBNF), parse trees, algoritmes de parsing,
Attribute grammars, semàntica denotacional, verificació de programes.

Tema 3. El paradigme lògic

Regles, queries, model d'execució, rastreig d'avaluació de queries.
Prolog, unificació, estructures de dades i tipus, closed world assumption,
negació, model d'execució, no-determinisme, back-tracking

Tema 4. El paradigma funcional

Escalars bàsics, tipus, tuplas, dades definides per l'usuari
Operaciones: expresions, patern matching.
Control: definicions de function, recursion.

Tema 5. El Paradigma concurrent

Procesos, threads, mecanismes i problemes de sincronizació,
scheduling de procesos, Java.

Tema 6. Paradigma orientat a objectes

Information Hiding, encapsulació, tipus de dades abstractes.

Organització

Pràctiques

Mètode d'avaluació

A través de les pràctiques i un examen. L'examen serà teòric amb una secció referent a les pràctiques . Les pràctiques consistiran en resoldre un nombre de problemes utilitzant els diferents paradigmes de programació presentats a classe. Eveluaciió: examen teòric (60%), pràctiques (40%), les dues parts deuen ser aprovades.  

Bibliografia

Bibliografia bàsica

Pratt and Zelkowitz,

Programming Languages Design and Implementation, 4th Edition, Prentice Hall(2001).



Bibliografia complementària

R. W. Sebesta,

Concepts of Programming Languages, 5th Edition, Addison Wesley



A. Tucker and R. Noonan,

Programming Languages Principles and Paradigms Mc Graw Hill

 

Darrera actualització 24-11-2010
© Universitat Pompeu Fabra, Barcelona