--- 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