====================== CMSI 488 Preparation for Quiz 2 ====================== The quiz is open book, notes, and "static" web. You cannot solicit answers nor extract information from a person or bot. You can not look at nor take pictures of other people's exams. First, scan this list of the topics covered so far and make sure everything at least rings a bell. Language Theory The Language Hana Intermediate Representations IA NASM Know how to: * Write an AST given C source code. * Determine whether certain Hana errors are lexical, syntactic, static semantic, or dynamic semantic. * Write semantic analysis methods (you'll have to do this on the exam for a new language feature). * Write good intermediate code for given fragments of Hana. The current compiler distribution doesn't necessarily make great intermediate code, so you may have to generate this by hand. * Write a few NASM functions. To prepare: * There are practice problems similar to the problems you will see on the quiz; you may want to work those out. * Also, re-read the Hana language specification, the notes on Squid, and the source code for all the analyze() methods in the compiler. * Make sure you have available at quiz time a C language reference and the NASM documentation. Practice writing some ASTs and NASM fragments with your documentation nearby. You'll have to do this during the quiz in a pressure situation, so make sure you are already familiar with the process.