Intermediate aspects of a compilation process with an emphasis on front-end issues. Practical issues in using compiler writing tools. Code generation for expressions, control statements and procedures (including parameter passing). Symbol tables, runtime organization for simple and structured variables. Using compilers and translators for automation (filters, programs writing programs).
CS 441 or consent of instructor.
Students should be adept in programming in a modern programming language and have knowledge of machine organization.
Successful students will learn:
Students are evaluated on their work that includes programming project, homework assignment and exams. Students receive back all of their work with comments to indicate problems and point out correct or better solutions. Sample solutions and typical errors are discussed in class.
These eight specific tasks will be used to measure students as applied to a three part project that creates a comprehensive compiler (lexer, parser, and code generation), homework assignments, and exams and/or a final examination. All the topics combined with a substantial programming project and other assignments will provide the student with the formative feedback about the development of their skills and knowledge.
Compilers: Theory and Practice,
Aho, Sethi, Ullman,