diff -r 46eee459a999 -r 66adcae6c762 hws/hw09.tex --- a/hws/hw09.tex Thu Oct 05 14:36:54 2023 +0100 +++ b/hws/hw09.tex Fri Oct 13 15:07:37 2023 +0100 @@ -95,7 +95,7 @@ \item As an optimisation technique, a compiler might want to detect `dead code' and not generate anything for this code. Why does this optimisation technique have the - potential of speeding up the run-time of a program? (Hint: On what CPUs are programs + potential of speeding up the run-time of a program? (Hint: On what kind of CPUs are programs run nowadays?) \item In an earlier question, we analysed the advantages of having a lexer-phase @@ -115,13 +115,22 @@ \item What is the difference between a parse tree and an abstract syntax tree? Give some simple examples for each of them. - -\item Give a description of how the Brzozowski matcher works. - The description should be coherent and logical. +\item What are the two main features of code in + static single assignment form (SSA)? -\item Give a description of how a compiler for the While-language can - be implemented. You should assume you are producing code for the JVM. - The description should be coherent and logical. + \solution{ + Variables are only assigned once and all operations are + primitive (in the sense of simple arithmetic operations, + function calls and so on). + } + + +%\item Give a description of how the Brzozowski matcher works. +% The description should be coherent and logical. + +%\item Give a description of how a compiler for the While-language can +% be implemented. You should assume you are producing code for the JVM. +% The description should be coherent and logical. \item \POSTSCRIPT