CSE 5343 Resources
Setup for programming projects
- Details on remote access to stdlinux.coeit.osu.edu: link (ignore the PulseVPN link on that page and instead look at the Ivanti VPN link below)
- Ivanti VPN: link
- Accessing stdlinux.coeit.osu.edu (after setting up the VPN connection): PuTTY link or FastX link
- Setting up Unix environment variables: there are many resources online; here is one for Bash: link
Books and other resources
This course does not have a required textbook. We will use materials from the Dragon Book shown below, but these will be optional. Your most important reading will be the lecture notes and your own notes.
- Prerequisite: CSE 3341/5341 (official syllabus). My notes for CSE 3341/5341 are available at this link. You can ignore the notes on functional languages; the rest of the topics are expected background for CSE 5343.
- Dragon Book, second
edition; on 2-hour
reserve at the 18th Avenue Library (details) (reserve)
(errata). Do not confuse this with the first edition of the dragon book from 1986, authored by Aho, Sethi, and Ullman.
- Other compiler textbooks, available online via OSU libraries:
Wilhelm et al.;
Seidl et al.;
Mogensen;
Grune et al.;
Watson
- C Specification (n1570.pdf); corresponds to the C11 standard
- C (and C++) operators
- JFlex scanner generator
- JFlex example: A simple stand-alone scanner is available
here. Download
to
stdlinux
and do tar -xvzf
standalone.tar.gz
- CUP parser generator
- Research paper 1 and
research paper 2 with interesting examples of compiler bugs
- Research paper illustrating some of the difficulties in analysis of binary code
- Research paper discussing the subtle issues with integer overflows in C/C++
- Research paper on a simple but effective approach for register allocation