IDENTIFYING DATA 2020_21
Subject (*) COMPILERS Code 17234127
Study programme
Bachelor's Degree in Computer engineering (2010)
Cycle 1st
Descriptors Credits Type Year Period
6 Compulsory Fourth 1Q
Language
Català
Department Computer Engineering and Mathematics
Coordinator
GÓMEZ JIMÉNEZ, SERGIO
E-mail sergio.gomez@urv.cat
Lecturers
GÓMEZ JIMÉNEZ, SERGIO
Web http://moodle.urv.cat/
General description and relevant information <p> The information published in this guide corresponds to face-to-face classes and can serve as a guide. Due to the health emergency caused by COVID-19 there may be changes in teaching, assessment and calendars for the 2020-21 academic year. These changes will be reported in the Moodle space of each subject.</p><p>GENERAL DESCRIPTION OF THE SUBJECT:Introduction to the structure, design and implementation of compilers. The front-end and back-end of compilers are studied, and also the basic tools for the generation of lexical and syntactical analyzers. </p>

Competences
Type A Code Competences Specific
 CP1 Have a deep knowledge of the fundamental principles and models of computation and know how to apply them to interpret, select, evaluate, model and create new concepts, theories, uses and technological developments related to IT.
 CP2 Know the theoretical foundations of programming languages and the associated lexical, syntactical and semantic processing techniques, and know how to apply them for the creation, design and processing of languages.
Type B Code Competences Transversal
Type C Code Competences Nuclear

Learning outcomes
Type A Code Learning outcomes
 CP1 Know the structure of a compiler and the execution environment.
Know how to construct lexical and syntactical analysers for programming languages.
Know how to design an application.
Know the basic concepts of flow graphs and their application for code optimisation.
 CP2 Know the structure of a compiler and the execution environment.
Know how to construct lexical and syntactical analysers for programming languages.
Know how to generate code directed by syntax.
Know the basic concepts of flow graphs and their application for code optimisation.
Type B Code Learning outcomes
Type C Code Learning outcomes

Contents
Topic Sub-topic
Compilers structure a. Lexical analysis
b. Syntax analysis
c. Semantic analysis
d. Execution environment
e. Generation of intermediate code
f. Generation of object code
g. Optimitzations
Analyzers integration a. Symbols table
b. Lexical analysis generators
c. Syntax analysis generators
d. Translation directed by the syntax
Code generation a. Intermediate languages
b. Generation of intermediate code
c. Object machine
d. Gneration of object code
Optimitzations a. Optimization sources
b. Flow graphs
c. Code transformations

Planning
Methodologies  ::  Tests
  Competences (*) Class hours
Hours outside the classroom
(**) Total hours
Introductory activities
1 0 1
Lecture
CP1
CP2
14 14 28
Problem solving, exercises in the classroom
CP1
CP2
5 7.5 12.5
IT-based practicals in computer rooms
CP1
CP2
16 9 25
IT-based practicals
CP1
CP2
7 70 77
Personal attention
1 0.5 1.5
 
Oral tests
CP1
CP2
1 4 5
 
(*) On e-learning, hours of virtual attendance of the teacher.
(**) The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies
  Description
Introductory activities Introduction to the development of the course and its contents
Lecture Contents exposition and availability of the bibliographic materials
Problem solving, exercises in the classroom Practical exercises for the understaning of the contents
IT-based practicals in computer rooms Exposition of tools for the development of solutions and practical resolution of problems
IT-based practicals Practical exercises to attain experience and consolidate the theoretical knowledge
Personal attention Personal tuition

Personalized attention
Description

Resolution of doubts about contents and practical exercises, either in person at the professor's office or by telematic means (electronic mail, virtual campus, videoconference, etc.)


Assessment
Methodologies Competences Description Weight        
IT-based practicals
CP1
CP2
Evaluation of practical exercises 90%
Oral tests
CP1
CP2
Interview about practical exercises resolution 10%
Others  
 
Other comments and second exam session

Second call: same criteria as first call.

Although this course is not offered in English, foreign exchange students will receive personalised support in English and will be able to develop the evaluation activities in this language.


Sources of information

Basic Aho, A.; Lam, M.; Sethi, R.; Ullman, J., Compiladores: Principios, técnicas y herramientas (2a ed.), Addison-Wesley, 2008
Aho, A.; Sethi, R.; Ullman, J., Compiladores: Principios, técnicas y herramientas (1a ed.), Addison-Wesley Iberoamericana, 1990

Complementary

Recommendations


Subjects that it is recommended to have taken before
FORMAL LANGUAGES/17234110
(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.