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

Language Processors, 2017

Acciones de Documento
  • Fuente RSS
  • 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
Language Processors Course Image

GRIOL BARRES, DAVID
BERLANGA DE JESÚS, ANTONIO
GARCÍA HERRERO, JESÚS
ALONSO WEBER, JUAN MANUEL

Computer Science Department
Universidad Carlos III de Madrid

Subject Area: Language Processors

Computer Science Degree

December 2017 (Second edition)

Image generated by David Griol

Theorethical and Lab hours: 6 ECTS, 1.5 theorethical hours and 1.5 practical hours each week.
Total learning time: 180 hours

 

PRERREQUISITES AND RECOMMENDED PREVIOUS KNOWLEDGE

  • Programming,
  • Programming Logic,
  • Formal Languages and Automata Theory,
  • Data Structures,
  • Computer Theory.

 

GENERAL DESCRIPTION OF THE SUBJECT

In this course we are interested in introducing the main design practices and principles for the development of programming languages. The course covers the analysis and synthesis phases of a language processor: lexical analysis, syntax analysis (top-down and bottom-up techniques), semantic analysis, runtime environments, error handling, intermediate code, code optimization, and final code generation.

The main objective of the course is to understand compilers and programming languages and become better programmers by means of:

  • Understanding the code structure.
  • Understanding the language semantics.
  • Understanding the relation between source code and generated machine code.

 

OBJETIVES: KNOWLEDGE AND SKILLS

The main cognitive, procedural objectives and specific competences of the course are:

  • To describe the basic components of a compiler.

  • To study the most commonly used techniques to develop a lexical analyzer.

  • To analyze the most commonly used techniques of syntactic analysis.

  • To create the analysis phase of a language compiler.

  • To know the main differeces between top-down and bottom-up parsing techniques.

  • To create the synthesis phase of a language compiler.

  • To describe intermediate code generation.

  • To analyze the main techniques for code optimization.

  • To study the main applications of the compilation theory.

The general and attitudinal competences are:

  • Ability to generate new ideas.
  • Concern with quality.
  • Motivation for success.
  • Interest for investigating and finding solutions to new problems.
  • Capacity of analysis and synthesis.
  • Capacity to organize and plan.
  • Problem solving.
  • Teamwork.
  • Capacity to apply theoretical concepts.

 

TEACHING MATERIAL

The course includes files with an explanation of the most important theoretical concepts, guided summaries with the main objectives of each unit, proposed exercises with the corresponding solutions, practical activities and lab sessions, and partial and global assessments with solutions.


ASSESSMENT ACTIVITIES OR PRACTICAL ASSIGNMENTS

Al the end of the course, you should be able to:

  • Solve the proposed final exams in the specific time that it is indicated.
  • Carry out the proposed practical and lab exercises for each one of the units.
  • Complete the exercises assigned by the professors to be solved individually with the support of a Web-based learning support tool.

By means of the assessment activities and practical assignments, you should be able to:

  • Develop a scanner for a given language.
  • Write a grammar for a given language.
  • Verify and modify a grammar fulfills some properties.
  • Write a parser for a given language using diverse kinds of techniques.
  • Verify the semantics of a given language.
  • Implement different techniques for error detection and management.
  • Generate intermediate/final code.

Course Contents

Course guide , 2017

Mandatory readings , 2017

Exercises and projects , 2017

Evaluation tests , 2017

Instructors , 2017

Syllabus , 2017

Lecture notes , 2017

Course introduction , 2017

Lab exercises , 2017

Related resources , 2017

LanguageProcessors.jpg , 2017

David_Griol.jpg , 2017

dptInfo.png , 2017

copy_of_dptInfo.png , 2017

JesusGarcia2.jpg , 2017

AntonioBerlanga2.jpg , 2017

copy2_of_dptInfo.png , 2017

dptInfo2.jpg , 2017

01IntroductionOCW.pdf , 2017

02Lexical_analysisOCW.pdf , 2017

04FormalGrammarsOCW.pdf , 2017

05SyntaxanalysisOCW.pdf , 2017

06TopDownSAOCW.pdf , 2017

07BottomupparsingOCW.pdf , 2017

08SemanticAnalysisOCW.pdf , 2017

09ErrorhandlingOCW.pdf , 2017

10IntermediateCodeGenerationOCW.pdf , 2017

11CodeOptimizationOCW.pdf , 2017

12CodeGenerationOCW.pdf , 2017

UNIT1Guide.pdf , 2017

UNIT2Guide.pdf , 2017

UNIT3Guide.pdf , 2017

UNIT4Guide.pdf , 2017

UNIT5Guide.pdf , 2017

UNIT6Guide.pdf , 2017

UNIT7Guide.pdf , 2017

UNIT8Guide.pdf , 2017

UNIT9Guide.pdf , 2017

