![]() |
Educational guide | |||||||||||||||||||||||||||||||||||||||
IDENTIFYING DATA | 2024_25 | |||||||||||||||||||||||||||||||||||||||
Subject | LANGUAGE PROCESSORS | Code | 00709035 | |||||||||||||||||||||||||||||||||||||
Study programme |
|
|||||||||||||||||||||||||||||||||||||||
Descriptors | Credit. | Type | Year | Period | ||||||||||||||||||||||||||||||||||||
6 | Compulsory | Fourth | Second |
|||||||||||||||||||||||||||||||||||||
Language |
|
|||||||||||||||||||||||||||||||||||||||
Prerequisites | ||||||||||||||||||||||||||||||||||||||||
Department | ING.MECANICA,INFORMAT.AEROESP. |
|||||||||||||||||||||||||||||||||||||||
Coordinador |
|
raferd@unileon.es jmalip@unileon.es |
||||||||||||||||||||||||||||||||||||||
Lecturers |
|
|||||||||||||||||||||||||||||||||||||||
Web | http://agora.unileon.es | |||||||||||||||||||||||||||||||||||||||
General description | Introduces the student to the analysis and evaluation of language processing tools (compilers). | |||||||||||||||||||||||||||||||||||||||
Tribunales de Revisión |
|
|||||||||||||||||||||||||||||||||||||||
Competencias |
Code | |
A18138 | |
B5619 | |
B5623 | |
B5625 | |
C2 | CMECES2 That students know how to apply their knowledge to their work or vocation in a professional manner and possess the skills that are usually demonstrated through the development and defense of arguments and the resolution of problems within their area of study. |
C5 | CMECES5 That students have developed those learning skills necessary to undertake further studies with a high degree of autonomy |
Learning aims |
Competences | |||
The student knows the theoretical foundations of programming languages and the associated lexical, syntactic and semantic processing techniques, and knows how to apply them to language creation, design and processing. | A18138 |
B5619 B5623 B5625 |
C2 C5 |
The student applies language theory to the construction of language processors. | A18138 |
B5619 |
C2 |
The student is able to implement and evaluate solutions to language processor problems. | A18138 |
B5619 B5623 |
C5 |
Contents |
Topic | Sub-topic |
Fundamentals of language processors | 1. INTRODUCTION TO LANGUAGE PROCESSORS Functions of language processors. Logical and physical structures. Types. 2. LEXICAL ANALYSIS Functional description. Tokens, lexemes and patterns. Lexical errors. Token specification and recognition. Error handling. 3. SYNTHATIC ANALYSIS Functional description. Context-free grammars. Top-down parsing. Bottom-up parsing. Error recovery. 4. SEMANTIC ANALYSIS Functional description. Syntax-oriented translation. Symbol tables. 5. INTERMEDIATE CODE GENERATION Three-way code. Types and declarations. Expression translation. Type checking and conversion. 6. EXECUTION ENVIRONMENT. CODE GENERATION AND OPTIMISATION Storage organisation, allocation and access. Code generation: instruction selection, register allocation, basic blocks. Main sources of optimisation. 7. GENERAL PROCEDURES AND TOOLS FOR BUILDING LANGUAGE PROCESSORS. LANGUAGE-BASED PRODUCTION TOOLS AND THEIR PROCESSORS Lexical and syntactic parser generators, grammar parsers, syntax-driven translation machines, automatic code generators. |
Planning |
Methodologies :: Tests | |||||||||
Class hours | Hours outside the classroom | Total hours | |||||||
Personal tuition | 2 | 0 | 2 | ||||||
Practicals using information and communication technologies (ICTs) in computer rooms | 20 | 30 | 50 | ||||||
Problem solving, classroom exercises | 10 | 15 | 25 | ||||||
Lecture | 23 | 25 | 48 | ||||||
Extended-answer tests | 5 | 20 | 25 | ||||||
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students. |
Methodologies |
Description | |
Personal tuition | Time that each teacher has to speak to pupils and resolve their doubts. |
Practicals using information and communication technologies (ICTs) in computer rooms | Practical application of the theory of a knowledge area in a particular context. Practical exercises using ICTs. |
Problem solving, classroom exercises | Formulation, analysis, resolution and debate of a problem or exercise related to the topic of the subject. |
Lecture | Description of the contents of the subject. |
Personalized attention |
|
|
Assessment |
Description | Qualification | ||
Practicals using information and communication technologies (ICTs) in computer rooms | Completion, delivery within the established deadlines and defence (oral and/or written tests) of practical work consisting of software development. | 30% | |
Extended-answer tests | Written tests consisting of exercises and case studies. | 50% | |
Others | Submission of optional work, attendance and participation in course activities. | 20% | |
Other comments and second call | |||
OTHER REMARKS: In order to pass the subject, it is necessary to obtain a mark of at least 5 points (out of a maximum of 10 points) in both the part corresponding to the development tests and the practical laboratory part. In order to pass the practical part of the course, all practical work must be submitted within the specified deadlines. The course is passed if the final weighted score is at least 5 points out of a maximum of 10. SECOND EXAMINATION: Final examination of the whole course. The grade of the laboratory practical will be kept for those students who have passed it. |
Sources of information |
Access to Recommended Bibliography in the Catalog ULE |
Basic | |
Aho A.H., Lam M.S., Sethi R & Ullman J.D. Compilers: principles, techniques and tools Addison Wesley 2007 Aho A.H. & Ullman J.D. The theory of parsing translation and compiling Vol 1 Parsing 1972 Vol 2 Compiling 1973 Prentice-Hall Bauer F.L. & Eickel J. Ed. Compiler construction . An advanced course Lecture Notes in Computer Science nº 21, Springer 1974 Bornat R. Understanding and writing compilers MacMillan 1979 Deransart P., Jourdan M. & Lorho B Attribute grammars Springer 1988 Lecture Notes in Computer Science 323 Gries D. Compiler construction for digital computers Wiley 1971 Grune D., Jacobs C., Parsing techniques http://www.cs.vu.nl/~dick/PTAPG.html Grune D., Jacobs C., Parsing techniques (segunda edición) Springer 2008 Grune D., et al. Modern compiler design Wiley 2000 (hay traducción al español) Garrido A. et al. Diseño de compiladores Universidad de Alicante Louden K. C. Construcción de compiladores Thomson Mexico 2004 Jones R. Lins R. Garbage collection Wiley 1996 Watt D. A Programming Language Design Concepts Wiley 2004 |
|
Complementary | |
Recommendations |