I agree wholeheartedly with this. I go to Stanford and took the compilers course this past spring. Honestly, I almost dropped the class after the first 2 assignments because having to learn Bison and Flex to implement a lexer and parser taught me very little about what was actually happening under the hood and I spent most of my time figuring out the syntax. Static analysis and code gen were really cool though and I feel like those assignments taught me a lot more about what modern compilers are actually doing and how they can help optimize my code.