next up previous contents
Next: Assemblers and Compilers Up: ho Previous: CS5031: System Software   Contents

Subsections

Introduction

This course introduces two major components of system software. Peter Capon will discuss operating systems, and I will deal with compilers. In the limited time available, neither of us will be going into very much detail. I will assume some familiarity with ANSI C.

Reading List

There are several compiler books on the reading list, and many more available in libraries and book-shops, ranging widely in difficulty and depth. If you want to buy a book, I suggest you look at several and pick the one that you find most helpful. Here are some other references that you may find useful:

comp.compilers FAQ includes a reading list about lex, yacc & compilers

Activities

lecture 1 Introduction, Assemblers and Compilers
lecture 2 Lexical analysis - Lex
lab 1 Lex
lecture 3 Syntactic analysis - Yacc & Parse Trees
lab 2 Yacc & Parse Trees
lecture 4 Semantic analysis - Dictionaries
lab 3 Syntax-directed translation
lecture 5 Syntax-directed translation
lab 4 catch-up

Each Compiler session will consist of a lab, or a lecture followed by paper-and-pencil exercises. The exercises and labs will be used both for reinforcement and for further exploration.

The description of the practicals & exercises, a list of common flex/byacc/make errors and how to correct them, plus extra hints and any corrections, can be found via URL
http://www.cs.man.ac.uk/~pjj/cs5031/index.html


next up previous contents
Next: Assemblers and Compilers Up: ho Previous: CS5031: System Software   Contents
Pete Jinks 2001-02-21