1. Tricky points that must be correct for a full mark ABOUND1 and ABOUND2 don't show up in the compiler's symbol table at all, the preprocessor handles then getmember should be marked as forward since it's a header declaration. parameters should be linked and i should be marked as const the function if should be marked as forward (WHOOPS, if is reserved, SYNTAX ERROR and no one caught it.) fields of struct person should be chained together union cupe needs its alternatives represented somehow. 2 Every identifier should be checked for reasonableness. 3 Lexer should handle incoming characters one at a time. A transition on "13" is wrong, should be transition on "1" followed by transition on "3". OK if they use the fact that prefix can be at most 2 digits. 4. k = 3