Coursebooks 2017-2018

PDF
 

Computer language processing

CS-320

Lecturer(s) :

Kuncak Viktor

Language:

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

In the programs

    • Semester
       Fall
    • Exam form
       During the semester
    • Credits
      6
    • Subject examined
      Computer language processing
    • Lecture
      2 Hour(s) per week x 14 weeks
    • Exercises
      2 Hour(s) per week x 14 weeks
    • Practical work
      2 Hour(s) per week x 14 weeks
    • Semester
       Fall
    • Exam form
       During the semester
    • Credits
      6
    • Subject examined
      Computer language processing
    • Lecture
      2 Hour(s) per week x 14 weeks
    • Exercises
      2 Hour(s) per week x 14 weeks
    • Practical work
      2 Hour(s) per week x 14 weeks

Reference week

 MoTuWeThFr
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     
 
      Lecture
      Exercise, TP
      Project, other

legend

  • Autumn semester
  • Winter sessions
  • Spring semester
  • Summer sessions
  • Lecture in French
  • Lecture in English
  • Lecture in German