diff -r 46eee459a999 -r 66adcae6c762 handouts/ho07.tex --- a/handouts/ho07.tex Thu Oct 05 14:36:54 2023 +0100 +++ b/handouts/ho07.tex Fri Oct 13 15:07:37 2023 +0100 @@ -12,7 +12,7 @@ \begin{document} -\fnote{\copyright{} Christian Urban, King's College London, 2017, 2018, 2019, 2020} +\fnote{\copyright{} Christian Urban, King's College London, 2017, 2018, 2019, 2020, 2023} \section*{Handout 7 (Compilation)} @@ -53,15 +53,16 @@ \noindent The input will be WHILE-programs; the output will be assembly files (with the file extension .j). Assembly files essentially contain -human-readable low-level code, meaning they are not just bits and bytes, -but rather something you can read and understand---with a bit of -practice of course. An \emph{assembler} will then translate the assembly -files into unreadable class- or binary-files the JVM or CPU can run. -Unfortunately, the Java ecosystem does not come with an assembler which -would be handy for our compiler-endeavour (unlike Microsoft's Common -Language Infrastructure for the .Net platform which has an assembler -out-of-the-box). As a substitute we shall use the 3rd-party programs -Jasmin and Krakatau +human-readable low-level code, meaning they are not just bits and +bytes, but rather something you can read and understand---with a bit +of practice of course. An \emph{assembler} will then translate the +assembly files into unreadable class- or binary-files the JVM or CPU +can run. Unfortunately, the Java ecosystem does not come with an +assembler which would be handy for our compiler-endeavour (unlike +Microsoft's Common Language Infrastructure for the .Net platform which +has an assembler out-of-the-box). As a substitute we shall use the +3rd-party programs Jasmin or Krakatau (Jasmin is the preferred +option---a \texttt{jasmin.jar}-file is available on KEATS): \begin{itemize} \item \url{http://jasmin.sourceforge.net}