diff -r a9911966c0df -r 43c0ed473720 handouts/ho07.tex --- a/handouts/ho07.tex Tue Nov 10 22:27:46 2015 +0000 +++ b/handouts/ho07.tex Sun Nov 15 21:31:31 2015 +0000 @@ -5,9 +5,22 @@ \begin{document} -\section*{Handout 7 (Compiling)} +\section*{Handout 7 (Compilation)} +The purpose of a compiler is to transform a program, a human +can write, into code the machine can run as fast as possible. +The fastest code would be machine code the CPU can run +directly, but it is often enough to improve the speed of a +program by just targeting a virtual machine. This produces not +the fastest possible code, but code that is fast enough and +has the advantage that the virtual machine care of things a +compiler would normally need to take care of (like explicit +memory management). +We will be generating code for the Java Virtual Machine. This +is a stack-based virtual machine which will make it easy to +generate code for arithmetic expressions. Recall +that our \end{document}