Stanford course "Compilers" programming assignment