| Professor: | Clinton Jeffery | Lecture Meets: TR 12:30-1:45pm in Cramer 239 and on zoom Lab Meets: W 2:00-2:50pm in Cramer 239 and on zoom |
| Office: | Cramer 230 | Office Hours: W 1:00-2:00, and by appointment. Some office hours may be superceded by department obligations; it is prudent to confirm availability in advance by e-mail. |
| Phone: | 208-310-6773 | Web: http://www.cs.nmt.edu/~jeffery/courses/423/ |
| E-mail: | clinton.jeffery@nmt.edu | Required Text: Thain, Introduction Compilers and Language Design, 2nd edition. |
| Prerequisites: | CSE 324, 326, 342, 344 | Recommended Text: Jeffery, Build Your Own Programming Language, 2nd edition, Packt |
| Corequisite: | CSE 331 | Recommended Text: Levine, Flex+Bison, O Reilly |
Goals include: learn how to write and connect a scanner, parser, semantic analyzer and code generator into a simple working compiler. Learn notations and tools used by developers of compilers. Understand symbol tables and type checking. Know primary challenges associated with code generation.