Fiches de cours 2017-2018

PDF
 

Attention, ce contenu correspond à la fiche de cours de l'année passée


Computer language processing

CS-320

Enseignant(s) :

Kuncak Viktor

Langue:

English

Summary

We teach the fundamental aspects of analyzing and interpreting computer languages, including the techniques to build compilers. The new title is "Computer Language Processing".

Content

1. Overview, source languages and run-time models

2. Review of formal languages

3. Lexical analysis

4. Syntactic analysis (parsing)

5. Name analysis

6. Type checking

7. Code generation

8. Data-flow analysis

9. Run-time organization and memory management

Keywords

programming language;

compiler;

interpreter;

regular expression;

context-free grammar;

type system;

code generation;

static code analysis

Learning Prerequisites

Recommended courses

Discrete structures

Theoretical computer science

Programming in Scala

Computer architecture I

Learning Outcomes

By the end of the course, the student must be able to:

Transversal skills

Teaching methods

Assessment methods

Resources

Bibliography

Andrew W. Appel, Modern compiler implementation in Java (or ML), Addison-Wesley 1997 (full PDF available from EPFL library)

Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman: Compilers: Principles, Techniques, and Tools (2nd Edition, 2006)

Niklaus Wirth: Compiler Construction, neat textbook from a prominent classical authority. Freely available http://www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf

Ressources en bibliothèque
Notes/Handbook

http://lara.epfl.ch/w/cc

Faboulous and gently paced videos: https://www.coursera.org/course/compilers

Prerequisite for

Synthesis, analysis and verification

Advanced compiler construction

Recommended for Foundations of software

Dans les plans d'études

  • Informatique, 2017-2018, Bachelor semestre 5
    • Semestre
      Automne
    • Forme de l'examen
      Pendant le semestre
    • Crédits
      6
    • Matière examinée
      Computer language processing
    • Cours
      2 Heure(s) hebdo x 14 semaines
    • Exercices
      2 Heure(s) hebdo x 14 semaines
    • TP
      2 Heure(s) hebdo x 14 semaines
  • Systèmes de communication, 2017-2018, Bachelor semestre 5
    • Semestre
      Automne
    • Forme de l'examen
      Pendant le semestre
    • Crédits
      6
    • Matière examinée
      Computer language processing
    • Cours
      2 Heure(s) hebdo x 14 semaines
    • Exercices
      2 Heure(s) hebdo x 14 semaines
    • TP
      2 Heure(s) hebdo x 14 semaines

Semaine de référence

LuMaMeJeVe
8-9 INF213
9-10
10-11CE1103 INF213
11-12
12-13
13-14
14-15
15-16
16-17
17-18
18-19
19-20
20-21
21-22
Cours
Exercice, TP
Projet, autre

légende

  • Semestre d'automne
  • Session d'hiver
  • Semestre de printemps
  • Session d'été
  • Cours en français
  • Cours en anglais
  • Cours en allemand