UNIT10Guide.pdf , 2017

UNIT11Guide.pdf , 2017

Exam1.pdf , 2017

Exam1solution.pdf , 2017

Exam2.pdf , 2017

Exam2solution.pdf , 2017

Exam3.pdf , 2017

Exam3solution.pdf , 2017

Exam4.pdf , 2017

Exam4solution.pdf , 2017

Exam5.pdf , 2017

Exam5solution.pdf , 2017

PartialAssessment1.pdf , 2017

PartialAssessment1solution.pdf , 2017

PartialAssessment2.pdf , 2017

PartialAssessment2solution.pdf , 2017

PartialAssessment3.pdf , 2017

PartialAssessment3solution.pdf , 2017

PartialAssessment4.pdf , 2017

PartialAssessment4solution.pdf , 2017

PartialAssessment5.pdf , 2017

PartialAssessment5solution.pdf , 2017

PartialAssessment6.pdf , 2017

PartialAssessment6solution.pdf , 2017

PartialAssessment7.pdf , 2017

PartialAssessment7solution.pdf , 2017

PracticalExercise.pdf , 2017

Section1Code.pdf , 2017

Section1Solution.pdf , 2017

Section2Code.pdf , 2017

Section2Solution.pdf , 2017

Section3Code.pdf , 2017

Section3Solution.pdf , 2017

Section4Code.pdf , 2017

Section4Solution.pdf , 2017

Unit1Exercises.pdf , 2017

Unit1ExercisesSolution.pdf , 2017

Unit5Exercises.pdf , 2017

Unit6Exercises.pdf , 2017

Unit9to11Exercises.pdf , 2017

Units2and3Exercises1.pdf , 2017

Units2and3Exercises1Solution.pdf , 2017

Units2and3Exercises2.pdf , 2017

Units2and3Exercises2solution.pdf , 2017

Units2and3Exercises3.pdf , 2017

Units2and3Exercises3solution.pdf , 2017

Units2and3Exercises4.pdf , 2017

Units2and3Exercises4solution.pdf , 2017

Units2and3Exercises5.pdf , 2017

Units2and3Exercises5solution.pdf , 2017

Units2and3Exercises6.pdf , 2017

Units2and3Exercises6solution.pdf , 2017

Unit5Exercises1.pdf , 2017

Unit5Exercises1solution.pdf , 2017

Unit5Exercises2.pdf , 2017

Unit5Exercises2solution.pdf , 2017

Unit5Exercises3.pdf , 2017

Unit5Exercises3solution.pdf , 2017

Unit5Exercises4.pdf , 2017

Unit5Exercises4solution.pdf , 2017

Unit5Exercises5.pdf , 2017

Unit5Exercises5solution.pdf , 2017

Unit5Exercises6.pdf , 2017

Unit5Exercises6solution.pdf , 2017

Unit5Exercises7.pdf , 2017

Unit5Exercises7solution.pdf , 2017

Unit5Exercises8.pdf , 2017

Unit5Exercises8solution.pdf , 2017

Unit6Exercises1.pdf , 2017

Unit6Exercises1solution.pdf , 2017

Unit6Exercises2.pdf , 2017

Unit6Exercises2solution.pdf , 2017

Unit6Exercises3.pdf , 2017

Unit6Exercises3solution.pdf , 2017

Unit6Exercises4.pdf , 2017

Unit6Exercises4solution.pdf , 2017

Unit6Exercises5.pdf , 2017

Unit6Exercises5solution.pdf , 2017

Unit6Exercises6.pdf , 2017

Unit6Exercises6solution.pdf , 2017

Unit6Exercises7.pdf , 2017

Unit6Exercises7solution.pdf , 2017

Unit6Exercises8.pdf , 2017

Unit6Exercises8solution.pdf , 2017

Unit7and8Exercises1.pdf , 2017

Unit7and8Exercises1solution.pdf , 2017

Unit7and8Exercises2.pdf , 2017

Unit7and8Exercises2solution.pdf , 2017

Unit7and8Exercises3.pdf , 2017

Unit7and8Exercises3solution.pdf , 2017

Unit7and8Exercises4.pdf , 2017

Unit7and8Exercises4solution.pdf , 2017

Unit7and8Exercises5.pdf , 2017

Unit7and8Exercises5solution.pdf , 2017

Unit7and8Exercises6.pdf , 2017

Unit7and8Exercises6solution.pdf , 2017

Unit7and8Exercises7.pdf , 2017

Unit7and8Exercises7solution.pdf , 2017

Unit7and8Exercises8.pdf , 2017

Unit7and8Exercises8solution.pdf , 2017

Unit9to11Exercises1.pdf , 2017

Unit9to11Exercises1code.pdf , 2017

Unit9to11Exercises1solution.pdf , 2017

Download this course , 2017

Reutilizar Curso
Descargar este curso