Andrew Levine’s performance in CMPS-104A, Fundamentals of Compiler Design I, during 2000-q4 was as follows: The overall competence was satisfactory. The programs were satisfactory. The tests and exams were adequate.
More specifically, the individual components which constituted the grade were valued as follows: The two midterm tests were somewhat well done and poorly done, respectively, and the final exam was satisfactory.
Of the five programming projects, which together constituted a compiler for a simple subset of the C programming language: (1) The string table manager (a hash table), and filename and argv analyzer, was very impressive (A+). (2) The lexical analyzer, written using flex, was excellent (A-). (3) The parser, written using bison, was satisfactory. (4) The symbol table manager was somewhat well done. (5) The intermediate code generator was not done. The due dates were structured in such a way that the earlier projects could be submitted past the due dates at the expense of points in the later projects.