LARA

Computer Language Processing

CS-320, Edition 2016

Moodle Page

Staff

Instructor Viktor Kuncak
PhD Assistants Manos Koukoutos and Ravi Kandhadai
MSc Assistants Tristan Overney, Ogier Bouvier and Alfonso Peterssen
Infrastructure advice Etienne Kneuss
Secretary Sylvie Jankow

Grading

  • 50% Projects
  • 50% Quiz

Stuff: Course Materials

NEW: All slides

Lab materials

Week 01, September 19

Monday 10:15am NO CLASSES
Wednesday 8:15am INF213 Lecture 01: Introduction
Wednesday 10:15am INF213 Labs (always bring own laptops) Labs setup and then Labs 01

You may also wish to check the Gobble Gook video, which relates the subtle difference between compilers and interpreters to the familiar everyday situation of landing on an alien planet.

Week 02, September 26

Monday 10:15am CE1103 Lecture 02:Regular Languages and Lexical Analysis
Wednesday 8:15am INF213 Labs 02 and cont. Labs 01
Wednesday 10:15am INF213 Lecture/Exercise 03: Lexical Analysis and Automata

Week 03, October 3

Monday 10:15am CE1103 Lecture/Exercise 04: Lexical Analysis and Automata
Wednesday 8:15am INF213 Labs 02 (cont.)
Wednesday 10:15am INF213 Lecture/Exercise 05: Lexers and Grammars

Grammar exercise system: http://grammar.epfl.ch

  • try “Derivation for a word”
  • try “Grammar for a language” (except those mentioning LL(1))

Week 04, October 10

Monday 10:15am CE1103 Lecture 06: CYK Parsing, Ambiguity, Building Trees
Wednesday 8:15am INF213 Lecture 07: Building Trees. LL(1) Parsing
Wednesday 10:15am INF213 Labs 03 (Parsing)

In http://grammar.epfl.ch after Monday:

  • try “Conversion to CNF”
  • try “CYK parsing”

In http://grammar.epfl.ch after Wednesday:

  • try “Grammar for a language” (those asking LL(1))
  • try “Tool Expressions” in grammar.epfl.ch

Week 05, October 17

Week 06, October 24

Monday 10:15am CE1103 Lecture 10: LL(1) Example and Type Checking Rules (pptx) (PDF)
Wednesday 8:15am INF213 Labs 04
Wednesday 10:15am INF213 Lecture 11: Subtyping and Soundness (PDF)

Week 07, October 31

Monday 10:15am CE1103 Lecture 12: Type System Soundness and Exercises (PDF)
Wednesday 8:15am INF213 Labs
Wednesday 10:15am INF213 Lecture 13: Code Generation Introduction (PDF) - short

Week 08, November 07

Week 09, November 14

Monday 10:15am CE1103 Exercises (PDF)
Wednesday 8:15am INF213 Labs 05 (cont.)
Wednesday 10:15am INF213 Exercises (PDF)

Week 10, November 21

Monday 10:15am CE 1103 Exercises (Continuation of previous exercise session)
Wednesday 8.15am-11:55 INF213 and INM 10 QUIZ

Week 11, November 28

Monday 10:15am CE 1103 Lecture 16: Range Analysis (PDF) - first 23 pages
Wednesday 8:00am - 10:00 INF213 Labs 06: Code Generation
Wednesday 10:00am - 12:00 INF213 Lecture: Finish Range Analysis Slides from Monday (see above)

Week 12, December 5

Monday 10:15am CE 1103 Lecture: Analysis Using Constraint Solving (PDF)
Wednesday 8:00am - 10:00 INF213 Final Project assignment
Wednesday 10:00am - 12:00 INF213 Work on Final Project, Ask Background Questions

Week 13, December 12

Monday 10:15am CE 1103 Labs 06 & Final Project Phase Labs
Wednesday 8:00am - 12:00 INF213 Labs 06 & Final Project Phase Labs

Week 14, December 19

Monday 10:15am CE 1103 Labs 06 & Final Project Phase Labs
Wednesday 8:00am - 12:00 INF213 Presentations of Final Projects

Last year's edition: 2015


Attribution-ShareAlike 2.5 Generic (CC BY-SA 2.5) Creative Commons Licence