Usted está aquí: Inicio Ingeniería Informática Language Processors Exercises and projects

Exercises and projects

Acciones de Documento
  • Vista de contenidos
  • Marcadores (bookmarks)
  • Exportación de LTI
Autores: David Griol Barres, Antonio Berlanga de Jesús, Jesús García Herrero, Juan Manuel Alonso Weber
En esta sección encontramos un conjunto de ejercicios o problemas de la asignatura, trabajos o proyectos a realizar en la asignatura, estudios de casos, estudios dirigidos, ...

Proposed exercises:

Unit 1. Introduction to Language Processors

The proposed exercises are related to the main components in the architecture of a compiler.

  • EP-F-001. Unit 1. Exercises Introduction to Language Processors (PDF)

Units 2, 3 and 4. Lexical Analysis, Formal Grammars and Syntax Analysis

The proposed exercises are related to how to implement a scanner by means of the recognition of tokens using Regular Expressions and Deterministic Finite Automata, and the design of Formal Grammars for the syntax analyzer.

  • EP-F-002. Unit 2. Exercises Review of Regular Expressions - Part 1 (PDF)
  • EP-F-003. Unit 2. Exercises Review of Regular Expressions - Part 2 (PDF)
  • EP-F-004. Unit 2. Exercises Review of Finite Automata - Part 1 (PDF)
  • EP-F-005. Unit 2. Exercises Review of Finite Automata - Part 2 (PDF)
  • EP-F-006. Unit 2. Exercises Review of Finite Automata - Part 3 (PDF)

 

  • EP-F-007. Unit 3. Exercises Review Languages and Formal Grammars - Part 1 (PDF)
  • EP-F-008. Unit 3. Exercises Review Languages and Formal Grammars - Part 2 (PDF)
  • EP-F-009. Unit 3. Exercises Review Push Down Automata (PDF)

 

  • EP-F-010. Units 2, 3 and 4 - Lexical analysis and grammars definition. Part 1 (PDF)
  • EP-F-011. Units 2, 3 and 4 - Lexical analysis and grammars definition. Part 2 (PDF)
  • EP-F-012. Units 2, 3 and 4 - Lexical analysis and grammars definition. Part 3 (PDF)
  • EP-F-013. Units 2, 3 and 4 - Lexical analysis and grammars definition. Part 4 (PDF)
  • EP-F-014. Units 2, 3 and 4 - Lexical analysis and grammars definition. Part 5 (PDF)
  • EP-F-015. Units 2, 3 and 4 - Lexical analysis and grammars definition. Part 6 (PDF)

Unit 5. Top-Down Parsing

The proposed exercises are related to the development of a Top-Down predictive parser and the main alternatives for error detection and recovery using these parsing techniques.

  • EP-F-016. Unit 5 - Top-Down Parsing. Part 1 (PDF)
  • EP-F-017. Unit 5 - Top-Down Parsing. Part 2 (PDF)
  • EP-F-018. Unit 5 - Top-Down Parsing. Part 3 (PDF)
  • EP-F-019. Unit 5 - Top-Down Parsing. Part 4 (PDF)
  • EP-F-020. Unit 5 - Top-Down Parsing. Part 5 (PDF)
  • EP-F-021. Unit 5 - Top-Down Parsing. Part 6 (PDF)
  • EP-F-022. Unit 5 - Top-Down Parsing. Part 7 (PDF)
  • EP-F-023. Unit 5 - Top-Down Parsing. Part 8 (PDF)

Unit 6. Bottom-Up Parsing

The proposed exercises are related to shift-reduce parsing techniques and how to construct LR table-driven shift-reduce parsers.

  • EP-F-024. Unit 6 - Bottom-Up Parsing. Part 1 (PDF)
  • EP-F-025. Unit 6 - Bottom-Up Parsing. Part 2 (PDF)
  • EP-F-026. Unit 6 - Bottom-Up Parsing. Part 3 (PDF)
  • EP-F-027. Unit 6 - Bottom-Up Parsing. Part 4 (PDF)
  • EP-F-028. Unit 6 - Bottom-Up Parsing. Part 5 (PDF)
  • EP-F-029. Unit 6 - Bottom-Up Parsing. Part 6 (PDF)
  • EP-F-030. Unit 6 - Bottom-Up Parsing. Part 7 (PDF)
  • EP-F-031. Unit 6 - Bottom-Up Parsing. Part 8 (PDF)

Units 7 and 8. Semantic Analysis and Error Handling

The proposed exercises are focused on the main tasks that must be completed by a semantic analyzer and the main approaches to solve them. They also cover the main approaches for error detection and recovery in Top-Down predictive parsing and Bottom-Up parsing.

  • EP-F-032. Units 7 and 8 - Semantic Analysis and Error Handling. Part 1 (PDF)
  • EP-F-033. Units 7 and 8 - Semantic Analysis and Error Handling. Part 2 (PDF)
  • EP-F-034. Units 7 and 8 - Semantic Analysis and Error Handling. Part 3 (PDF)
  • EP-F-035. Units 7 and 8 - Semantic Analysis and Error Handling. Part 4 (PDF)
  • EP-F-036. Units 7 and 8 - Semantic Analysis and Error Handling. Part 5 (PDF)
  • EP-F-037. Units 7 and 8 - Semantic Analysis and Error Handling. Part 6 (PDF)
  • EP-F-038. Units 7 and 8 - Semantic Analysis and Error Handling. Part 7 (PDF)
  • EP-F-039. Units 7 and 8 - Semantic Analysis and Error Handling. Part 8 (PDF)

