Session
timetable | Activity & Handouts | Extra information |
---|---|---|
C1 - lec1 | Introduction
(postscript)
[exercise+answers] | |
C2 - lec2 | Lexical analysis
(postscript)
[exercise+answers] | example run of lex calculator |
C3 - lab1 | Lex practical | flex manual
hints: strings and comments ANSI C: characters, pre-processing, syntax |
C4 - lec3 | Syntactic analysis
(postscript)
[exercise+answers] | example run of yacc calculator |
C5 - lab2 | Yacc practical | byacc manual,
including
%left etc. &
examples
Answers: (a) multiple expressions 1: c & results 2,3,5: data & results 4 6,7 (b) |
C6 - lec4 | Semantic analysis
(postscript)
[exercise+answers] | example of dictionary |
C7 - lab3 | Code generation practical | |
C8 - lec5 | Generated Code
(postscript)
[exercise+answers] | |
C9 - lec6 | ||
C10 - lec7 | Phases & Passes, Review |
Assessment | |||
---|---|---|---|
2nd week
timetable 1997 deadline for both parts was 12/Dec, which would be equivalent to 11/Dec in 1998 | 25% | Compiler:
Lex, Yacc and C practical if you require help mail pjj@cs.man.ac.uk | hints: grammar,
strings and comments,
bonus work
Get the basic exercise (worth 70%) marked as soon as you have completed it - preferably by the end of the week. I am happy to mark any bonus work separately. |
25% | Operating Systems:
written report | ||
January Exam
(18th-29th 1999) | 50% | Answer 3 questions from 4 in 2 hours | 2 questions on Operating Systems
In 1997, these were similar to those set in 1996. 2 questions on Compilers The 1996 compiler questions are only partly relevant owing to syllabus changes. The 1997 & 1998 questions are in this form: A question about using lex and yacc (and a dictionary or parse trees or similar) to recognise a simple grammar - similar to the lab exercises & examples sheets. A question about compiler phases and code generation - e.g. describe what happens in the phases, give ARM code for some C, etc. Here are the 1997 questions and answers and marking scheme. |