# HG changeset patch # User Christian Urban # Date 1638576800 0 # Node ID 13a6eb21706be27233ddef5df95a8ed509f60aa7 # Parent 2b11eb06af76f283bc3609818f4fe6e5ea5593fc updated diff -r 2b11eb06af76 -r 13a6eb21706b cws/cw05.pdf Binary file cws/cw05.pdf has changed diff -r 2b11eb06af76 -r 13a6eb21706b cws/cw05.tex --- a/cws/cw05.tex Fri Dec 03 22:07:11 2021 +0000 +++ b/cws/cw05.tex Sat Dec 04 00:13:20 2021 +0000 @@ -26,12 +26,12 @@ language you like, but you need to submit the source code with which you generated the LLVM-IR files, otherwise a mark of 0\% will be awarded. You are asked to submit the code of your compiler, but also -the generated \texttt{.ll} files. You should use the lexer and parser -from the previous courseworks, but you need to make some modifications -to them for the `typed' fun-language. I will award up to 5\% if a -lexer and a parser are correctly implemented. At the end, please -package everything(!) in a zip-file that creates a directory with the -name +the generated \texttt{.ll} files. No PDF is needed for this +coursework. You should use the lexer and parser from the previous +courseworks, but you need to make some modifications to them for the +`typed' version of the Fun-language. I will award up to 5\% if a lexer +and a parser are correctly implemented. At the end, please package +everything(!) in a zip-file that creates a directory with the name \begin{center} \texttt{YournameYourFamilyname} @@ -62,7 +62,7 @@ \subsection*{Task} -The main goal is to lex and parse 5 Fun-programs, including the +The goal is to lex and parse 5 Fun-programs, including the Mandelbrot program shown in Figure~\ref{mand}, and generate corresponding code for the LLVM-IR. Unfortunately the calculations for the Mandelbrot Set require floating point arithmetic and therefore we @@ -81,7 +81,7 @@ \end{lstlisting} \noindent -where you want to assume that they are `normal' identifiers, just +where you can assume that they are `normal' identifiers, just starting with a capital letter---all other identifiers should have lower-case letters. Function definitions can take arguments of type \texttt{Int} or \texttt{Double}, and need to specify a return @@ -142,7 +142,7 @@ \end{figure} Also note that the second version of the Mandelbrot program and also -the Tower of Hanoi program uses character constants, like \texttt{'a'}, +the Tower of Hanoi program use character constants, like \texttt{'a'}, \texttt{'1'}, \texttt{'$\backslash$n'} and so on. When they are tokenised, such characters should be interpreted as the corresponding ASCII code (an integer), such that we can use them in calculations like \texttt{'a' + 10}