Units 9, 10 and 11. Intermediate Code Generation, Code Optimization, and Final Code Generation

The proposed exercises are related to the main types of intermediate languages (graphical and linear intermediate representations) and the role of final code generation in the architecture of a language processor.

  • EP-F-040. Units 9,10 and 11 - Code Generation and Optimization. Part 1 (PDF)
  • EP-F-041. Units 9,10 and 11 - Code Generation and Optimization. Part 2 (PDF)

 

Solutions for the proposed exercises:

Unit 1. Introduction to Language Processors

  • SEP-F-001. Unit 1. Exercises Introduction to Language Processors - Solution (PDF)

Units 2, 3 and 4. Lexical Analysis, Formal Grammars and Syntax Analysis

  • SEP-F-002. Unit 2. Exercises Review of Regular Expressions - Solution (PDF)
  • SEP-F-003. Unit 2. Exercises Review of Finite Automata - Solution (PDF)
  • SEP-F-004. Unit 3. Exercises Review Languages and Formal Grammars - Solution (PDF)
  • SEP-F-005. Unit 3. Exercises Review Push Down Automata - Solution (PDF)

 

  • SEP-F-010. Units 2, 3 and 4 - Lexical analysis and grammars definition. Part 1 - Solution (PDF)
  • SEP-F-011. Units 2, 3 and 4 - Lexical analysis and grammars definition. Part 2 - Solution (PDF)
  • SEP-F-012. Units 2, 3 and 4 - Lexical analysis and grammars definition. Part 3 - Solution (PDF)
  • SEP-F-013. Units 2, 3 and 4 - Lexical analysis and grammars definition. Part 4 - Solution (PDF)
  • SEP-F-014. Units 2, 3 and 4 - Lexical analysis and grammars definition. Part 5 - Solution (PDF)
  • SEP-F-015. Units 2, 3 and 4 - Lexical analysis and grammars definition. Part 6 - Solution (PDF)

Unit 5. Top-Down Parsing

  • SEP-F-016. Unit 5 - Top-Down Parsing. Part 1 - Solution (PDF)
  • SEP-F-017. Unit 5 - Top-Down Parsing. Part 2 - Solution (PDF)
  • SEP-F-018. Unit 5 - Top-Down Parsing. Part 3 - Solution (PDF)
  • SEP-F-019. Unit 5 - Top-Down Parsing. Part 4 - Solution (PDF)
  • SEP-F-020. Unit 5 - Top-Down Parsing. Part 5 - Solution (PDF)
  • SEP-F-021. Unit 5 - Top-Down Parsing. Part 6 - Solution (PDF)
  • SEP-F-022. Unit 5 - Top-Down Parsing. Part 7 - Solution (PDF)
  • SEP-F-023. Unit 5 - Top-Down Parsing. Part 8 - Solution (PDF)

Unit 6. Bottom-Up Parsing

  • SEP-F-024. Unit 6 - Bottom-Up Parsing. Part 1 - Solution (PDF)
  • SEP-F-025. Unit 6 - Bottom-Up Parsing. Part 2 - Solution (PDF)
  • SEP-F-026. Unit 6 - Bottom-Up Parsing. Part 3 - Solution (PDF)
  • SEP-F-027. Unit 6 - Bottom-Up Parsing. Part 4 - Solution (PDF)
  • SEP-F-028. Unit 6 - Bottom-Up Parsing. Part 5 - Solution (PDF)
  • SEP-F-029. Unit 6 - Bottom-Up Parsing. Part 6 - Solution (PDF)
  • SEP-F-030. Unit 6 - Bottom-Up Parsing. Part 7 - Solution (PDF)
  • SEP-F-031. Unit 6 - Bottom-Up Parsing. Part 8 - Solution (PDF)

Units 7 and 8. Semantic Analysis and Error Handling

  • SEP-F-032. Units 7 and 8 - Semantic Analysis and Error Handling. Part 1 - Solution (PDF)
  • SEP-F-033. Units 7 and 8 - Semantic Analysis and Error Handling. Part 2 - Solution (PDF)
  • SEP-F-034. Units 7 and 8 - Semantic Analysis and Error Handling. Part 3 - Solution (PDF)
  • SEP-F-035. Units 7 and 8 - Semantic Analysis and Error Handling. Part 4 - Solution (PDF)
  • SEP-F-036. Units 7 and 8 - Semantic Analysis and Error Handling. Part 5 - Solution (PDF)
  • SEP-F-037. Units 7 and 8 - Semantic Analysis and Error Handling. Part 6 - Solution (PDF)
  • SEP-F-038. Units 7 and 8 - Semantic Analysis and Error Handling. Part 7 - Solution (PDF)
  • SEP-F-039. Units 7 and 8 - Semantic Analysis and Error Handling. Part 8 - Solution (PDF)

Units 9, 10 and 11. Intermediate Code Generation, Code Optimization, and Final Code Generation

  • SEP-F-040. Units 9,10 and 11 - Code Generation and Optimization. Part 1 - Solution (PDF)
  • SEP-F-041. Units 9,10 and 11 - Code Generation and Optimization. Part 1 - Code (PDF)

 

Reutilizar Curso
Descargar este curso