Double Degree in International Computer Engineering and Management of Business and Technology

Programming Languages

When finishing the course the student: - it Knows the basic foundations by the formal definition of programming languages. - It uses properly the technicians for the implementation of programming languages. - It knows the different paradigms of programming. - It has the sufficient capacity to choose the most adapted programming language by the resolution of a problem.
Type Subject
Tercer - Obligatoria

G-1. Capacity of analysis and synthesis of conceptual frames to generate new knowledges.
G-2. Capacity to organise and schedule the application of new knowledges.
G-3. Basic general knowledges on the area of study.
G-4. Purchase basic knowledges of the profession.
G-5. Oral communication and written in the own tongue.
G-9. Resolution of problems.
G-10. Taking of desicions.
G-11. Basic and fundamental knowledges of the field of training.
G-13. Purchase capacity of criticism and self-criticism.
G-14. Work in team.
G-15. Purchase interpersonal skills.
G-22. Capacity to apply the knowledges to the practice.
G-24. Capacity to develop new strategies of learning.
G-26. Generate new ideas (creativity).
G-30. Design and manage projects.
And-1. Learn of new autonomous form knowledges and timely technicians by the conception, the development or the exploitation of computer systems.


1. Programming languages: definition and design.
2. Syntax: classification of Chomsky.
3. Regular languages, regular expressions and automatons of finite states.
4. Lexicographical analysis: design and implementation.
5. Languages incontextuals, grammars incontextuals and syntactic analysers.
6. Downward syntactic analysers and ancestors: design and implementation.
7. Translation directed by syntax.
8. Grammars of attributes.
9. Semantic analysis: design and implementation.
10. Generation of code: design and implementation.


The asignatura develops from face-to-face classes where give the necessary theoretical contents to achieve the aims of learning. These sessions complement with practices guided to the laboratory and that the students also have to realise in group.

The technologies used are: javacc, java.


It is an asignatura theoretical-practical in which they combine the theoretical explanations with the practices. The combination of theory and practice totally coordinated allow a strong afiançament of the contents, and therefore, of the competitions associated.
The evaluation of the student does from the following instruments of evaluation:
Examinations and exercises of continuous evaluation (50%) and the development and presentation of practices (50%).
To approve the asignatura it is necessary to do it separately so much to the practical part like the one of theory.

Basic Bibliography

[1] Tucker, A. B, Noonan, R.E., Programming Languages, Principles and Paradigms, 2nd edition, McGraw-Hill, 2007
[2] Pratt, Terrence and Zelkowitz, Marvin V. "Programming Languages: Design and Implementation (Fourth edition)". Prentice Hall, 2001
[3] Mozota, M., Teoria de la compilació: Anàlisi lèxic i sintàctic, LaSalleOnline Enginyers, 2009
[4] Mozota, M., Teoria de la compilació: Anàlisi semàntica i generació de codi, LaSalleOnline Enginyers, 2009