ECTS credits ECTS credits: 4.5
ECTS Hours Rules/Memories Student's work ECTS: 73 Hours of tutorials: 0.5 Expository Class: 16 Interactive Classroom: 23 Total: 112.5
Use languages Spanish, Galician
Type: Ordinary Degree Subject RD 1393/2007 - 822/2021
Departments: Electronics and Computing
Areas: Computer Architecture and Technology, Computer Science and Artificial Intelligence
Center Higher Technical Engineering School
Call: Second Semester
Teaching: With teaching
Enrolment: Enrollable
The aim of this subject is to put in the concepts, stages and basic elements of the compilation of the imperative languages. This knowledge has to serve to:
1) improve the comprehension of the collectors (efficiency, limits of the language, etc.) and of the languages of programming. 2) make a practical implementation of simple and efficient analyzers.
Theory
1. Introduction.
2. Lexical analysis.
3. Syntactic analysis.
4. Semantic analysis.
5. Generation and optimization of code.
Laboratory
A set of programming activities will be proposed in order to cope with the different stages in a common compiler.
BASIC BIBLIOGRAPHY
A.V. Aho, R. Sethi, J.D. Ullman. Compiladores. Principios, técnicas y herramientas. 1ª Edición. Addison Wesley Longman, 1990. ISBN: 9684443331
COMPLEMENTARY BIBLIOGRAPHY
A.V. Aho, M.S. Lam, R. Sethi, J.D. Ullman. Compiladores. Principios, técnicas y herramientas. 2ª Edición. Pearson Educación, 2008. ISBN: 8588639246
D. Grune, H. E. Bal, C.J.H. Jacobs, K.Langendoen. Diseño de Compiladores Modernos. McGraw-Hill/Interamericana de España, S.A.U, 2007. ISBN: 8448156560
J. Levine. lex & yacc. O’Reilly, 1992. ASIN: B009THDEBC
M. Alfonseca, M. de la Cruz, A. Ortega, E. Pulido. Compiladores e Intérpretes: teoría y práctica. Pearson Educación, 2006. ISBN: 8483226928
D. Galles. Modern Compiler Design. Scott/Jones Inc. 2005. ASIN: B01JXQI90O
K.D. Cooper, L. Torczon. Engineering a compiler. Morgan Kaufmann, 2004. ISBN: 012088478X
J.E. Hopcroft, R. Motwani, J.D. Ullman. Introdución a la teoría de autómatas, lenguajes y educación. Pearson Educación, 2007. ISBN: 8478290885
With a general characteristic to help to obtain the competences gathered in the memory of the title of Degree in Computer Engineering of the USC. (CG1, CG4, CG5, CG6, CG8, CG9, TR1, TR2, TR3, FB3, FB4, FB5, RI1, RI5, RI6, RI7, RI9, RI10, TI2). Particularly, to know techniques to translate codes among different programming languages.
With specific characteristic, the subject must allow to obtain the following competences:
1. Aptitude to design and implement a lexical and syntactic analyzer.
2. Aptitude to design and implement the solution most adapted for a problem of translation.
3. Aptitude to use generating tools of lexical and syntactic analyzers in different programming languages.
4. Aptitude to understand the main issues when ganarating low level code, and itheir influence in the performane.
The theoretical contents of the subject will explain at classrooms where it will be used the blackboard and audio-visual materials, and will rest on the accomplishment of exercises and on the analysis of practical cases. During these classes it will be exposed a set of problems which resolution will be made in the laboratory of computer science, with the help of a computer.
ORDINARY OPPORTUNITY
The assessment of the subject will be made through an examination that will suppose the 50 % of the final mark. It will also be an essential requirement to pass the subject both the attendance and the positive assessment of all the proposed practices, which will suppose the 50 % of the final mark. This assessment will be made in a continuous way in the laboratory. Thus, to pass the subject entails both to pass the examination and the practices. If students do not pass the practices they will have to pass a practical examination.
SECOND CHANCE
The assessment of the subject will be made through a written examination (50 % of the final mark) and the positive assessment of the practices made along the ordinary opportunity (50 % of the final mark). It is compulsory to having reached a positive assessment of the proposed practices during the course period.
ASSESSMENT FOR STUDENTS FROM PREVIOUS YEARS
The assessment is the same as the rest of the students, but the marks of the practices can be maintained.
- Autonomous study: 28 hours
- Writing of exercises, conclusions or other works: 10 hours
- Programming and other works in computer: 25 hours
- Preparation of works, projects, examinations: 7.5 hours
It is recommended to take the theoretical study and the accomplishment of practices and problems per day. At the same time, we consider important to do a good using of the tutorials for the most immediate solution of doubts.
The official language is Spanish. The student should not sign on this subject without having passed those of Programming I, Programming II, Foundations of Computers, Architecture of Computers and Theory of Automatons and Formal Languages.
Paulo Felix Lamas
Coordinador/a- Department
- Electronics and Computing
- Area
- Computer Science and Artificial Intelligence
- Phone
- 881816422
- paulo.felix [at] usc.es
- Category
- Professor: University Lecturer
Francisco Fernández Rivera
- Department
- Electronics and Computing
- Area
- Computer Architecture and Technology
- Phone
- 881816470
- ff.rivera [at] usc.es
- Category
- Professor: University Professor
Tuesday | |||
---|---|---|---|
18:00-20:00 | Grupo /CLIL_01 | Spanish | IA.01 |
Wednesday | |||
09:00-10:00 | Grupo /CLE_01 | Spanish | IA.S1 |
12:00-14:00 | Grupo /CLIL_04 | Spanish | IA.03 |
Thursday | |||
09:00-10:00 | Grupo /CLE_01 | Spanish | IA.S1 |
01.10.2025 10:00-14:00 | Grupo /CLE_01 | Work Classroom |
01.10.2025 10:00-14:00 | Grupo /CLIL_01 | Work Classroom |
01.10.2025 10:00-14:00 | Grupo /CLIL_02 | Work Classroom |
01.10.2025 10:00-14:00 | Grupo /CLIL_03 | Work Classroom |
01.10.2025 10:00-14:00 | Grupo /CLIL_04 | Work Classroom |
05.28.2025 16:00-20:00 | Grupo /CLE_01 | Classroom A2 |
05.28.2025 16:00-20:00 | Grupo /CLIL_01 | Classroom A2 |
05.28.2025 16:00-20:00 | Grupo /CLIL_02 | Classroom A2 |
05.28.2025 16:00-20:00 | Grupo /CLIL_03 | Classroom A2 |
05.28.2025 16:00-20:00 | Grupo /CLIL_04 | Classroom A2 |
07.02.2025 10:00-14:00 | Grupo /CLE_01 | Classroom A2 |
07.02.2025 10:00-14:00 | Grupo /CLIL_01 | Classroom A2 |
07.02.2025 10:00-14:00 | Grupo /CLIL_02 | Classroom A2 |
07.02.2025 10:00-14:00 | Grupo /CLIL_03 | Classroom A2 |
07.02.2025 10:00-14:00 | Grupo /CLIL_04 | Classroom A2 |