-
ECTS credits
ECTS credits: 4.5ECTS Hours Rules/Memories
Student's work ECTS: 73
Hours of tutorials: 0.5
Expository Class: 16
Interactive Classroom: 23
Total: 112.5Use languages
Spanish, GalicianType:
Ordinary Degree Subject RD 1393/2007 - 822/2021Departments:
Electronics and ComputingAreas:
Computer Architecture and Technology, Computer Science and Artificial IntelligenceCenter
Higher Technical Engineering SchoolCall:
Second SemesterTeaching:
With teachingEnrolment:
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: 8478290885With 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 hoursIt 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 Manuel Felix Lamas
Coordinador/a- Department
- Electronics and Computing
- Area
- Computer Science and Artificial Intelligence
- Phone
- 881816422
- paulo.felix@usc.es
- Category
- Professor: University Professor
Francisco Fernández Rivera
- Department
- Electronics and Computing
- Area
- Computer Architecture and Technology
- Phone
- 881816470
- ff.rivera@usc.es
- Category
- Professor: University Professor
-
2º Semester - January 27th-February 02nd 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 Exams 01.10.2025 10:00-14:00 Grupo /CLIL_04 Work Classroom 01.10.2025 10:00-14:00 Grupo /CLIL_01 Work Classroom 01.10.2025 10:00-14:00 Grupo /CLE_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 05.28.2025 16:00-20:00 Grupo /CLIL_03 Classroom A2 05.28.2025 16:00-20:00 Grupo /CLIL_04 Classroom A2 05.28.2025 16:00-20:00 Grupo /CLIL_01 Classroom A2 05.28.2025 16:00-20:00 Grupo /CLE_01 Classroom A2 05.28.2025 16:00-20:00 Grupo /CLIL_02 Classroom A2 07.02.2025 10:00-14:00 Grupo /CLIL_04 Classroom A2 07.02.2025 10:00-14:00 Grupo /CLIL_01 Classroom A2 07.02.2025 10:00-14:00 Grupo /CLE_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